• Bart Van Assche's avatar
    scsi: Avoid that toggling use_blk_mq triggers a memory leak · 8d58881b
    Bart Van Assche authored
    This patch avoids that the following memory leak is triggered if
    use_blk_mq is disabled after a SCSI host has been allocated by the
    ib_srp driver and before the same SCSI host is freed:
    
    unreferenced object 0xffff8803a168c568 (size 256):
      backtrace:
        [<ffffffff81620c95>] kmemleak_alloc+0x45/0xa0
        [<ffffffff811bb104>] __kmalloc_node+0x1e4/0x400
        [<ffffffff81309fe4>] blk_mq_alloc_tag_set+0xb4/0x230
        [<ffffffff814731b7>] scsi_mq_setup_tags+0xc7/0xd0
        [<ffffffff81469c26>] scsi_add_host_with_dma+0x216/0x2d0
        [<ffffffffa064bef5>] srp_create_target+0xe55/0x13d0 [ib_srp]
        [<ffffffff8143ce23>] dev_attr_store+0x13/0x20
        [<ffffffff8125f030>] sysfs_kf_write+0x40/0x50
        [<ffffffff8125e397>] kernfs_fop_write+0x137/0x1c0
        [<ffffffff811d8c13>] __vfs_write+0x23/0x140
        [<ffffffff811d92e0>] vfs_write+0xb0/0x190
        [<ffffffff811da5b4>] SyS_write+0x44/0xa0
        [<ffffffff8162c8a5>] entry_SYSCALL_64_fastpath+0x18/0xa8
    
    Fixes: 9aa9cc42 ("scsi: remove the disable_blk_mq host flag")
    Signed-off-by: 's avatarBart Van Assche <bart.vanassche@sandisk.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Martin K. Petersen <martin.petersen@oracle.com>
    Cc: <stable@vger.kernel.org>
    Reviewed-by: 's avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: 's avatarMartin K. Petersen <martin.petersen@oracle.com>
    8d58881b
Name
Last commit
Last update
..
acpi Loading commit data...
asm-generic Loading commit data...
clocksource Loading commit data...
crypto Loading commit data...
drm Loading commit data...
dt-bindings Loading commit data...
keys Loading commit data...
kvm Loading commit data...
linux Loading commit data...
math-emu Loading commit data...
media Loading commit data...
memory Loading commit data...
misc Loading commit data...
net Loading commit data...
pcmcia Loading commit data...
ras Loading commit data...
rdma Loading commit data...
rxrpc Loading commit data...
scsi Loading commit data...
soc Loading commit data...
sound Loading commit data...
target Loading commit data...
trace Loading commit data...
uapi Loading commit data...
video Loading commit data...
xen Loading commit data...
Kbuild Loading commit data...