Hello,

A Fedora user has reported an issue about suspicious RCU usage in
dev-mcelog. It looks like perhaps the notifier call chain is not
acquiring the mce_chrdev_read_mutex? The traceback is

[36915.633804] =============================
[36915.633805] WARNING: suspicious RCU usage
[36915.633808] 4.13.4-301.fc27.x86_64+debug #1 Not tainted
[36915.633809] -----------------------------
[36915.633811] arch/x86/kernel/cpu/mcheck/dev-mcelog.c:60 suspicious
mce_log_get_idx_check() usage!
[36915.633812]
               other info that might help us debug this:

[36915.633813]
               rcu_scheduler_active = 2, debug_locks = 1
[36915.633815] 3 locks held by kworker/1:2/14637:
[36915.633816]  #0:  ("events"){.+.+.+}, at: [<ffffffffaa0d2ac0>]
process_one_work+0x1d0/0x6a0
[36915.633827]  #1:  ((&mce_work)){+.+...}, at: [<ffffffffaa0d2ac0>]
process_one_work+0x1d0/0x6a0
[36915.633833]  #2:  ((x86_mce_decoder_chain).rwsem){++++..}, at:
[<ffffffffaa0dc92f>] blocking_notifier_call_chain+0x2f/0x70
[36915.633840]
               stack backtrace:
[36915.633843] CPU: 1 PID: 14637 Comm: kworker/1:2 Not tainted
4.13.4-301.fc27.x86_64+debug #1
[36915.633844] Hardware name: Gigabyte Technology Co., Ltd.
Z87M-D3H/Z87M-D3H, BIOS F11 08/12/2014
[36915.633847] Workqueue: events mce_gen_pool_process
[36915.633849] Call Trace:
[36915.633854]  dump_stack+0x8e/0xd6
[36915.633858]  lockdep_rcu_suspicious+0xc5/0x100
[36915.633862]  dev_mce_log+0xf6/0x1e0
[36915.633865]  notifier_call_chain+0x39/0x90
[36915.633869]  blocking_notifier_call_chain+0x49/0x70
[36915.633873]  mce_gen_pool_process+0x41/0x70
[36915.633876]  process_one_work+0x253/0x6a0
[36915.633883]  worker_thread+0x4d/0x3b0
[36915.633888]  kthread+0x133/0x150
[36915.633890]  ? process_one_work+0x6a0/0x6a0
[36915.633892]  ? kthread_create_on_node+0x70/0x70
[36915.633896]  ret_from_fork+0x2a/0x40

For reference, the Red Hat bugzilla is

https://bugzilla.redhat.com/show_bug.cgi?id=1498969


Thanks,
Jeremy Cline

Reply via email to