System crash accessing sysfs caused by sd_probe()/sd_probe_async() race

Solution Unverified - Updated -

Issue

  • System crash accessing sysfs caused by sd_probe()/sd_probe_async() race:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000608
IP: [<ffffffff8ef599b6>] blk_queue_max_write_same_sectors+0x6/0x20
PGD 8000000a63eac067 PUD de79dc067 PMD 0 
Oops: 0002 [#1] SMP 
....
CPU: 3 PID: 945 Comm: echo Kdump: loaded Tainted: P           OE  ------------   3.10.0-1160.6.1.el7.x86_64 #1
Hardware name: HP ProLiant DL380 Gen9/ProLiant DL380 Gen9, BIOS P89 10/21/2019
task: ffffa06a49f40000 ti: ffffa05f88cfc000 task.ti: ffffa05f88cfc000
RIP: 0010:[<ffffffff8ef599b6>]  [<ffffffff8ef599b6>] blk_queue_max_write_same_sectors+0x6/0x20
RSP: 0018:ffffa05f88cffe18  EFLAGS: 00010246
RAX: ffffa05c07e03800 RBX: ffffa060839a1800 RCX: 0000000000000012
RDX: ffffa060839a1800 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffa05f88cffe28 R08: 0000000000000000 R09: 0000000000000001
R10: 000000000000000a R11: f000000000000000 R12: ffffa05c07e03810
R13: 0000000000000002 R14: ffffa06b025a2778 R15: ffffa05f88cfff18
....
Call Trace:
[<ffffffffc09d6381>] ? sd_config_write_same+0x91/0xc0 [sd_mod]
[<ffffffffc09d7541>] max_write_same_blocks_store+0x81/0xe0 [sd_mod]
[<ffffffff8f0b515b>] dev_attr_store+0x1b/0x30
[<ffffffff8eedb0f2>] sysfs_kf_write+0x42/0x50
[<ffffffff8eeda6db>] kernfs_fop_write+0xeb/0x160
[<ffffffff8ee4db90>] vfs_write+0xc0/0x1f0
[<ffffffff8ee4e96f>] SyS_write+0x7f/0xf0
[<ffffffff8f394f92>] system_call_fastpath+0x25/0x2a
....
RIP  [<ffffffff8ef599b6>] blk_queue_max_write_same_sectors+0x6/0x20

Environment

  • Red Hat Enterprise Linux 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In