<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net, branch v3.4.69</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.69</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.69'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-11-13T03:01:48+00:00</updated>
<entry>
<title>mac80211: update sta-&gt;last_rx on acked tx frames</title>
<updated>2013-11-13T03:01:48+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2013-09-29T19:39:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=48cca8f206801410760e7dc5abaa361c3fdba10a'/>
<id>urn:sha1:48cca8f206801410760e7dc5abaa361c3fdba10a</id>
<content type='text'>
commit 0c5b93290b2f3c7a376567c03ae8d385b0e99851 upstream.

When clients are idle for too long, hostapd sends nullfunc frames for
probing. When those are acked by the client, the idle time needs to be
updated.

To make this work (and to avoid unnecessary probing), update sta-&gt;last_rx
whenever an ACK was received for a tx packet. Only do this if the flag
IEEE80211_HW_REPORTS_TX_ACK_STATUS is set.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: correctly close cancelled scans</title>
<updated>2013-11-13T03:01:48+00:00</updated>
<author>
<name>Emmanuel Grumbach</name>
<email>emmanuel.grumbach@intel.com</email>
</author>
<published>2013-09-16T08:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b9ef1eea8bc243c4435c85ea5a30c647ea19995a'/>
<id>urn:sha1:b9ef1eea8bc243c4435c85ea5a30c647ea19995a</id>
<content type='text'>
commit a754055a1296fcbe6f32de3a5eaca6efb2fd1865 upstream.

__ieee80211_scan_completed is called from a worker. This
means that the following flow is possible.

 * driver calls ieee80211_scan_completed
 * mac80211 cancels the scan (that is already complete)
 * __ieee80211_scan_completed runs

When scan_work will finally run, it will see that the scan
hasn't been aborted and might even trigger another scan on
another band. This leads to a situation where cfg80211's
scan is not done and no further scan can be issued.

Fix this by setting a new flag when a HW scan is being
cancelled so that no other scan will be triggered.

Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>wireless: radiotap: fix parsing buffer overrun</title>
<updated>2013-11-04T12:23:42+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2013-10-11T12:47:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5b81d479d6b12a0c44e261de0e454ed740c7f81d'/>
<id>urn:sha1:5b81d479d6b12a0c44e261de0e454ed740c7f81d</id>
<content type='text'>
commit f5563318ff1bde15b10e736e97ffce13be08bc1a upstream.

When parsing an invalid radiotap header, the parser can overrun
the buffer that is passed in because it doesn't correctly check
 1) the minimum radiotap header size
 2) the space for extended bitmaps

The first issue doesn't affect any in-kernel user as they all
check the minimum size before calling the radiotap function.
The second issue could potentially affect the kernel if an skb
is passed in that consists only of the radiotap header with a
lot of extended bitmaps that extend past the SKB. In that case
a read-only buffer overrun by at most 4 bytes is possible.

Fix this by adding the appropriate checks to the parser.

Reported-by: Evan Huus &lt;eapache@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>inet: fix possible memory corruption with UDP_CORK and UFO</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2013-10-21T22:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=478e9a72b5e0cc9ecd8b787db90dec01d283123c'/>
<id>urn:sha1:478e9a72b5e0cc9ecd8b787db90dec01d283123c</id>
<content type='text'>
[ This is a simplified -stable version of a set of upstream commits. ]

This is a replacement patch only for stable which does fix the problems
handled by the following two commits in -net:

"ip_output: do skb ufo init for peeked non ufo skb as well" (e93b7d748be887cd7639b113ba7d7ef792a7efb9)
"ip6_output: do skb ufo init for peeked non ufo skb as well" (c547dbf55d5f8cf615ccc0e7265e98db27d3fb8b)

Three frames are written on a corked udp socket for which the output
netdevice has UFO enabled.  If the first and third frame are smaller than
the mtu and the second one is bigger, we enqueue the second frame with
skb_append_datato_frags without initializing the gso fields. This leads
to the third frame appended regulary and thus constructing an invalid skb.

This fixes the problem by always using skb_append_datato_frags as soon
as the first frag got enqueued to the skb without marking the packet
as SKB_GSO_UDP.

The problem with only two frames for ipv6 was fixed by "ipv6: udp
packets following an UFO enqueued packet need also be handled by UFO"
(2811ebac2521ceac84f2bdae402455baa6a7fb47).

Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: unix: inherit SOCK_PASS{CRED, SEC} flags from socket to fix race</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Daniel Borkmann</name>
<email>dborkman@redhat.com</email>
</author>
<published>2013-10-17T20:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4dde1cb060276e93a2ed22e4a167fc260a9d8c23'/>
<id>urn:sha1:4dde1cb060276e93a2ed22e4a167fc260a9d8c23</id>
<content type='text'>
[ Upstream commit 90c6bd34f884cd9cee21f1d152baf6c18bcac949 ]

In the case of credentials passing in unix stream sockets (dgram
sockets seem not affected), we get a rather sparse race after
commit 16e5726 ("af_unix: dont send SCM_CREDENTIALS by default").

We have a stream server on receiver side that requests credential
passing from senders (e.g. nc -U). Since we need to set SO_PASSCRED
on each spawned/accepted socket on server side to 1 first (as it's
not inherited), it can happen that in the time between accept() and
setsockopt() we get interrupted, the sender is being scheduled and
continues with passing data to our receiver. At that time SO_PASSCRED
is neither set on sender nor receiver side, hence in cmsg's
SCM_CREDENTIALS we get eventually pid:0, uid:65534, gid:65534
(== overflow{u,g}id) instead of what we actually would like to see.

On the sender side, here nc -U, the tests in maybe_add_creds()
invoked through unix_stream_sendmsg() would fail, as at that exact
time, as mentioned, the sender has neither SO_PASSCRED on his side
nor sees it on the server side, and we have a valid 'other' socket
in place. Thus, sender believes it would just look like a normal
connection, not needing/requesting SO_PASSCRED at that time.

As reverting 16e5726 would not be an option due to the significant
performance regression reported when having creds always passed,
one way/trade-off to prevent that would be to set SO_PASSCRED on
the listener socket and allow inheriting these flags to the spawned
socket on server side in accept(). It seems also logical to do so
if we'd tell the listener socket to pass those flags onwards, and
would fix the race.

Before, strace:

recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"blub\n", 4096}],
        msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET,
        cmsg_type=SCM_CREDENTIALS{pid=0, uid=65534, gid=65534}},
        msg_flags=0}, 0) = 5

After, strace:

recvmsg(4, {msg_name(0)=NULL, msg_iov(1)=[{"blub\n", 4096}],
        msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET,
        cmsg_type=SCM_CREDENTIALS{pid=11580, uid=1000, gid=1000}},
        msg_flags=0}, 0) = 5

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sctp: Perform software checksum if packet has to be fragmented.</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Vlad Yasevich</name>
<email>vyasevich@gmail.com</email>
</author>
<published>2013-10-16T02:01:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f3ce845cfe494296db847559b521706802f6eae0'/>
<id>urn:sha1:f3ce845cfe494296db847559b521706802f6eae0</id>
<content type='text'>
[ Upstream commit d2dbbba77e95dff4b4f901fee236fef6d9552072 ]

IP/IPv6 fragmentation knows how to compute only TCP/UDP checksum.
This causes problems if SCTP packets has to be fragmented and
ipsummed has been set to PARTIAL due to checksum offload support.
This condition can happen when retransmitting after MTU discover,
or when INIT or other control chunks are larger then MTU.
Check for the rare fragmentation condition in SCTP and use software
checksum calculation in this case.

CC: Fan Du &lt;fan.du@windriver.com&gt;
Signed-off-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sctp: Use software crc32 checksum when xfrm transform will happen.</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Fan Du</name>
<email>fan.du@windriver.com</email>
</author>
<published>2013-10-16T02:01:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=80d20e7b6c4e467e16f7520df1abb461063720a0'/>
<id>urn:sha1:80d20e7b6c4e467e16f7520df1abb461063720a0</id>
<content type='text'>
[ Upstream commit 27127a82561a2a3ed955ce207048e1b066a80a2a ]

igb/ixgbe have hardware sctp checksum support, when this feature is enabled
and also IPsec is armed to protect sctp traffic, ugly things happened as
xfrm_output checks CHECKSUM_PARTIAL to do checksum operation(sum every thing
up and pack the 16bits result in the checksum field). The result is fail
establishment of sctp communication.

Signed-off-by: Fan Du &lt;fan.du@windriver.com&gt;
Cc: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Cc: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>unix_diag: fix info leak</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Mathias Krause</name>
<email>minipli@googlemail.com</email>
</author>
<published>2013-09-30T20:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f4358dfd80518a11e4386a15750ad2601d0cf539'/>
<id>urn:sha1:f4358dfd80518a11e4386a15750ad2601d0cf539</id>
<content type='text'>
[ Upstream commit 6865d1e834be84ddd5808d93d5035b492346c64a ]

When filling the netlink message we miss to wipe the pad field,
therefore leak one byte of heap memory to userland. Fix this by
setting pad to 0.

Signed-off-by: Mathias Krause &lt;minipli@googlemail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>l2tp: must disable bh before calling l2tp_xmit_skb()</title>
<updated>2013-11-04T12:23:41+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-10-10T13:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=120bc4f8543d6928337054fa15a23fda3cd63fe7'/>
<id>urn:sha1:120bc4f8543d6928337054fa15a23fda3cd63fe7</id>
<content type='text'>
[ Upstream commit 455cc32bf128e114455d11ad919321ab89a2c312 ]

François Cachereul made a very nice bug report and suspected
the bh_lock_sock() / bh_unlok_sock() pair used in l2tp_xmit_skb() from
process context was not good.

This problem was added by commit 6af88da14ee284aaad6e4326da09a89191ab6165
("l2tp: Fix locking in l2tp_core.c").

l2tp_eth_dev_xmit() runs from BH context, so we must disable BH
from other l2tp_xmit_skb() users.

[  452.060011] BUG: soft lockup - CPU#1 stuck for 23s! [accel-pppd:6662]
[  452.061757] Modules linked in: l2tp_ppp l2tp_netlink l2tp_core pppoe pppox
ppp_generic slhc ipv6 ext3 mbcache jbd virtio_balloon xfs exportfs dm_mod
virtio_blk ata_generic virtio_net floppy ata_piix libata virtio_pci virtio_ring virtio [last unloaded: scsi_wait_scan]
[  452.064012] CPU 1
[  452.080015] BUG: soft lockup - CPU#2 stuck for 23s! [accel-pppd:6643]
[  452.080015] CPU 2
[  452.080015]
[  452.080015] Pid: 6643, comm: accel-pppd Not tainted 3.2.46.mini #1 Bochs Bochs
[  452.080015] RIP: 0010:[&lt;ffffffff81059f6c&gt;]  [&lt;ffffffff81059f6c&gt;] do_raw_spin_lock+0x17/0x1f
[  452.080015] RSP: 0018:ffff88007125fc18  EFLAGS: 00000293
[  452.080015] RAX: 000000000000aba9 RBX: ffffffff811d0703 RCX: 0000000000000000
[  452.080015] RDX: 00000000000000ab RSI: ffff8800711f6896 RDI: ffff8800745c8110
[  452.080015] RBP: ffff88007125fc18 R08: 0000000000000020 R09: 0000000000000000
[  452.080015] R10: 0000000000000000 R11: 0000000000000280 R12: 0000000000000286
[  452.080015] R13: 0000000000000020 R14: 0000000000000240 R15: 0000000000000000
[  452.080015] FS:  00007fdc0cc24700(0000) GS:ffff8800b6f00000(0000) knlGS:0000000000000000
[  452.080015] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  452.080015] CR2: 00007fdb054899b8 CR3: 0000000074404000 CR4: 00000000000006a0
[  452.080015] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  452.080015] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  452.080015] Process accel-pppd (pid: 6643, threadinfo ffff88007125e000, task ffff8800b27e6dd0)
[  452.080015] Stack:
[  452.080015]  ffff88007125fc28 ffffffff81256559 ffff88007125fc98 ffffffffa01b2bd1
[  452.080015]  ffff88007125fc58 000000000000000c 00000000029490d0 0000009c71dbe25e
[  452.080015]  000000000000005c 000000080000000e 0000000000000000 ffff880071170600
[  452.080015] Call Trace:
[  452.080015]  [&lt;ffffffff81256559&gt;] _raw_spin_lock+0xe/0x10
[  452.080015]  [&lt;ffffffffa01b2bd1&gt;] l2tp_xmit_skb+0x189/0x4ac [l2tp_core]
[  452.080015]  [&lt;ffffffffa01c2d36&gt;] pppol2tp_sendmsg+0x15e/0x19c [l2tp_ppp]
[  452.080015]  [&lt;ffffffff811c7872&gt;] __sock_sendmsg_nosec+0x22/0x24
[  452.080015]  [&lt;ffffffff811c83bd&gt;] sock_sendmsg+0xa1/0xb6
[  452.080015]  [&lt;ffffffff81254e88&gt;] ? __schedule+0x5c1/0x616
[  452.080015]  [&lt;ffffffff8103c7c6&gt;] ? __dequeue_signal+0xb7/0x10c
[  452.080015]  [&lt;ffffffff810bbd21&gt;] ? fget_light+0x75/0x89
[  452.080015]  [&lt;ffffffff811c8444&gt;] ? sockfd_lookup_light+0x20/0x56
[  452.080015]  [&lt;ffffffff811c9b34&gt;] sys_sendto+0x10c/0x13b
[  452.080015]  [&lt;ffffffff8125cac2&gt;] system_call_fastpath+0x16/0x1b
[  452.080015] Code: 81 48 89 e5 72 0c 31 c0 48 81 ff 45 66 25 81 0f 92 c0 5d c3 55 b8 00 01 00 00 48 89 e5 f0 66 0f c1 07 0f b6 d4 38 d0 74 06 f3 90 &lt;8a&gt; 07 eb f6 5d c3 90 90 55 48 89 e5 9c 58 0f 1f 44 00 00 5d c3
[  452.080015] Call Trace:
[  452.080015]  [&lt;ffffffff81256559&gt;] _raw_spin_lock+0xe/0x10
[  452.080015]  [&lt;ffffffffa01b2bd1&gt;] l2tp_xmit_skb+0x189/0x4ac [l2tp_core]
[  452.080015]  [&lt;ffffffffa01c2d36&gt;] pppol2tp_sendmsg+0x15e/0x19c [l2tp_ppp]
[  452.080015]  [&lt;ffffffff811c7872&gt;] __sock_sendmsg_nosec+0x22/0x24
[  452.080015]  [&lt;ffffffff811c83bd&gt;] sock_sendmsg+0xa1/0xb6
[  452.080015]  [&lt;ffffffff81254e88&gt;] ? __schedule+0x5c1/0x616
[  452.080015]  [&lt;ffffffff8103c7c6&gt;] ? __dequeue_signal+0xb7/0x10c
[  452.080015]  [&lt;ffffffff810bbd21&gt;] ? fget_light+0x75/0x89
[  452.080015]  [&lt;ffffffff811c8444&gt;] ? sockfd_lookup_light+0x20/0x56
[  452.080015]  [&lt;ffffffff811c9b34&gt;] sys_sendto+0x10c/0x13b
[  452.080015]  [&lt;ffffffff8125cac2&gt;] system_call_fastpath+0x16/0x1b
[  452.064012]
[  452.064012] Pid: 6662, comm: accel-pppd Not tainted 3.2.46.mini #1 Bochs Bochs
[  452.064012] RIP: 0010:[&lt;ffffffff81059f6e&gt;]  [&lt;ffffffff81059f6e&gt;] do_raw_spin_lock+0x19/0x1f
[  452.064012] RSP: 0018:ffff8800b6e83ba0  EFLAGS: 00000297
[  452.064012] RAX: 000000000000aaa9 RBX: ffff8800b6e83b40 RCX: 0000000000000002
[  452.064012] RDX: 00000000000000aa RSI: 000000000000000a RDI: ffff8800745c8110
[  452.064012] RBP: ffff8800b6e83ba0 R08: 000000000000c802 R09: 000000000000001c
[  452.064012] R10: ffff880071096c4e R11: 0000000000000006 R12: ffff8800b6e83b18
[  452.064012] R13: ffffffff8125d51e R14: ffff8800b6e83ba0 R15: ffff880072a589c0
[  452.064012] FS:  00007fdc0b81e700(0000) GS:ffff8800b6e80000(0000) knlGS:0000000000000000
[  452.064012] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  452.064012] CR2: 0000000000625208 CR3: 0000000074404000 CR4: 00000000000006a0
[  452.064012] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  452.064012] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  452.064012] Process accel-pppd (pid: 6662, threadinfo ffff88007129a000, task ffff8800744f7410)
[  452.064012] Stack:
[  452.064012]  ffff8800b6e83bb0 ffffffff81256559 ffff8800b6e83bc0 ffffffff8121c64a
[  452.064012]  ffff8800b6e83bf0 ffffffff8121ec7a ffff880072a589c0 ffff880071096c62
[  452.064012]  0000000000000011 ffffffff81430024 ffff8800b6e83c80 ffffffff8121f276
[  452.064012] Call Trace:
[  452.064012]  &lt;IRQ&gt;
[  452.064012]  [&lt;ffffffff81256559&gt;] _raw_spin_lock+0xe/0x10
[  452.064012]  [&lt;ffffffff8121c64a&gt;] spin_lock+0x9/0xb
[  452.064012]  [&lt;ffffffff8121ec7a&gt;] udp_queue_rcv_skb+0x186/0x269
[  452.064012]  [&lt;ffffffff8121f276&gt;] __udp4_lib_rcv+0x297/0x4ae
[  452.064012]  [&lt;ffffffff8121c178&gt;] ? raw_rcv+0xe9/0xf0
[  452.064012]  [&lt;ffffffff8121f4a7&gt;] udp_rcv+0x1a/0x1c
[  452.064012]  [&lt;ffffffff811fe385&gt;] ip_local_deliver_finish+0x12b/0x1a5
[  452.064012]  [&lt;ffffffff811fe54e&gt;] ip_local_deliver+0x53/0x84
[  452.064012]  [&lt;ffffffff811fe1d0&gt;] ip_rcv_finish+0x2bc/0x2f3
[  452.064012]  [&lt;ffffffff811fe78f&gt;] ip_rcv+0x210/0x269
[  452.064012]  [&lt;ffffffff8101911e&gt;] ? kvm_clock_get_cycles+0x9/0xb
[  452.064012]  [&lt;ffffffff811d88cd&gt;] __netif_receive_skb+0x3a5/0x3f7
[  452.064012]  [&lt;ffffffff811d8eba&gt;] netif_receive_skb+0x57/0x5e
[  452.064012]  [&lt;ffffffff811cf30f&gt;] ? __netdev_alloc_skb+0x1f/0x3b
[  452.064012]  [&lt;ffffffffa0049126&gt;] virtnet_poll+0x4ba/0x5a4 [virtio_net]
[  452.064012]  [&lt;ffffffff811d9417&gt;] net_rx_action+0x73/0x184
[  452.064012]  [&lt;ffffffffa01b2cc2&gt;] ? l2tp_xmit_skb+0x27a/0x4ac [l2tp_core]
[  452.064012]  [&lt;ffffffff810343b9&gt;] __do_softirq+0xc3/0x1a8
[  452.064012]  [&lt;ffffffff81013b56&gt;] ? ack_APIC_irq+0x10/0x12
[  452.064012]  [&lt;ffffffff81256559&gt;] ? _raw_spin_lock+0xe/0x10
[  452.064012]  [&lt;ffffffff8125e0ac&gt;] call_softirq+0x1c/0x26
[  452.064012]  [&lt;ffffffff81003587&gt;] do_softirq+0x45/0x82
[  452.064012]  [&lt;ffffffff81034667&gt;] irq_exit+0x42/0x9c
[  452.064012]  [&lt;ffffffff8125e146&gt;] do_IRQ+0x8e/0xa5
[  452.064012]  [&lt;ffffffff8125676e&gt;] common_interrupt+0x6e/0x6e
[  452.064012]  &lt;EOI&gt;
[  452.064012]  [&lt;ffffffff810b82a1&gt;] ? kfree+0x8a/0xa3
[  452.064012]  [&lt;ffffffffa01b2cc2&gt;] ? l2tp_xmit_skb+0x27a/0x4ac [l2tp_core]
[  452.064012]  [&lt;ffffffffa01b2c25&gt;] ? l2tp_xmit_skb+0x1dd/0x4ac [l2tp_core]
[  452.064012]  [&lt;ffffffffa01c2d36&gt;] pppol2tp_sendmsg+0x15e/0x19c [l2tp_ppp]
[  452.064012]  [&lt;ffffffff811c7872&gt;] __sock_sendmsg_nosec+0x22/0x24
[  452.064012]  [&lt;ffffffff811c83bd&gt;] sock_sendmsg+0xa1/0xb6
[  452.064012]  [&lt;ffffffff81254e88&gt;] ? __schedule+0x5c1/0x616
[  452.064012]  [&lt;ffffffff8103c7c6&gt;] ? __dequeue_signal+0xb7/0x10c
[  452.064012]  [&lt;ffffffff810bbd21&gt;] ? fget_light+0x75/0x89
[  452.064012]  [&lt;ffffffff811c8444&gt;] ? sockfd_lookup_light+0x20/0x56
[  452.064012]  [&lt;ffffffff811c9b34&gt;] sys_sendto+0x10c/0x13b
[  452.064012]  [&lt;ffffffff8125cac2&gt;] system_call_fastpath+0x16/0x1b
[  452.064012] Code: 89 e5 72 0c 31 c0 48 81 ff 45 66 25 81 0f 92 c0 5d c3 55 b8 00 01 00 00 48 89 e5 f0 66 0f c1 07 0f b6 d4 38 d0 74 06 f3 90 8a 07 &lt;eb&gt; f6 5d c3 90 90 55 48 89 e5 9c 58 0f 1f 44 00 00 5d c3 55 48
[  452.064012] Call Trace:
[  452.064012]  &lt;IRQ&gt;  [&lt;ffffffff81256559&gt;] _raw_spin_lock+0xe/0x10
[  452.064012]  [&lt;ffffffff8121c64a&gt;] spin_lock+0x9/0xb
[  452.064012]  [&lt;ffffffff8121ec7a&gt;] udp_queue_rcv_skb+0x186/0x269
[  452.064012]  [&lt;ffffffff8121f276&gt;] __udp4_lib_rcv+0x297/0x4ae
[  452.064012]  [&lt;ffffffff8121c178&gt;] ? raw_rcv+0xe9/0xf0
[  452.064012]  [&lt;ffffffff8121f4a7&gt;] udp_rcv+0x1a/0x1c
[  452.064012]  [&lt;ffffffff811fe385&gt;] ip_local_deliver_finish+0x12b/0x1a5
[  452.064012]  [&lt;ffffffff811fe54e&gt;] ip_local_deliver+0x53/0x84
[  452.064012]  [&lt;ffffffff811fe1d0&gt;] ip_rcv_finish+0x2bc/0x2f3
[  452.064012]  [&lt;ffffffff811fe78f&gt;] ip_rcv+0x210/0x269
[  452.064012]  [&lt;ffffffff8101911e&gt;] ? kvm_clock_get_cycles+0x9/0xb
[  452.064012]  [&lt;ffffffff811d88cd&gt;] __netif_receive_skb+0x3a5/0x3f7
[  452.064012]  [&lt;ffffffff811d8eba&gt;] netif_receive_skb+0x57/0x5e
[  452.064012]  [&lt;ffffffff811cf30f&gt;] ? __netdev_alloc_skb+0x1f/0x3b
[  452.064012]  [&lt;ffffffffa0049126&gt;] virtnet_poll+0x4ba/0x5a4 [virtio_net]
[  452.064012]  [&lt;ffffffff811d9417&gt;] net_rx_action+0x73/0x184
[  452.064012]  [&lt;ffffffffa01b2cc2&gt;] ? l2tp_xmit_skb+0x27a/0x4ac [l2tp_core]
[  452.064012]  [&lt;ffffffff810343b9&gt;] __do_softirq+0xc3/0x1a8
[  452.064012]  [&lt;ffffffff81013b56&gt;] ? ack_APIC_irq+0x10/0x12
[  452.064012]  [&lt;ffffffff81256559&gt;] ? _raw_spin_lock+0xe/0x10
[  452.064012]  [&lt;ffffffff8125e0ac&gt;] call_softirq+0x1c/0x26
[  452.064012]  [&lt;ffffffff81003587&gt;] do_softirq+0x45/0x82
[  452.064012]  [&lt;ffffffff81034667&gt;] irq_exit+0x42/0x9c
[  452.064012]  [&lt;ffffffff8125e146&gt;] do_IRQ+0x8e/0xa5
[  452.064012]  [&lt;ffffffff8125676e&gt;] common_interrupt+0x6e/0x6e
[  452.064012]  &lt;EOI&gt;  [&lt;ffffffff810b82a1&gt;] ? kfree+0x8a/0xa3
[  452.064012]  [&lt;ffffffffa01b2cc2&gt;] ? l2tp_xmit_skb+0x27a/0x4ac [l2tp_core]
[  452.064012]  [&lt;ffffffffa01b2c25&gt;] ? l2tp_xmit_skb+0x1dd/0x4ac [l2tp_core]
[  452.064012]  [&lt;ffffffffa01c2d36&gt;] pppol2tp_sendmsg+0x15e/0x19c [l2tp_ppp]
[  452.064012]  [&lt;ffffffff811c7872&gt;] __sock_sendmsg_nosec+0x22/0x24
[  452.064012]  [&lt;ffffffff811c83bd&gt;] sock_sendmsg+0xa1/0xb6
[  452.064012]  [&lt;ffffffff81254e88&gt;] ? __schedule+0x5c1/0x616
[  452.064012]  [&lt;ffffffff8103c7c6&gt;] ? __dequeue_signal+0xb7/0x10c
[  452.064012]  [&lt;ffffffff810bbd21&gt;] ? fget_light+0x75/0x89
[  452.064012]  [&lt;ffffffff811c8444&gt;] ? sockfd_lookup_light+0x20/0x56
[  452.064012]  [&lt;ffffffff811c9b34&gt;] sys_sendto+0x10c/0x13b
[  452.064012]  [&lt;ffffffff8125cac2&gt;] system_call_fastpath+0x16/0x1b

Reported-by: François Cachereul &lt;f.cachereul@alphalink.fr&gt;
Tested-by: François Cachereul &lt;f.cachereul@alphalink.fr&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: James Chapman &lt;jchapman@katalix.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: vlan: fix nlmsg size calculation in vlan_get_size()</title>
<updated>2013-11-04T12:23:40+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2013-10-07T21:19:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5468ba5515e2720cfe19d0c35d481cb4cb97a8aa'/>
<id>urn:sha1:5468ba5515e2720cfe19d0c35d481cb4cb97a8aa</id>
<content type='text'>
[ Upstream commit c33a39c575068c2ea9bffb22fd6de2df19c74b89 ]

This patch fixes the calculation of the nlmsg size, by adding the missing
nla_total_size().

Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
