David Forster
94d9f1c590
ipv4: panic in leaf_walk_rcu due to stale node pointer
Panic occurs when issuing "cat /proc/net/route" whilst
populating FIB with > 1M routes.
Use of cached node pointer in fib_route_get_idx is unsafe.
BUG: unable to handle kernel paging request at ffffc90001630024
IP: [<ffffffff814cf6a0>] leaf_walk_rcu+0x10/0xe0
PGD 11b08d067 PUD 11b08e067 PMD dac4b067 PTE 0
Oops: 0000 [#1] SMP
Modules linked in: nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscac
snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep virti
acpi_cpufreq button parport_pc ppdev lp parport autofs4 ext4 crc16 mbcache jbd
tio_ring virtio floppy uhci_hcd ehci_hcd usbcore usb_common libata scsi_mod
CPU: 1 PID: 785 Comm: cat Not tainted 4.2.0-rc8+ #4
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
task: ffff8800da1c0bc0 ti: ffff88011a05c000 task.ti: ffff88011a05c000
RIP: 0010:[<ffffffff814cf6a0>] [<ffffffff814cf6a0>] leaf_walk_rcu+0x10/0xe0
RSP: 0018:ffff88011a05fda0 EFLAGS: 00010202
RAX: ffff8800d8a40c00 RBX: ffff8800da4af940 RCX: ffff88011a05ff20
RDX: ffffc90001630020 RSI: 0000000001013531 RDI: ffff8800da4af950
RBP: 0000000000000000 R08: ffff8800da1f9a00 R09: 0000000000000000
R10: ffff8800db45b7e4 R11: 0000000000000246 R12: ffff8800da4af950
R13: ffff8800d97a74c0 R14: 0000000000000000 R15: ffff8800d97a7480
FS: 00007fd3970e0700(0000) GS:ffff88011fd00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: ffffc90001630024 CR3: 000000011a7e4000 CR4: 00000000000006e0
Stack:
ffffffff814d00d3 0000000000000000 ffff88011a05ff20 ffff8800da1f9a00
ffffffff811dd8b9 0000000000000800 0000000000020000 00007fd396f35000
ffffffff811f8714 0000000000003431 ffffffff8138dce0 0000000000000f80
Call Trace:
[<ffffffff814d00d3>] ? fib_route_seq_start+0x93/0xc0
[<ffffffff811dd8b9>] ? seq_read+0x149/0x380
[<ffffffff811f8714>] ? fsnotify+0x3b4/0x500
[<ffffffff8138dce0>] ? process_echoes+0x70/0x70
[<ffffffff8121cfa7>] ? proc_reg_read+0x47/0x70
[<ffffffff811bb823>] ? __vfs_read+0x23/0xd0
[<ffffffff811bbd42>] ? rw_verify_area+0x52/0xf0
[<ffffffff811bbe61>] ? vfs_read+0x81/0x120
[<ffffffff811bcbc2>] ? SyS_read+0x42/0xa0
[<ffffffff81549ab2>] ? entry_SYSCALL_64_fastpath+0x16/0x75
Code: 48 85 c0 75 d8 f3 c3 31 c0 c3 f3 c3 66 66 66 66 66 66 2e 0f 1f 84 00 00
a 04 89 f0 33 02 44 89 c9 48 d3 e8 0f b6 4a 05 49 89
RIP [<ffffffff814cf6a0>] leaf_walk_rcu+0x10/0xe0
RSP <ffff88011a05fda0>
CR2: ffffc90001630024
Signed-off-by: Dave Forster <dforster@brocade.com>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-06 00:10:05 -04:00
..
2016-07-18 21:35:23 +02:00
2016-07-11 22:44:26 -07:00
2015-08-25 13:38:50 -07:00
2016-04-27 22:48:24 -04:00
2016-07-07 10:15:34 +10:00
2015-07-29 22:44:04 -07:00
2016-07-09 18:12:25 -04:00
2016-06-23 11:52:00 -04:00
2016-05-06 15:51:47 -04:00
2015-07-24 22:46:11 -07:00
2016-06-08 11:36:02 -07:00
2016-07-11 13:41:09 -07:00
2016-08-06 00:10:05 -04:00
2016-06-07 23:51:14 -07:00
2016-06-30 05:03:36 -04:00
2016-05-20 18:03:15 -04:00
2016-04-27 22:48:23 -04:00
2016-03-08 12:34:12 -05:00
2016-07-07 10:35:06 +02:00
2016-06-28 05:25:04 -04:00
2016-06-05 22:56:42 -04:00
2016-05-04 00:52:29 -04:00
2016-07-07 10:35:06 +02:00
2015-08-28 13:32:36 -07:00
2016-07-19 16:40:22 -07:00
2016-04-27 22:48:23 -04:00
2016-06-30 05:03:36 -04:00
2016-05-11 19:31:40 -04:00
2016-03-01 17:18:44 -05:00
2016-07-19 16:40:22 -07:00
2016-05-16 13:46:23 -04:00
2016-07-19 16:40:22 -07:00
2016-06-15 21:39:59 -07:00
2016-03-31 08:59:56 +02:00
2015-04-03 12:11:15 -04:00
2016-06-11 20:40:24 -07:00
2016-07-09 17:45:56 -04:00
2016-07-26 15:18:31 -07:00
2016-06-10 23:07:49 -07:00
2016-06-10 23:07:49 -07:00
2015-09-29 20:21:32 +02:00
2016-04-04 15:50:30 -04:00
2016-02-16 20:42:54 -05:00
2014-09-19 17:15:31 -04:00
2016-04-04 15:50:30 -04:00
2016-05-09 22:33:52 -04:00
2016-04-27 22:48:24 -04:00
2016-05-23 14:32:06 -07:00
2016-05-11 14:43:19 -04:00
2016-05-11 14:43:19 -04:00
2015-09-25 13:00:38 -07:00
2016-05-11 14:43:19 -04:00
2016-06-14 23:46:30 -07:00
2015-12-15 23:26:52 -05:00
2016-05-02 17:02:25 -04:00
2015-07-09 14:22:52 -07:00
2016-05-11 14:43:19 -04:00
2015-07-09 14:22:52 -07:00
2016-05-11 14:43:19 -04:00
2016-07-29 17:38:46 -07:00
2016-07-01 04:02:55 -04:00
2016-05-11 14:43:19 -04:00
2016-04-23 20:13:24 -04:00
2016-05-02 17:02:25 -04:00
2016-06-10 23:07:49 -07:00
2016-05-20 18:03:15 -04:00
2016-07-30 21:21:57 -07:00
2016-03-01 17:18:44 -05:00
2016-05-02 17:02:25 -04:00
2015-07-09 14:22:52 -07:00
2016-07-15 23:18:14 -07:00
2016-05-11 14:43:19 -04:00
2016-05-11 14:43:19 -04:00
2016-05-11 14:43:19 -04:00
2016-05-11 14:43:19 -04:00
2016-05-11 14:43:19 -04:00
2016-07-01 04:02:55 -04:00
2016-07-11 13:27:06 -07:00
2016-04-04 22:11:19 -04:00
2015-03-02 13:06:31 -05:00
2016-05-20 18:03:15 -04:00
2016-06-17 20:23:32 -07:00
2016-07-25 21:40:33 -07:00
2014-05-23 16:28:53 -04:00
2015-09-17 17:18:37 -07:00
2013-12-26 13:43:21 -05:00
2015-03-25 14:07:04 -04:00
2015-10-24 06:54:12 -07:00
2016-06-16 22:06:30 -07:00
2014-06-30 07:49:47 +02:00
2013-12-18 16:58:20 -05:00
2013-05-31 17:19:05 -07:00