<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/net/core, branch linux-2.6.34.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-2.6.34.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-2.6.34.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2014-02-10T21:10:59Z</updated>
<entry>
<title>drop_monitor: dont sleep in atomic context</title>
<updated>2014-02-10T21:10:59Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2012-06-04T00:18:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=19c389a4254b2e0194a5430c8889acc0ef479386'/>
<id>urn:sha1:19c389a4254b2e0194a5430c8889acc0ef479386</id>
<content type='text'>
commit bec4596b4e6770c7037f21f6bd27567b152dc0d6 upstream.

drop_monitor calls several sleeping functions while in atomic context.

 BUG: sleeping function called from invalid context at mm/slub.c:943
 in_atomic(): 1, irqs_disabled(): 0, pid: 2103, name: kworker/0:2
 Pid: 2103, comm: kworker/0:2 Not tainted 3.5.0-rc1+ #55
 Call Trace:
  [&lt;ffffffff810697ca&gt;] __might_sleep+0xca/0xf0
  [&lt;ffffffff811345a3&gt;] kmem_cache_alloc_node+0x1b3/0x1c0
  [&lt;ffffffff8105578c&gt;] ? queue_delayed_work_on+0x11c/0x130
  [&lt;ffffffff815343fb&gt;] __alloc_skb+0x4b/0x230
  [&lt;ffffffffa00b0360&gt;] ? reset_per_cpu_data+0x160/0x160 [drop_monitor]
  [&lt;ffffffffa00b022f&gt;] reset_per_cpu_data+0x2f/0x160 [drop_monitor]
  [&lt;ffffffffa00b03ab&gt;] send_dm_alert+0x4b/0xb0 [drop_monitor]
  [&lt;ffffffff810568e0&gt;] process_one_work+0x130/0x4c0
  [&lt;ffffffff81058249&gt;] worker_thread+0x159/0x360
  [&lt;ffffffff810580f0&gt;] ? manage_workers.isra.27+0x240/0x240
  [&lt;ffffffff8105d403&gt;] kthread+0x93/0xa0
  [&lt;ffffffff816be6d4&gt;] kernel_thread_helper+0x4/0x10
  [&lt;ffffffff8105d370&gt;] ? kthread_freezable_should_stop+0x80/0x80
  [&lt;ffffffff816be6d0&gt;] ? gs_change+0xb/0xb

Rework the logic to call the sleeping functions in right context.

Use standard timer/workqueue api to let system chose any cpu to perform
the allocation and netlink send.

Also avoid a loop if reset_per_cpu_data() cannot allocate memory :
use mod_timer() to wait 1/10 second before next try.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reviewed-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
[PG: diffstat here is less by one line due to blank line removal]
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>drop_monitor: prevent init path from scheduling on the wrong cpu</title>
<updated>2014-02-10T21:10:59Z</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2012-05-01T08:18:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=01913e6800f49e6d6204761edaf473fa8db1ebca'/>
<id>urn:sha1:01913e6800f49e6d6204761edaf473fa8db1ebca</id>
<content type='text'>
commit 4fdcfa12843bca38d0c9deff70c8720e4e8f515f upstream.

I just noticed after some recent updates, that the init path for the drop
monitor protocol has a minor error.  drop monitor maintains a per cpu structure,
that gets initalized from a single cpu.  Normally this is fine, as the protocol
isn't in use yet, but I recently made a change that causes a failed skb
allocation to reschedule itself .  Given the current code, the implication is
that this workqueue reschedule will take place on the wrong cpu.  If drop
monitor is used early during the boot process, its possible that two cpus will
access a single per-cpu structure in parallel, possibly leading to data
corruption.

This patch fixes the situation, by storing the cpu number that a given instance
of this per-cpu data should be accessed from.  In the case of a need for a
reschedule, the cpu stored in the struct is assigned the rescheule, rather than
the currently executing cpu

Tested successfully by myself.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
CC: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>drop_monitor: Make updating data-&gt;skb smp safe</title>
<updated>2014-02-10T21:10:58Z</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2012-04-27T10:11:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ae41105eb938740268be8a6fc355aa74090780b5'/>
<id>urn:sha1:ae41105eb938740268be8a6fc355aa74090780b5</id>
<content type='text'>
commit 3885ca785a3618593226687ced84f3f336dc3860 upstream.

Eric Dumazet pointed out to me that the drop_monitor protocol has some holes in
its smp protections.  Specifically, its possible to replace data-&gt;skb while its
being written.  This patch corrects that by making data-&gt;skb an rcu protected
variable.  That will prevent it from being overwritten while a tracepoint is
modifying it.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: David Miller &lt;davem@davemloft.net&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
[PG: The "__rcu" sparse addition is only present in 2.6.37+ kernels.]
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>drop_monitor: fix sleeping in invalid context warning</title>
<updated>2014-02-10T21:10:58Z</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2012-04-27T10:11:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b350f3ad5b483c943c3f0fa5ac62e530ea3dbc01'/>
<id>urn:sha1:b350f3ad5b483c943c3f0fa5ac62e530ea3dbc01</id>
<content type='text'>
commit cde2e9a651b76d8db36ae94cd0febc82b637e5dd upstream.

Eric Dumazet pointed out this warning in the drop_monitor protocol to me:

[   38.352571] BUG: sleeping function called from invalid context at kernel/mutex.c:85
[   38.352576] in_atomic(): 1, irqs_disabled(): 0, pid: 4415, name: dropwatch
[   38.352580] Pid: 4415, comm: dropwatch Not tainted 3.4.0-rc2+ #71
[   38.352582] Call Trace:
[   38.352592]  [&lt;ffffffff8153aaf0&gt;] ? trace_napi_poll_hit+0xd0/0xd0
[   38.352599]  [&lt;ffffffff81063f2a&gt;] __might_sleep+0xca/0xf0
[   38.352606]  [&lt;ffffffff81655b16&gt;] mutex_lock+0x26/0x50
[   38.352610]  [&lt;ffffffff8153aaf0&gt;] ? trace_napi_poll_hit+0xd0/0xd0
[   38.352616]  [&lt;ffffffff810b72d9&gt;] tracepoint_probe_register+0x29/0x90
[   38.352621]  [&lt;ffffffff8153a585&gt;] set_all_monitor_traces+0x105/0x170
[   38.352625]  [&lt;ffffffff8153a8ca&gt;] net_dm_cmd_trace+0x2a/0x40
[   38.352630]  [&lt;ffffffff8154a81a&gt;] genl_rcv_msg+0x21a/0x2b0
[   38.352636]  [&lt;ffffffff810f8029&gt;] ? zone_statistics+0x99/0xc0
[   38.352640]  [&lt;ffffffff8154a600&gt;] ? genl_rcv+0x30/0x30
[   38.352645]  [&lt;ffffffff8154a059&gt;] netlink_rcv_skb+0xa9/0xd0
[   38.352649]  [&lt;ffffffff8154a5f0&gt;] genl_rcv+0x20/0x30
[   38.352653]  [&lt;ffffffff81549a7e&gt;] netlink_unicast+0x1ae/0x1f0
[   38.352658]  [&lt;ffffffff81549d76&gt;] netlink_sendmsg+0x2b6/0x310
[   38.352663]  [&lt;ffffffff8150824f&gt;] sock_sendmsg+0x10f/0x130
[   38.352668]  [&lt;ffffffff8150abe0&gt;] ? move_addr_to_kernel+0x60/0xb0
[   38.352673]  [&lt;ffffffff81515f04&gt;] ? verify_iovec+0x64/0xe0
[   38.352677]  [&lt;ffffffff81509c46&gt;] __sys_sendmsg+0x386/0x390
[   38.352682]  [&lt;ffffffff810ffaf9&gt;] ? handle_mm_fault+0x139/0x210
[   38.352687]  [&lt;ffffffff8165b5bc&gt;] ? do_page_fault+0x1ec/0x4f0
[   38.352693]  [&lt;ffffffff8106ba4d&gt;] ? set_next_entity+0x9d/0xb0
[   38.352699]  [&lt;ffffffff81310b49&gt;] ? tty_ldisc_deref+0x9/0x10
[   38.352703]  [&lt;ffffffff8106d363&gt;] ? pick_next_task_fair+0x63/0x140
[   38.352708]  [&lt;ffffffff8150b8d4&gt;] sys_sendmsg+0x44/0x80
[   38.352713]  [&lt;ffffffff8165f8e2&gt;] system_call_fastpath+0x16/0x1b

It stems from holding a spinlock (trace_state_lock) while attempting to register
or unregister tracepoint hooks, making in_atomic() true in this context, leading
to the warning when the tracepoint calls might_sleep() while its taking a mutex.
Since we only use the trace_state_lock to prevent trace protocol state races, as
well as hardware stat list updates on an rcu write side, we can just convert the
spinlock to a mutex to avoid this problem.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: David Miller &lt;davem@davemloft.net&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>net/core: Fix potential memory leak in dev_set_alias()</title>
<updated>2014-02-10T21:10:57Z</updated>
<author>
<name>Alexey Khoroshilov</name>
<email>khoroshilov@ispras.ru</email>
</author>
<published>2012-08-08T00:33:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=197365095b482ed4f3ffef8d4534b4708b261137'/>
<id>urn:sha1:197365095b482ed4f3ffef8d4534b4708b261137</id>
<content type='text'>
commit 7364e445f62825758fa61195d237a5b8ecdd06ec upstream.

Do not leak memory by updating pointer with potentially NULL realloc return value.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov &lt;khoroshilov@ispras.ru&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>net: reduce net_rx_action() latency to 2 HZ</title>
<updated>2014-02-10T21:10:56Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-03-05T07:15:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=57f8570a279005ca08905f68fa0ca3eeb86213e7'/>
<id>urn:sha1:57f8570a279005ca08905f68fa0ca3eeb86213e7</id>
<content type='text'>
commit d1f41b67ff7735193bc8b418b98ac99a448833e2 upstream.

We should use time_after_eq() to get maximum latency of two ticks,
instead of three.

Bug added in commit 24f8b2385 (net: increase receive packet quantum)

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>net: guard tcp_set_keepalive() to tcp sockets</title>
<updated>2014-02-10T21:10:53Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2012-09-24T07:00:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5b377aafbb0b58c2a87f9fdae44c649aa4d79272'/>
<id>urn:sha1:5b377aafbb0b58c2a87f9fdae44c649aa4d79272</id>
<content type='text'>
commit 3e10986d1d698140747fcfc2761ec9cb64c1d582 upstream.

Its possible to use RAW sockets to get a crash in
tcp_set_keepalive() / sk_reset_timer()

Fix is to make sure socket is a SOCK_STREAM one.

Reported-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>net: Fix ip link add netns oops</title>
<updated>2013-01-16T21:45:08Z</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2011-01-29T14:57:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=67edd8ef996168b7dbbdc00d1ce483b2b76cea5a'/>
<id>urn:sha1:67edd8ef996168b7dbbdc00d1ce483b2b76cea5a</id>
<content type='text'>
commit 13ad17745c2cbd437d9e24b2d97393e0be11c439 upstream.

Ed Swierk &lt;eswierk@bigswitch.com&gt; writes:
&gt; On 2.6.35.7
&gt;  ip link add link eth0 netns 9999 type macvlan
&gt; where 9999 is a nonexistent PID triggers an oops and causes all network functions to hang:
&gt; [10663.821898] BUG: unable to handle kernel NULL pointer dereference at 000000000000006d
&gt;  [10663.821917] IP: [&lt;ffffffff8149c2fa&gt;] __dev_alloc_name+0x9a/0x170
&gt;  [10663.821933] PGD 1d3927067 PUD 22f5c5067 PMD 0
&gt;  [10663.821944] Oops: 0000 [#1] SMP
&gt;  [10663.821953] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
&gt;  [10663.821959] CPU 3
&gt;  [10663.821963] Modules linked in: macvlan ip6table_filter ip6_tables rfcomm ipt_MASQUERADE binfmt_misc iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack sco ipt_REJECT bnep l2cap xt_tcpudp iptable_filter ip_tables x_tables bridge stp vboxnetadp vboxnetflt vboxdrv kvm_intel kvm parport_pc ppdev snd_hda_codec_intelhdmi snd_hda_codec_conexant arc4 iwlagn iwlcore mac80211 snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi i915 snd_seq_midi_event snd_seq thinkpad_acpi drm_kms_helper btusb tpm_tis nvram uvcvideo snd_timer snd_seq_device bluetooth videodev v4l1_compat v4l2_compat_ioctl32 tpm drm tpm_bios snd cfg80211 psmouse serio_raw intel_ips soundcore snd_page_alloc intel_agp i2c_algo_bit video output netconsole configfs lp parport usbhid hid e1000e sdhci_pci ahci libahci sdhci led_class
&gt;  [10663.822155]
&gt;  [10663.822161] Pid: 6000, comm: ip Not tainted 2.6.35-23-generic #41-Ubuntu 2901CTO/2901CTO
&gt;  [10663.822167] RIP: 0010:[&lt;ffffffff8149c2fa&gt;] [&lt;ffffffff8149c2fa&gt;] __dev_alloc_name+0x9a/0x170
&gt;  [10663.822177] RSP: 0018:ffff88014aebf7b8 EFLAGS: 00010286
&gt;  [10663.822182] RAX: 00000000fffffff4 RBX: ffff8801ad900800 RCX: 0000000000000000
&gt;  [10663.822187] RDX: ffff880000000000 RSI: 0000000000000000 RDI: ffff88014ad63000
&gt;  [10663.822191] RBP: ffff88014aebf808 R08: 0000000000000041 R09: 0000000000000041
&gt;  [10663.822196] R10: 0000000000000000 R11: dead000000200200 R12: ffff88014aebf818
&gt;  [10663.822201] R13: fffffffffffffffd R14: ffff88014aebf918 R15: ffff88014ad62000
&gt;  [10663.822207] FS: 00007f00c487f700(0000) GS:ffff880001f80000(0000) knlGS:0000000000000000
&gt;  [10663.822212] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
&gt;  [10663.822216] CR2: 000000000000006d CR3: 0000000231f19000 CR4: 00000000000026e0
&gt;  [10663.822221] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
&gt;  [10663.822226] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
&gt;  [10663.822231] Process ip (pid: 6000, threadinfo ffff88014aebe000, task ffff88014afb16e0)
&gt;  [10663.822236] Stack:
&gt;  [10663.822240] ffff88014aebf808 ffffffff814a2bb5 ffff88014aebf7e8 00000000a00ee8d6
&gt;  [10663.822251] &lt;0&gt; 0000000000000000 ffffffffa00ef940 ffff8801ad900800 ffff88014aebf818
&gt;  [10663.822265] &lt;0&gt; ffff88014aebf918 ffff8801ad900800 ffff88014aebf858 ffffffff8149c413
&gt;  [10663.822281] Call Trace:
&gt;  [10663.822290] [&lt;ffffffff814a2bb5&gt;] ? dev_addr_init+0x75/0xb0
&gt;  [10663.822298] [&lt;ffffffff8149c413&gt;] dev_alloc_name+0x43/0x90
&gt;  [10663.822307] [&lt;ffffffff814a85ee&gt;] rtnl_create_link+0xbe/0x1b0
&gt;  [10663.822314] [&lt;ffffffff814ab2aa&gt;] rtnl_newlink+0x48a/0x570
&gt;  [10663.822321] [&lt;ffffffff814aafcc&gt;] ? rtnl_newlink+0x1ac/0x570
&gt;  [10663.822332] [&lt;ffffffff81030064&gt;] ? native_x2apic_icr_read+0x4/0x20
&gt;  [10663.822339] [&lt;ffffffff814a8c17&gt;] rtnetlink_rcv_msg+0x177/0x290
&gt;  [10663.822346] [&lt;ffffffff814a8aa0&gt;] ? rtnetlink_rcv_msg+0x0/0x290
&gt;  [10663.822354] [&lt;ffffffff814c25d9&gt;] netlink_rcv_skb+0xa9/0xd0
&gt;  [10663.822360] [&lt;ffffffff814a8a85&gt;] rtnetlink_rcv+0x25/0x40
&gt;  [10663.822367] [&lt;ffffffff814c223e&gt;] netlink_unicast+0x2de/0x2f0
&gt;  [10663.822374] [&lt;ffffffff814c303e&gt;] netlink_sendmsg+0x1fe/0x2e0
&gt;  [10663.822383] [&lt;ffffffff81488533&gt;] sock_sendmsg+0xf3/0x120
&gt;  [10663.822391] [&lt;ffffffff815899fe&gt;] ? _raw_spin_lock+0xe/0x20
&gt;  [10663.822400] [&lt;ffffffff81168656&gt;] ? __d_lookup+0x136/0x150
&gt;  [10663.822406] [&lt;ffffffff815899fe&gt;] ? _raw_spin_lock+0xe/0x20
&gt;  [10663.822414] [&lt;ffffffff812b7a0d&gt;] ? _atomic_dec_and_lock+0x4d/0x80
&gt;  [10663.822422] [&lt;ffffffff8116ea90&gt;] ? mntput_no_expire+0x30/0x110
&gt;  [10663.822429] [&lt;ffffffff81486ff5&gt;] ? move_addr_to_kernel+0x65/0x70
&gt;  [10663.822435] [&lt;ffffffff81493308&gt;] ? verify_iovec+0x88/0xe0
&gt;  [10663.822442] [&lt;ffffffff81489020&gt;] sys_sendmsg+0x240/0x3a0
&gt; [10663.822450] [&lt;ffffffff8111e2a9&gt;] ? __do_fault+0x479/0x560
&gt;  [10663.822457] [&lt;ffffffff815899fe&gt;] ? _raw_spin_lock+0xe/0x20
&gt;  [10663.822465] [&lt;ffffffff8116cf4a&gt;] ? alloc_fd+0x10a/0x150
&gt;  [10663.822473] [&lt;ffffffff8158d76e&gt;] ? do_page_fault+0x15e/0x350
&gt;  [10663.822482] [&lt;ffffffff8100a0f2&gt;] system_call_fastpath+0x16/0x1b
&gt;  [10663.822487] Code: 90 48 8d 78 02 be 25 00 00 00 e8 92 1d e2 ff 48 85 c0 75 cf bf 20 00 00 00 e8 c3 b1 c6 ff 49 89 c7 b8 f4 ff ff ff 4d 85 ff 74 bd &lt;4d&gt; 8b 75 70 49 8d 45 70 48 89 45 b8 49 83 ee 58 eb 28 48 8d 55
&gt;  [10663.822618] RIP [&lt;ffffffff8149c2fa&gt;] __dev_alloc_name+0x9a/0x170
&gt;  [10663.822627] RSP &lt;ffff88014aebf7b8&gt;
&gt;  [10663.822631] CR2: 000000000000006d
&gt;  [10663.822636] ---[ end trace 3dfd6c3ad5327ca7 ]---

This bug was introduced in:
commit 81adee47dfb608df3ad0b91d230fb3cef75f0060
Author: Eric W. Biederman &lt;ebiederm@aristanetworks.com&gt;
Date:   Sun Nov 8 00:53:51 2009 -0800

    net: Support specifying the network namespace upon device creation.

    There is no good reason to not support userspace specifying the
    network namespace during device creation, and it makes it easier
    to create a network device and pass it to a child network namespace
    with a well known name.

    We have to be careful to ensure that the target network namespace
    for the new device exists through the life of the call.  To keep
    that logic clear I have factored out the network namespace grabbing
    logic into rtnl_link_get_net.

    In addtion we need to continue to pass the source network namespace
    to the rtnl_link_ops.newlink method so that we can find the base
    device source network namespace.

    Signed-off-by: Eric W. Biederman &lt;ebiederm@aristanetworks.com&gt;
    Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;

Where apparently I forgot to add error handling to the path where we create
a new network device in a new network namespace, and pass in an invalid pid.

Reported-by: Ed Swierk &lt;eswierk@bigswitch.com&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>gro: reset vlan_tci on reuse</title>
<updated>2013-01-16T21:44:55Z</updated>
<author>
<name>Benjamin Poirier</name>
<email>bpoirier@suse.de</email>
</author>
<published>2011-11-30T12:47:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e4a0eea634767f19bdeb8c7044946c4a7ded542c'/>
<id>urn:sha1:e4a0eea634767f19bdeb8c7044946c4a7ded542c</id>
<content type='text'>
This one liner is part of upstream
commit 3701e51382a026cba10c60b03efabe534fba4ca4
Author: Jesse Gross &lt;jesse@nicira.com&gt;

    vlan: Centralize handling of hardware acceleration.

The bulk of that commit is a rework of the hardware assisted vlan tagging
driver interface, and as such doesn't classify for -stable inclusion. The fix
that is needed is a part of that commit but can work independently of the
rest.

This patch can avoid panics on the 2.6.32.y -stable kernels and is in the same
spirit as mainline commits
66c46d7 gro: Reset dev pointer on reuse
6d152e2 gro: reset skb_iif on reuse
which are already in -stable.

For drivers using the vlan_gro_frags() interface, a packet with an invalid tci
leads to GRO_DROP and napi_reuse_skb(). The skb has to be sanitized before
being reused or we may send an skb with an invalid vlan_tci field up the stack
where it is not expected.

Signed-off-by: Benjamin Poirier &lt;bpoirier@suse.de&gt;
Cc: Jesse Gross &lt;jesse@nicira.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
[PG: taken from v2.6.32.y stable, commit 5aff28abc7e]
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()</title>
<updated>2013-01-16T21:44:53Z</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2012-05-30T21:18:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=eee8446c57d5033f79086f29c7a0490a28ec5685'/>
<id>urn:sha1:eee8446c57d5033f79086f29c7a0490a28ec5685</id>
<content type='text'>
commit cc9b17ad29ecaa20bfe426a8d4dbfb94b13ff1cc upstream.

We need to validate the number of pages consumed by data_len, otherwise frags
array could be overflowed by userspace. So this patch validate data_len and
return -EMSGSIZE when data_len may occupies more frags than MAX_SKB_FRAGS.

Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
</feed>
