Re: 4.12 NULL pointer dereference in kmem_cache_free on USB storage removal

From: Bart Van Assche
Date: Thu Jul 13 2017 - 17:07:51 EST


On Thu, 2017-07-13 at 23:24 +0300, Meelis Roos wrote:
> [258062.320700] RIP: 0010:kmem_cache_free+0x12/0x160
> [258062.320886] Call Trace:
> [258062.320897] scsi_exit_rq+0x4d/0x60
> [258062.320909] free_request_size+0x1c/0x30
> [258062.320923] mempool_destroy+0x1d/0x60
> [258062.320935] blk_exit_rl+0x1b/0x40
> [258062.320946] __blk_release_queue+0x7d/0x120
> [258062.320959] process_one_work+0x1af/0x340
> [258062.320972] worker_thread+0x43/0x3e0
> [258062.320984] kthread+0xfe/0x130
> [258062.320995] ? create_worker+0x170/0x170
> [258062.321007] ? kthread_create_on_node+0x40/0x40
> [258062.321022] ret_from_fork+0x22/0x30

Hello Meelis,

Thank you for your report. Can you apply commit 8e6882545d8c ("scsi: Avoid
that scsi_exit_rq() triggers a use-after-free") on top of kernel v4.12 and
retest? That commit has been tagged "Cc: stable" so I hope that this patch
will be included in kernel v4.12.1. However, that kernel is not yet available
unfortunately ...

Thanks,

Bart.