[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190107191539.psmc3ptqv2g2fxly@codemonkey.org.uk>
Date: Mon, 7 Jan 2019 14:15:39 -0500
From: Dave Jones <davej@...emonkey.org.uk>
To: jeffrey.t.kirsher@...el.com
Cc: netdev@...r.kernel.org
Subject: igb: Illegal context switch in RCU read-side critical section!
[ 32.845071] =============================
[ 32.845084] WARNING: suspicious RCU usage
[ 32.845098] 5.0.0-rc1-backup+ #1 Not tainted
[ 32.845111] -----------------------------
[ 32.845124] ./include/linux/rcupdate.h:281 Illegal context switch in RCU read-side critical section!
[ 32.845164]
other info that might help us debug this:
[ 32.845194]
rcu_scheduler_active = 2, debug_locks = 1
[ 32.845214] 6 locks held by ifenslave/645:
[ 32.845227] #0: 000000004ce34177 (sb_writers#6){.+.+}, at: vfs_write+0x189/0x1b0
[ 32.845255] #1: 0000000045fc0eaf (&of->mutex){+.+.}, at: kernfs_fop_write+0xdf/0x190
[ 32.845281] #2: 000000005e42d596 (kn->count#116){.+.+}, at: kernfs_fop_write+0xe8/0x190
[ 32.845307] #3: 000000006f123b98 (rtnl_mutex){+.+.}, at: bond_opt_tryset_rtnl+0x2a/0x90
[ 32.845333] #4: 00000000cdbe39f8 (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: bond_get_stats+0x4d/0x200
[ 32.845361] #5: 00000000323ba386 (rcu_read_lock){....}, at: bond_get_stats+0x5/0x200
[ 32.845385]
stack backtrace:
[ 32.845401] CPU: 6 PID: 645 Comm: ifenslave Not tainted 5.0.0-rc1-backup+ #1
[ 32.845419] Hardware name: ASUS All Series/Z97-DELUXE, BIOS 2602 08/18/2015
[ 32.845437] Call Trace:
[ 32.845448] dump_stack+0x5f/0x8b
[ 32.845462] ___might_sleep.part.95+0xd8/0x230
[ 32.845478] __mutex_lock+0x60/0x980
[ 32.845491] ? _raw_spin_unlock+0x24/0x30
[ 32.845506] ? igb_get_stats64+0x29/0x60
[ 32.845519] ? lock_acquire+0xa1/0x196
[ 32.845533] ? e1000e_get_stats64+0x1e/0x120
[ 32.845547] ? igb_get_stats64+0x29/0x60
[ 32.845559] igb_get_stats64+0x29/0x60
[ 32.845573] dev_get_stats+0x34/0x90
[ 32.845585] bond_get_stats+0xd3/0x200
[ 32.845599] dev_get_stats+0x34/0x90
[ 32.845612] rtnl_fill_stats+0x3b/0x130
[ 32.845626] rtnl_fill_ifinfo.isra.38+0x6b4/0x11a0
[ 32.845641] ? __kmalloc_track_caller+0x21f/0x260
[ 32.845657] ? __kmalloc_reserve.isra.46+0x29/0x70
[ 32.845672] rtmsg_ifinfo_build_skb+0x6e/0xd0
[ 32.845686] ? lockdep_rtnl_is_held+0x16/0x20
[ 32.845701] rtmsg_ifinfo_event.part.41+0x13/0x40
[ 32.845716] rtnetlink_event+0x4e/0x70
[ 32.845728] notifier_call_chain+0x34/0x90
[ 32.845742] netdev_change_features+0x3c/0x60
[ 32.845756] bond_compute_features.isra.55+0x197/0x260
[ 32.845771] bond_enslave+0x10a3/0x1210
[ 32.845785] ? sscanf+0x49/0x70
[ 32.845797] bond_option_slaves_set+0x103/0x1a0
[ 32.845812] __bond_opt_set+0xbe/0x360
[ 32.845826] __bond_opt_set_notify+0x27/0x80
[ 32.845841] bond_opt_tryset_rtnl+0x51/0x90
[ 32.845855] bonding_sysfs_store_option+0x4f/0x90
[ 32.845870] kernfs_fop_write+0x10d/0x190
[ 32.845884] __vfs_write+0x33/0x190
[ 32.845898] ? rcu_read_lock_sched_held+0x66/0x70
[ 32.845912] ? rcu_sync_lockdep_assert+0x2a/0x50
[ 32.845927] ? __sb_start_write+0xd4/0x1c0
[ 32.845940] ? vfs_write+0x189/0x1b0
[ 32.845953] ? lock_acquire+0xa1/0x196
[ 32.845966] vfs_write+0xc2/0x1b0
[ 32.845978] ksys_write+0x55/0xc0
[ 32.845991] do_syscall_64+0x6d/0x660
[ 32.846003] ? trace_hardirqs_off_thunk+0x1a/0x1c
[ 32.846019] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 32.846035] RIP: 0033:0x7f0e90dbd2a4
[ 32.846047] Code: 89 02 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 8d 05 41 37 0d 00 8b 00 85 c0 75 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 f3 c3 66 90 41 54 55 49 89 d4 53 48 89 f5
[ 32.846087] RSP: 002b:00007ffcf2cf5118 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 32.846108] RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 00007f0e90dbd2a4
[ 32.846126] RDX: 0000000000000006 RSI: 0000564cd6d6d620 RDI: 0000000000000001
[ 32.846144] RBP: 0000564cd6d6d620 R08: 000000000000000a R09: 0000564cd6d61f50
[ 32.846162] R10: 000000000000000a R11: 0000000000000246 R12: 00007f0e90e8c760
[ 32.846180] R13: 0000000000000006 R14: 00007f0e90e87760 R15: 0000000000000006
[ 32.846199] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:908
[ 32.846221] in_atomic(): 1, irqs_disabled(): 0, pid: 645, name: ifenslave
[ 32.846239] 6 locks held by ifenslave/645:
[ 32.846252] #0: 000000004ce34177 (sb_writers#6){.+.+}, at: vfs_write+0x189/0x1b0
[ 32.846276] #1: 0000000045fc0eaf (&of->mutex){+.+.}, at: kernfs_fop_write+0xdf/0x190
[ 32.846301] #2: 000000005e42d596 (kn->count#116){.+.+}, at: kernfs_fop_write+0xe8/0x190
[ 32.846335] #3: 000000006f123b98 (rtnl_mutex){+.+.}, at: bond_opt_tryset_rtnl+0x2a/0x90
[ 32.846360] #4: 00000000cdbe39f8 (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: bond_get_stats+0x4d/0x200
[ 32.846387] #5: 00000000323ba386 (rcu_read_lock){....}, at: bond_get_stats+0x5/0x200
[ 32.846412] CPU: 6 PID: 645 Comm: ifenslave Not tainted 5.0.0-rc1-backup+ #1
[ 32.846430] Hardware name: ASUS All Series/Z97-DELUXE, BIOS 2602 08/18/2015
[ 32.846447] Call Trace:
[ 32.846458] dump_stack+0x5f/0x8b
[ 32.846471] ___might_sleep.part.95+0x202/0x230
[ 32.846486] __mutex_lock+0x60/0x980
[ 32.846499] ? _raw_spin_unlock+0x24/0x30
[ 32.846512] ? igb_get_stats64+0x29/0x60
[ 32.846525] ? lock_acquire+0xa1/0x196
[ 32.846538] ? e1000e_get_stats64+0x1e/0x120
[ 32.846552] ? igb_get_stats64+0x29/0x60
[ 32.846565] igb_get_stats64+0x29/0x60
[ 32.846578] dev_get_stats+0x34/0x90
[ 32.846590] bond_get_stats+0xd3/0x200
[ 32.846604] dev_get_stats+0x34/0x90
[ 32.846616] rtnl_fill_stats+0x3b/0x130
[ 32.846630] rtnl_fill_ifinfo.isra.38+0x6b4/0x11a0
[ 32.846644] ? __kmalloc_track_caller+0x21f/0x260
[ 32.846660] ? __kmalloc_reserve.isra.46+0x29/0x70
[ 32.846675] rtmsg_ifinfo_build_skb+0x6e/0xd0
[ 32.846689] ? lockdep_rtnl_is_held+0x16/0x20
[ 32.846703] rtmsg_ifinfo_event.part.41+0x13/0x40
[ 32.846718] rtnetlink_event+0x4e/0x70
[ 32.846731] notifier_call_chain+0x34/0x90
[ 32.846745] netdev_change_features+0x3c/0x60
[ 32.846759] bond_compute_features.isra.55+0x197/0x260
[ 32.846774] bond_enslave+0x10a3/0x1210
[ 32.846787] ? sscanf+0x49/0x70
[ 32.846800] bond_option_slaves_set+0x103/0x1a0
[ 32.846815] __bond_opt_set+0xbe/0x360
[ 32.846829] __bond_opt_set_notify+0x27/0x80
[ 32.846843] bond_opt_tryset_rtnl+0x51/0x90
[ 32.846857] bonding_sysfs_store_option+0x4f/0x90
[ 32.846873] kernfs_fop_write+0x10d/0x190
[ 32.846887] __vfs_write+0x33/0x190
[ 32.846899] ? rcu_read_lock_sched_held+0x66/0x70
[ 32.846913] ? rcu_sync_lockdep_assert+0x2a/0x50
[ 32.846928] ? __sb_start_write+0xd4/0x1c0
[ 32.846941] ? vfs_write+0x189/0x1b0
[ 32.846953] ? lock_acquire+0xa1/0x196
[ 32.846967] vfs_write+0xc2/0x1b0
[ 32.846979] ksys_write+0x55/0xc0
[ 32.846991] do_syscall_64+0x6d/0x660
[ 32.847004] ? trace_hardirqs_off_thunk+0x1a/0x1c
[ 32.847019] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 32.847034] RIP: 0033:0x7f0e90dbd2a4
[ 32.847046] Code: 89 02 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 8d 05 41 37 0d 00 8b 00 85 c0 75 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 f3 c3 66 90 41 54 55 49 89 d4 53 48 89 f5
[ 32.847086] RSP: 002b:00007ffcf2cf5118 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 32.847106] RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 00007f0e90dbd2a4
[ 32.847124] RDX: 0000000000000006 RSI: 0000564cd6d6d620 RDI: 0000000000000001
[ 32.847142] RBP: 0000564cd6d6d620 R08: 000000000000000a R09: 0000564cd6d61f50
[ 32.847160] R10: 000000000000000a R11: 0000000000000246 R12: 00007f0e90e8c760
[ 32.847178] R13: 0000000000000006 R14: 00007f0e90e87760 R15: 0000000000000006
Powered by blists - more mailing lists