lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v6 6/6] blktrace: fix debugfs use after free
On Fri, Jun 12, 2020 at 07:42:12PM -0700, Bart Van Assche wrote:
> On 2020-06-08 10:01, Luis Chamberlain wrote:
> > + /*
> > + * Blktrace needs a debugfs name even for queues that don't register
> > + * a gendisk, so it lazily registers the debugfs directory. But that
> > + * can get us into a situation where a SCSI device is found, with no
> > + * driver for it (yet). Then blktrace is used on the device, creating
> > + * the debugfs directory, and only after that a driver is loaded. In
> > + * that case we might already have a debugfs directory registered here.
> > + * Even worse we could be racing with blktrace to register it.
> > + */
>
> There are LLD and ULD drivers in the SCSI subsystem. Please mention the
> driver type explicitly. I assume that you are referring to SCSI ULDs
> since only SCSI ULD drivers call device_add_disk()?

I've simplified this and so this is no longer a valid comment.

> > case BLKTRACESETUP:
> > + if (!sdp->device->request_queue->sg_debugfs_dir)
> > + blk_sg_debugfs_init(sdp->device->request_queue,
> > + sdp->disk->disk_name);
>
> How about moving the sg_debugfs_dir check into blk_sg_debugfs_init()?

I found a way to not have to do any of this, the fix will be short and
sweet now.

Luis

\
 
 \ /
  Last update: 2020-06-19 17:37    [W:0.085 / U:0.468 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site