[SRU][Quantal][PATCH 0/1] net: fix secpath kmemleak
Colin King
colin.king at canonical.com
Wed Nov 14 11:14:07 UTC 2012
From: Colin Ian King <colin.king at canonical.com>
BugLink: https://bugs.launchpad.net/bugs/1065434
== SRU Justification ==
Copying a fairly large amount of data over the network inside a container
and then exiting the container can trigger a missing decrement in the per
cpu reference count on a network device. The result is the kernel error
message:
unregister_netdevice: waiting for lo to become free. Usage count = 1
..and the next time lxc-start is started it just hangs.
== Fix ==
The following upstream commit 3d861f661006606bf159fd6bd973e8 fixes
this issue by releasing all possible references to linked objects.
== Impact ==
Users copying large amounts of data over the network inside a
container can trigger this bug and cannot exit the container and
restart it.
== Test Case ==
To trigger the bug:
On the host:
1. sudo lxc-create -n test01 -t ubuntu -- -a amd64 -r quantal
2. sudo lxc-start -n test01
3. Login with ubuntu/ubuntu
Inside the container:
4. Copy an amount of data from the network (scp from your local network or wget below)
4.1 sudo apt-get update && sudo apt-get -y install wget
4.2 wget cdimage.ubuntu.com/daily-live/current/quantal-desktop-amd64.iso
5. Download more than 250MB and press CTRL+C
6. sudo poweroff
On the host:
After a few seconds one will see the kernel warning appear:
unregister_netdevice: waiting for lo to become free. Usage count = 1
7. sudo lxc-start -n test01
..and this will hang.
With the fix, the error message will not occur and step 7 will not hang. One
can run lxc-start and then exit the container multiple times without it hanging.
Eric Dumazet (1):
net: fix secpath kmemleak
net/core/skbuff.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--
1.7.9.5
More information about the kernel-team
mailing list