<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/net/802, branch linux-4.9.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>mrp: introduce active flags to prevent UAF when applicant uninit</title>
<updated>2023-01-07T11:07:32+00:00</updated>
<author>
<name>Schspa Shi</name>
<email>schspa@gmail.com</email>
</author>
<published>2022-11-16T11:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=98f53e591940e4c3818be358c5dc684d5b30cb56'/>
<id>98f53e591940e4c3818be358c5dc684d5b30cb56</id>
<content type='text'>
[ Upstream commit ab0377803dafc58f1e22296708c1c28e309414d6 ]

The caller of del_timer_sync must prevent restarting of the timer, If
we have no this synchronization, there is a small probability that the
cancellation will not be successful.

And syzbot report the fellowing crash:
==================================================================
BUG: KASAN: use-after-free in hlist_add_head include/linux/list.h:929 [inline]
BUG: KASAN: use-after-free in enqueue_timer+0x18/0xa4 kernel/time/timer.c:605
Write at addr f9ff000024df6058 by task syz-fuzzer/2256
Pointer tag: [f9], memory tag: [fe]

CPU: 1 PID: 2256 Comm: syz-fuzzer Not tainted 6.1.0-rc5-syzkaller-00008-
ge01d50cbd6ee #0
Hardware name: linux,dummy-virt (DT)
Call trace:
 dump_backtrace.part.0+0xe0/0xf0 arch/arm64/kernel/stacktrace.c:156
 dump_backtrace arch/arm64/kernel/stacktrace.c:162 [inline]
 show_stack+0x18/0x40 arch/arm64/kernel/stacktrace.c:163
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x68/0x84 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:284 [inline]
 print_report+0x1a8/0x4a0 mm/kasan/report.c:395
 kasan_report+0x94/0xb4 mm/kasan/report.c:495
 __do_kernel_fault+0x164/0x1e0 arch/arm64/mm/fault.c:320
 do_bad_area arch/arm64/mm/fault.c:473 [inline]
 do_tag_check_fault+0x78/0x8c arch/arm64/mm/fault.c:749
 do_mem_abort+0x44/0x94 arch/arm64/mm/fault.c:825
 el1_abort+0x40/0x60 arch/arm64/kernel/entry-common.c:367
 el1h_64_sync_handler+0xd8/0xe4 arch/arm64/kernel/entry-common.c:427
 el1h_64_sync+0x64/0x68 arch/arm64/kernel/entry.S:576
 hlist_add_head include/linux/list.h:929 [inline]
 enqueue_timer+0x18/0xa4 kernel/time/timer.c:605
 mod_timer+0x14/0x20 kernel/time/timer.c:1161
 mrp_periodic_timer_arm net/802/mrp.c:614 [inline]
 mrp_periodic_timer+0xa0/0xc0 net/802/mrp.c:627
 call_timer_fn.constprop.0+0x24/0x80 kernel/time/timer.c:1474
 expire_timers+0x98/0xc4 kernel/time/timer.c:1519

To fix it, we can introduce a new active flags to make sure the timer will
not restart.

Reported-by: syzbot+6fd64001c20aa99e34a4@syzkaller.appspotmail.com

Signed-off-by: Schspa Shi &lt;schspa@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit ab0377803dafc58f1e22296708c1c28e309414d6 ]

The caller of del_timer_sync must prevent restarting of the timer, If
we have no this synchronization, there is a small probability that the
cancellation will not be successful.

And syzbot report the fellowing crash:
==================================================================
BUG: KASAN: use-after-free in hlist_add_head include/linux/list.h:929 [inline]
BUG: KASAN: use-after-free in enqueue_timer+0x18/0xa4 kernel/time/timer.c:605
Write at addr f9ff000024df6058 by task syz-fuzzer/2256
Pointer tag: [f9], memory tag: [fe]

CPU: 1 PID: 2256 Comm: syz-fuzzer Not tainted 6.1.0-rc5-syzkaller-00008-
ge01d50cbd6ee #0
Hardware name: linux,dummy-virt (DT)
Call trace:
 dump_backtrace.part.0+0xe0/0xf0 arch/arm64/kernel/stacktrace.c:156
 dump_backtrace arch/arm64/kernel/stacktrace.c:162 [inline]
 show_stack+0x18/0x40 arch/arm64/kernel/stacktrace.c:163
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x68/0x84 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:284 [inline]
 print_report+0x1a8/0x4a0 mm/kasan/report.c:395
 kasan_report+0x94/0xb4 mm/kasan/report.c:495
 __do_kernel_fault+0x164/0x1e0 arch/arm64/mm/fault.c:320
 do_bad_area arch/arm64/mm/fault.c:473 [inline]
 do_tag_check_fault+0x78/0x8c arch/arm64/mm/fault.c:749
 do_mem_abort+0x44/0x94 arch/arm64/mm/fault.c:825
 el1_abort+0x40/0x60 arch/arm64/kernel/entry-common.c:367
 el1h_64_sync_handler+0xd8/0xe4 arch/arm64/kernel/entry-common.c:427
 el1h_64_sync+0x64/0x68 arch/arm64/kernel/entry.S:576
 hlist_add_head include/linux/list.h:929 [inline]
 enqueue_timer+0x18/0xa4 kernel/time/timer.c:605
 mod_timer+0x14/0x20 kernel/time/timer.c:1161
 mrp_periodic_timer_arm net/802/mrp.c:614 [inline]
 mrp_periodic_timer+0xa0/0xc0 net/802/mrp.c:627
 call_timer_fn.constprop.0+0x24/0x80 kernel/time/timer.c:1474
 expire_timers+0x98/0xc4 kernel/time/timer.c:1519

To fix it, we can introduce a new active flags to make sure the timer will
not restart.

Reported-by: syzbot+6fd64001c20aa99e34a4@syzkaller.appspotmail.com

Signed-off-by: Schspa Shi &lt;schspa@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/802/garp: fix memleak in garp_request_join()</title>
<updated>2021-08-04T09:58:02+00:00</updated>
<author>
<name>Yang Yingliang</name>
<email>yangyingliang@huawei.com</email>
</author>
<published>2021-06-29T11:53:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e74d662587847de5b92401ece06ea897dbdf7537'/>
<id>e74d662587847de5b92401ece06ea897dbdf7537</id>
<content type='text'>
[ Upstream commit 42ca63f980842918560b25f0244307fd83b4777c ]

I got kmemleak report when doing fuzz test:

BUG: memory leak
unreferenced object 0xffff88810c909b80 (size 64):
  comm "syz", pid 957, jiffies 4295220394 (age 399.090s)
  hex dump (first 32 bytes):
    01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 08 00 00 00 01 02 00 04  ................
  backtrace:
    [&lt;00000000ca1f2e2e&gt;] garp_request_join+0x285/0x3d0
    [&lt;00000000bf153351&gt;] vlan_gvrp_request_join+0x15b/0x190
    [&lt;0000000024005e72&gt;] vlan_dev_open+0x706/0x980
    [&lt;00000000dc20c4d4&gt;] __dev_open+0x2bb/0x460
    [&lt;0000000066573004&gt;] __dev_change_flags+0x501/0x650
    [&lt;0000000035b42f83&gt;] rtnl_configure_link+0xee/0x280
    [&lt;00000000a5e69de0&gt;] __rtnl_newlink+0xed5/0x1550
    [&lt;00000000a5258f4a&gt;] rtnl_newlink+0x66/0x90
    [&lt;00000000506568ee&gt;] rtnetlink_rcv_msg+0x439/0xbd0
    [&lt;00000000b7eaeae1&gt;] netlink_rcv_skb+0x14d/0x420
    [&lt;00000000c373ce66&gt;] netlink_unicast+0x550/0x750
    [&lt;00000000ec74ce74&gt;] netlink_sendmsg+0x88b/0xda0
    [&lt;00000000381ff246&gt;] sock_sendmsg+0xc9/0x120
    [&lt;000000008f6a2db3&gt;] ____sys_sendmsg+0x6e8/0x820
    [&lt;000000008d9c1735&gt;] ___sys_sendmsg+0x145/0x1c0
    [&lt;00000000aa39dd8b&gt;] __sys_sendmsg+0xfe/0x1d0

Calling garp_request_leave() after garp_request_join(), the attr-&gt;state
is set to GARP_APPLICANT_VO, garp_attr_destroy() won't be called in last
transmit event in garp_uninit_applicant(), the attr of applicant will be
leaked. To fix this leak, iterate and free each attr of applicant before
rerturning from garp_uninit_applicant().

Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Yang Yingliang &lt;yangyingliang@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 42ca63f980842918560b25f0244307fd83b4777c ]

I got kmemleak report when doing fuzz test:

BUG: memory leak
unreferenced object 0xffff88810c909b80 (size 64):
  comm "syz", pid 957, jiffies 4295220394 (age 399.090s)
  hex dump (first 32 bytes):
    01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 08 00 00 00 01 02 00 04  ................
  backtrace:
    [&lt;00000000ca1f2e2e&gt;] garp_request_join+0x285/0x3d0
    [&lt;00000000bf153351&gt;] vlan_gvrp_request_join+0x15b/0x190
    [&lt;0000000024005e72&gt;] vlan_dev_open+0x706/0x980
    [&lt;00000000dc20c4d4&gt;] __dev_open+0x2bb/0x460
    [&lt;0000000066573004&gt;] __dev_change_flags+0x501/0x650
    [&lt;0000000035b42f83&gt;] rtnl_configure_link+0xee/0x280
    [&lt;00000000a5e69de0&gt;] __rtnl_newlink+0xed5/0x1550
    [&lt;00000000a5258f4a&gt;] rtnl_newlink+0x66/0x90
    [&lt;00000000506568ee&gt;] rtnetlink_rcv_msg+0x439/0xbd0
    [&lt;00000000b7eaeae1&gt;] netlink_rcv_skb+0x14d/0x420
    [&lt;00000000c373ce66&gt;] netlink_unicast+0x550/0x750
    [&lt;00000000ec74ce74&gt;] netlink_sendmsg+0x88b/0xda0
    [&lt;00000000381ff246&gt;] sock_sendmsg+0xc9/0x120
    [&lt;000000008f6a2db3&gt;] ____sys_sendmsg+0x6e8/0x820
    [&lt;000000008d9c1735&gt;] ___sys_sendmsg+0x145/0x1c0
    [&lt;00000000aa39dd8b&gt;] __sys_sendmsg+0xfe/0x1d0

Calling garp_request_leave() after garp_request_join(), the attr-&gt;state
is set to GARP_APPLICANT_VO, garp_attr_destroy() won't be called in last
transmit event in garp_uninit_applicant(), the attr of applicant will be
leaked. To fix this leak, iterate and free each attr of applicant before
rerturning from garp_uninit_applicant().

Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Yang Yingliang &lt;yangyingliang@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/802/mrp: fix memleak in mrp_request_join()</title>
<updated>2021-08-04T09:58:02+00:00</updated>
<author>
<name>Yang Yingliang</name>
<email>yangyingliang@huawei.com</email>
</author>
<published>2021-06-29T07:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5a08a0cd97f90cca1fbd9d0d2c9d55a8f4f6860c'/>
<id>5a08a0cd97f90cca1fbd9d0d2c9d55a8f4f6860c</id>
<content type='text'>
[ Upstream commit 996af62167d0e0ec69b938a3561e96f84ffff1aa ]

I got kmemleak report when doing fuzz test:

BUG: memory leak
unreferenced object 0xffff88810c239500 (size 64):
comm "syz-executor940", pid 882, jiffies 4294712870 (age 14.631s)
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 01 00 00 00 01 02 00 04 ................
backtrace:
[&lt;00000000a323afa4&gt;] slab_alloc_node mm/slub.c:2972 [inline]
[&lt;00000000a323afa4&gt;] slab_alloc mm/slub.c:2980 [inline]
[&lt;00000000a323afa4&gt;] __kmalloc+0x167/0x340 mm/slub.c:4130
[&lt;000000005034ca11&gt;] kmalloc include/linux/slab.h:595 [inline]
[&lt;000000005034ca11&gt;] mrp_attr_create net/802/mrp.c:276 [inline]
[&lt;000000005034ca11&gt;] mrp_request_join+0x265/0x550 net/802/mrp.c:530
[&lt;00000000fcfd81f3&gt;] vlan_mvrp_request_join+0x145/0x170 net/8021q/vlan_mvrp.c:40
[&lt;000000009258546e&gt;] vlan_dev_open+0x477/0x890 net/8021q/vlan_dev.c:292
[&lt;0000000059acd82b&gt;] __dev_open+0x281/0x410 net/core/dev.c:1609
[&lt;000000004e6dc695&gt;] __dev_change_flags+0x424/0x560 net/core/dev.c:8767
[&lt;00000000471a09af&gt;] rtnl_configure_link+0xd9/0x210 net/core/rtnetlink.c:3122
[&lt;0000000037a4672b&gt;] __rtnl_newlink+0xe08/0x13e0 net/core/rtnetlink.c:3448
[&lt;000000008d5d0fda&gt;] rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3488
[&lt;000000004882fe39&gt;] rtnetlink_rcv_msg+0x369/0xa10 net/core/rtnetlink.c:5552
[&lt;00000000907e6c54&gt;] netlink_rcv_skb+0x134/0x3d0 net/netlink/af_netlink.c:2504
[&lt;00000000e7d7a8c4&gt;] netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline]
[&lt;00000000e7d7a8c4&gt;] netlink_unicast+0x4a0/0x6a0 net/netlink/af_netlink.c:1340
[&lt;00000000e0645d50&gt;] netlink_sendmsg+0x78e/0xc90 net/netlink/af_netlink.c:1929
[&lt;00000000c24559b7&gt;] sock_sendmsg_nosec net/socket.c:654 [inline]
[&lt;00000000c24559b7&gt;] sock_sendmsg+0x139/0x170 net/socket.c:674
[&lt;00000000fc210bc2&gt;] ____sys_sendmsg+0x658/0x7d0 net/socket.c:2350
[&lt;00000000be4577b5&gt;] ___sys_sendmsg+0xf8/0x170 net/socket.c:2404

Calling mrp_request_leave() after mrp_request_join(), the attr-&gt;state
is set to MRP_APPLICANT_VO, mrp_attr_destroy() won't be called in last
TX event in mrp_uninit_applicant(), the attr of applicant will be leaked.
To fix this leak, iterate and free each attr of applicant before rerturning
from mrp_uninit_applicant().

Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Yang Yingliang &lt;yangyingliang@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 996af62167d0e0ec69b938a3561e96f84ffff1aa ]

I got kmemleak report when doing fuzz test:

BUG: memory leak
unreferenced object 0xffff88810c239500 (size 64):
comm "syz-executor940", pid 882, jiffies 4294712870 (age 14.631s)
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 01 00 00 00 01 02 00 04 ................
backtrace:
[&lt;00000000a323afa4&gt;] slab_alloc_node mm/slub.c:2972 [inline]
[&lt;00000000a323afa4&gt;] slab_alloc mm/slub.c:2980 [inline]
[&lt;00000000a323afa4&gt;] __kmalloc+0x167/0x340 mm/slub.c:4130
[&lt;000000005034ca11&gt;] kmalloc include/linux/slab.h:595 [inline]
[&lt;000000005034ca11&gt;] mrp_attr_create net/802/mrp.c:276 [inline]
[&lt;000000005034ca11&gt;] mrp_request_join+0x265/0x550 net/802/mrp.c:530
[&lt;00000000fcfd81f3&gt;] vlan_mvrp_request_join+0x145/0x170 net/8021q/vlan_mvrp.c:40
[&lt;000000009258546e&gt;] vlan_dev_open+0x477/0x890 net/8021q/vlan_dev.c:292
[&lt;0000000059acd82b&gt;] __dev_open+0x281/0x410 net/core/dev.c:1609
[&lt;000000004e6dc695&gt;] __dev_change_flags+0x424/0x560 net/core/dev.c:8767
[&lt;00000000471a09af&gt;] rtnl_configure_link+0xd9/0x210 net/core/rtnetlink.c:3122
[&lt;0000000037a4672b&gt;] __rtnl_newlink+0xe08/0x13e0 net/core/rtnetlink.c:3448
[&lt;000000008d5d0fda&gt;] rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3488
[&lt;000000004882fe39&gt;] rtnetlink_rcv_msg+0x369/0xa10 net/core/rtnetlink.c:5552
[&lt;00000000907e6c54&gt;] netlink_rcv_skb+0x134/0x3d0 net/netlink/af_netlink.c:2504
[&lt;00000000e7d7a8c4&gt;] netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline]
[&lt;00000000e7d7a8c4&gt;] netlink_unicast+0x4a0/0x6a0 net/netlink/af_netlink.c:1340
[&lt;00000000e0645d50&gt;] netlink_sendmsg+0x78e/0xc90 net/netlink/af_netlink.c:1929
[&lt;00000000c24559b7&gt;] sock_sendmsg_nosec net/socket.c:654 [inline]
[&lt;00000000c24559b7&gt;] sock_sendmsg+0x139/0x170 net/socket.c:674
[&lt;00000000fc210bc2&gt;] ____sys_sendmsg+0x658/0x7d0 net/socket.c:2350
[&lt;00000000be4577b5&gt;] ___sys_sendmsg+0xf8/0x170 net/socket.c:2404

Calling mrp_request_leave() after mrp_request_join(), the attr-&gt;state
is set to MRP_APPLICANT_VO, mrp_attr_destroy() won't be called in last
TX event in mrp_uninit_applicant(), the attr of applicant will be leaked.
To fix this leak, iterate and free each attr of applicant before rerturning
from mrp_uninit_applicant().

Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Yang Yingliang &lt;yangyingliang@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: Kill dev_rebuild_header</title>
<updated>2015-03-02T21:43:41+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2015-03-02T06:11:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d476059e77d1af48453a58f9de1e36f2eaff6450'/>
<id>d476059e77d1af48453a58f9de1e36f2eaff6450</id>
<content type='text'>
Now that there are no more users kill dev_rebuild_header and all of it's
implementations.

This is long overdue.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that there are no more users kill dev_rebuild_header and all of it's
implementations.

This is long overdue.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: set name_assign_type in alloc_netdev()</title>
<updated>2014-07-15T23:12:48+00:00</updated>
<author>
<name>Tom Gundersen</name>
<email>teg@jklm.no</email>
</author>
<published>2014-07-14T14:37:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c835a677331495cf137a7f8a023463afd9f032f8'/>
<id>c835a677331495cf137a7f8a023463afd9f032f8</id>
<content type='text'>
Extend alloc_netdev{,_mq{,s}}() to take name_assign_type as argument, and convert
all users to pass NET_NAME_UNKNOWN.

Coccinelle patch:

@@
expression sizeof_priv, name, setup, txqs, rxqs, count;
@@

(
-alloc_netdev_mqs(sizeof_priv, name, setup, txqs, rxqs)
+alloc_netdev_mqs(sizeof_priv, name, NET_NAME_UNKNOWN, setup, txqs, rxqs)
|
-alloc_netdev_mq(sizeof_priv, name, setup, count)
+alloc_netdev_mq(sizeof_priv, name, NET_NAME_UNKNOWN, setup, count)
|
-alloc_netdev(sizeof_priv, name, setup)
+alloc_netdev(sizeof_priv, name, NET_NAME_UNKNOWN, setup)
)

v9: move comments here from the wrong commit

Signed-off-by: Tom Gundersen &lt;teg@jklm.no&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extend alloc_netdev{,_mq{,s}}() to take name_assign_type as argument, and convert
all users to pass NET_NAME_UNKNOWN.

Coccinelle patch:

@@
expression sizeof_priv, name, setup, txqs, rxqs, count;
@@

(
-alloc_netdev_mqs(sizeof_priv, name, setup, txqs, rxqs)
+alloc_netdev_mqs(sizeof_priv, name, NET_NAME_UNKNOWN, setup, txqs, rxqs)
|
-alloc_netdev_mq(sizeof_priv, name, setup, count)
+alloc_netdev_mq(sizeof_priv, name, NET_NAME_UNKNOWN, setup, count)
|
-alloc_netdev(sizeof_priv, name, setup)
+alloc_netdev(sizeof_priv, name, NET_NAME_UNKNOWN, setup)
)

v9: move comments here from the wrong commit

Signed-off-by: Tom Gundersen &lt;teg@jklm.no&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>neigh: use NEIGH_VAR_INIT in ndo_neigh_setup functions.</title>
<updated>2014-01-16T19:31:58+00:00</updated>
<author>
<name>Jiri Pirko</name>
<email>jiri@resnulli.us</email>
</author>
<published>2014-01-09T13:13:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=89740ca74f5bb45d3e0dcb4aa9eab0ba9864bff5'/>
<id>89740ca74f5bb45d3e0dcb4aa9eab0ba9864bff5</id>
<content type='text'>
When ndo_neigh_setup is called, the bitfield used by NEIGH_VAR_SET is
not initialized yet. This might cause confusion for the people who use
NEIGH_VAR_SET in ndo_neigh_setup. So rather introduce NEIGH_VAR_INIT for
usage in ndo_neigh_setup.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When ndo_neigh_setup is called, the bitfield used by NEIGH_VAR_SET is
not initialized yet. This might cause confusion for the people who use
NEIGH_VAR_SET in ndo_neigh_setup. So rather introduce NEIGH_VAR_INIT for
usage in ndo_neigh_setup.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: replace macros net_random and net_srandom with direct calls to prandom</title>
<updated>2014-01-14T23:15:25+00:00</updated>
<author>
<name>Aruna-Hewapathirane</name>
<email>aruna.hewapathirane@gmail.com</email>
</author>
<published>2014-01-11T12:15:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=63862b5bef7349dd1137e4c70702c67d77565785'/>
<id>63862b5bef7349dd1137e4c70702c67d77565785</id>
<content type='text'>
This patch removes the net_random and net_srandom macros and replaces
them with direct calls to the prandom ones. As new commits only seem to
use prandom_u32 there is no use to keep them around.
This change makes it easier to grep for users of prandom_u32.

Signed-off-by: Aruna-Hewapathirane &lt;aruna.hewapathirane@gmail.com&gt;
Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch removes the net_random and net_srandom macros and replaces
them with direct calls to the prandom ones. As new commits only seem to
use prandom_u32 there is no use to keep them around.
This change makes it easier to grep for users of prandom_u32.

Signed-off-by: Aruna-Hewapathirane &lt;aruna.hewapathirane@gmail.com&gt;
Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>neigh: convert parms to an array</title>
<updated>2013-12-10T01:56:12+00:00</updated>
<author>
<name>Jiri Pirko</name>
<email>jiri@resnulli.us</email>
</author>
<published>2013-12-07T18:26:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1f9248e5606afc6485255e38ad57bdac08fa7711'/>
<id>1f9248e5606afc6485255e38ad57bdac08fa7711</id>
<content type='text'>
This patch converts the neigh param members to an array. This allows easier
manipulation which will be needed later on to provide better management of
default values.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch converts the neigh param members to an array. This allows easier
manipulation which will be needed later on to provide better management of
default values.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mrp: add periodictimer to allow retries when packets get lost</title>
<updated>2013-09-23T20:53:52+00:00</updated>
<author>
<name>Noel Burton-Krahn</name>
<email>noel@burton-krahn.com</email>
</author>
<published>2013-09-18T19:24:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9fe34f5d920b183ec063550e0f4ec854aa373316'/>
<id>9fe34f5d920b183ec063550e0f4ec854aa373316</id>
<content type='text'>
MRP doesn't implement the periodictimer in 802.1Q, so it never retries
if packets get lost.  I ran into this problem when MRP sent a MVRP
JoinIn before the interface was fully up.  The JoinIn was lost, MRP
didn't retry, and MVRP registration failed.

Tested against Juniper QFabric switches

Signed-off-by: Noel Burton-Krahn &lt;noel@burton-krahn.com&gt;
Acked-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MRP doesn't implement the periodictimer in 802.1Q, so it never retries
if packets get lost.  I ran into this problem when MRP sent a MVRP
JoinIn before the interface was fully up.  The JoinIn was lost, MRP
didn't retry, and MVRP registration failed.

Tested against Juniper QFabric switches

Signed-off-by: Noel Burton-Krahn &lt;noel@burton-krahn.com&gt;
Acked-by: David Ward &lt;david.ward@ll.mit.edu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/802/mrp: fix lockdep splat</title>
<updated>2013-05-14T20:02:30+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-05-13T02:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=faff57a92ba1d7247c5e86ecea2886d2c9d54507'/>
<id>faff57a92ba1d7247c5e86ecea2886d2c9d54507</id>
<content type='text'>
commit fb745e9a037895 ("net/802/mrp: fix possible race condition when
calling mrp_pdu_queue()") introduced a lockdep splat.

[   19.735147] =================================
[   19.735235] [ INFO: inconsistent lock state ]
[   19.735324] 3.9.2-build-0063 #4 Not tainted
[   19.735412] ---------------------------------
[   19.735500] inconsistent {IN-SOFTIRQ-W} -&gt; {SOFTIRQ-ON-W} usage.
[   19.735592] rmmod/1840 [HC0[0]:SC0[0]:HE1:SE1] takes:
[   19.735682]  (&amp;(&amp;app-&gt;lock)-&gt;rlock#2){+.?...}, at: [&lt;f862bb5b&gt;]
mrp_uninit_applicant+0x69/0xba [mrp]

app-&gt;lock is normally taken under softirq context, so disable BH to
avoid the splat.

Reported-by: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: David Ward &lt;david.ward@ll.mit.edu&gt;
Cc: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fb745e9a037895 ("net/802/mrp: fix possible race condition when
calling mrp_pdu_queue()") introduced a lockdep splat.

[   19.735147] =================================
[   19.735235] [ INFO: inconsistent lock state ]
[   19.735324] 3.9.2-build-0063 #4 Not tainted
[   19.735412] ---------------------------------
[   19.735500] inconsistent {IN-SOFTIRQ-W} -&gt; {SOFTIRQ-ON-W} usage.
[   19.735592] rmmod/1840 [HC0[0]:SC0[0]:HE1:SE1] takes:
[   19.735682]  (&amp;(&amp;app-&gt;lock)-&gt;rlock#2){+.?...}, at: [&lt;f862bb5b&gt;]
mrp_uninit_applicant+0x69/0xba [mrp]

app-&gt;lock is normally taken under softirq context, so disable BH to
avoid the splat.

Reported-by: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: David Ward &lt;david.ward@ll.mit.edu&gt;
Cc: Cong Wang &lt;amwang@redhat.com&gt;
Tested-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
