net/bridge/br_private.h:626 suspicious rcu_dereference_check() usage!




$ dmesg
...
[   46.016137] device enp3s0 entered promiscuous mode
[   46.017679] bridge0: port 1(enp3s0) entered forwarding state
[   46.018795] bridge0: port 1(enp3s0) entered forwarding state
[   61.166921] bridge0: port 1(enp3s0) entered forwarding state

[   61.166978] ===============================
[   61.166985] [ INFO: suspicious RCU usage. ]
[   61.166995] 4.1.0-0.rc2.git3.1.fc23.x86_64 #1 Tainted: G        WC     
[   61.167003] -------------------------------
[   61.167012] net/bridge/br_private.h:626 suspicious rcu_dereference_check() usage!
[   61.167043] 
other info that might help us debug this:

[   61.167062] 
rcu_scheduler_active = 1, debug_locks = 0
[   61.167071] 2 locks held by swapper/3/0:
[   61.167078]  #0:  (((&p->forward_delay_timer))){+.-...}, at: [<ffffffff81139db5>] call_timer_fn+0x5/0x4f0
[   61.167129]  #1:  (&(&br->lock)->rlock){+.-...}, at: [<ffffffffa0957dc1>] 
br_forward_delay_timer_expired+0x31/0x140 [bridge]
[   61.167162] 
stack backtrace:
[   61.167174] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G        WC      4.1.0-0.rc2.git3.1.fc23.x86_64 #1
...
[   61.167230] Call Trace:
[   61.167238]  <IRQ>  [<ffffffff81894055>] dump_stack+0x4c/0x65
[   61.167261]  [<ffffffff8110bb17>] lockdep_rcu_suspicious+0xe7/0x120
[   61.167284]  [<ffffffffa09590f9>] br_fill_ifinfo+0x4a9/0x6a0 [bridge]
[   61.167311]  [<ffffffffa095966b>] br_ifinfo_notify+0x11b/0x4b0 [bridge]
[   61.167332]  [<ffffffffa0957d90>] ? br_hold_timer_expired+0x70/0x70 [bridge]
[   61.167350]  [<ffffffffa0957de8>] br_forward_delay_timer_expired+0x58/0x140 [bridge]
[   61.167369]  [<ffffffffa0957d90>] ? br_hold_timer_expired+0x70/0x70 [bridge]
[   61.167378]  [<ffffffff81139e73>] call_timer_fn+0xc3/0x4f0
[   61.167388]  [<ffffffff81139db5>] ? call_timer_fn+0x5/0x4f0
[   61.167398]  [<ffffffff8110a74f>] ? lock_release_holdtime.part.29+0xf/0x200
[   61.167418]  [<ffffffffa0957d90>] ? br_hold_timer_expired+0x70/0x70 [bridge]
[   61.167428]  [<ffffffff8113a4e4>] run_timer_softirq+0x244/0x490
[   61.167442]  [<ffffffff810b687c>] __do_softirq+0xec/0x670
[   61.167453]  [<ffffffff810b7085>] irq_exit+0x145/0x150
[   61.167465]  [<ffffffff818a09c6>] smp_apic_timer_interrupt+0x46/0x60
[   61.167475]  [<ffffffff8189e9e3>] apic_timer_interrupt+0x73/0x80
[   61.167482]  <EOI>  [<ffffffff8110a74f>] ? lock_release_holdtime.part.29+0xf/0x200
[   61.167500]  [<ffffffff8106efa6>] ? native_safe_halt+0x6/0x10
[   61.167510]  [<ffffffff8110e1ad>] ? trace_hardirqs_on+0xd/0x10
[   61.167527]  [<ffffffff81029023>] default_idle+0x23/0x230
[   61.167537]  [<ffffffff810292a9>] amd_e400_idle+0x79/0x110
[   61.167547]  [<ffffffff81029c4f>] arch_cpu_idle+0xf/0x20
[   61.167557]  [<ffffffff81103b6c>] cpu_startup_entry+0x3dc/0x5a0
[   61.167569]  [<ffffffff8105ab2e>] start_secondary+0x19e/0x1e0
...


This does not happen with:

$ systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/NetworkManager.service.d
           └─debug.conf
   Active: inactive (dead)

$ NetworkManager --version
1.0.2-2.fc21


Is this material for linux-kernel@ ?



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]