Message ID | 20200419194529.4872-3-mcgrof@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: fix blktrace debugfs use after free | expand |
On 4/19/20 12:45 PM, Luis Chamberlain wrote: > Move the work to create the debugfs directory used into a helper. > It will make further checks easier to read. This commit introduces > no functional changes. Reviewed-by: Bart Van Assche <bvanassche@acm.org>
On Sun, Apr 19, 2020 at 07:45:21PM +0000, Luis Chamberlain wrote: > Move the work to create the debugfs directory used into a helper. > It will make further checks easier to read. This commit introduces > no functional changes. > > Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> > --- > kernel/trace/blktrace.c | 16 +++++++++++++--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c > index ca39dc3230cb..2c6e6c386ace 100644 > --- a/kernel/trace/blktrace.c > +++ b/kernel/trace/blktrace.c > @@ -468,6 +468,18 @@ static void blk_trace_setup_lba(struct blk_trace *bt, > } > } > > +static struct dentry *blk_trace_debugfs_dir(struct blk_user_trace_setup *buts, > + struct blk_trace *bt) > +{ > + struct dentry *dir = NULL; > + > + dir = debugfs_lookup(buts->name, blk_debugfs_root); > + if (!dir) > + bt->dir = dir = debugfs_create_dir(buts->name, blk_debugfs_root); > + This creates an > 80 char line. But I also think it is rather confusing anyway, why not: dir = debugfs_lookup(buts->name, blk_debugfs_root); if (dir) return dir; bt->dir = debugfs_create_dir(buts->name, blk_debugfs_root); return bt->dir;
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index ca39dc3230cb..2c6e6c386ace 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -468,6 +468,18 @@ static void blk_trace_setup_lba(struct blk_trace *bt, } } +static struct dentry *blk_trace_debugfs_dir(struct blk_user_trace_setup *buts, + struct blk_trace *bt) +{ + struct dentry *dir = NULL; + + dir = debugfs_lookup(buts->name, blk_debugfs_root); + if (!dir) + bt->dir = dir = debugfs_create_dir(buts->name, blk_debugfs_root); + + return dir; +} + /* * Setup everything required to start tracing */ @@ -509,9 +521,7 @@ static int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev, ret = -ENOENT; - dir = debugfs_lookup(buts->name, blk_debugfs_root); - if (!dir) - bt->dir = dir = debugfs_create_dir(buts->name, blk_debugfs_root); + dir = blk_trace_debugfs_dir(buts, bt); bt->dev = dev; atomic_set(&bt->dropped, 0);
Move the work to create the debugfs directory used into a helper. It will make further checks easier to read. This commit introduces no functional changes. Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> --- kernel/trace/blktrace.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-)