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

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content