Even though debugfs can be disabled, enabling BLK_DEV_IO_TRACE will select DEBUG_FS, and blktrace exposes an API which userspace uses relying on certain files created in debugfs. If files are not created blktrace will not work correctly, so we do want to ensure that a blktrace setup creates these files properly, and otherwise inform userspace. Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> --- kernel/trace/blktrace.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index 9cc0153849c3..fc32a8665ce8 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -552,17 +552,19 @@ static int blk_trace_create_debugfs_files(struct blk_user_trace_setup *buts, struct dentry *dir, struct blk_trace *bt) { - int ret = -EIO; - bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt, &blk_dropped_fops); + if (!bt->dropped_file) + return -ENOMEM; bt->msg_file = debugfs_create_file("msg", 0222, dir, bt, &blk_msg_fops); + if (!bt->msg_file) + return -ENOMEM; bt->rchan = relay_open("trace", dir, buts->buf_size, buts->buf_nr, &blk_relay_callbacks, bt); if (!bt->rchan) - return ret; + return -EIO; return 0; } -- 2.25.1