]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
block: don't use strcpy to copy blockdev name
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tue, 3 Feb 2026 11:35:28 +0000 (12:35 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 3 Feb 2026 14:15:31 +0000 (07:15 -0700)
0-day bot flagged the use of strcpy() in blk_trace_setup(), because the
source buffer can theoretically be bigger than the destination buffer.

While none of the current callers pass a string bigger than
BLKTRACE_BDEV_SIZE, use strscpy() to prevent eventual future misuse and
silence the checker warnings.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202602020718.GUEIRyG9-lkp@intel.com/
Fixes: 113cbd62824a ("blktrace: pass blk_user_trace2 to setup functions")
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
kernel/trace/blktrace.c

index d031c8d80be4fdc2589b3dd8d6f633805ac8d584..c4db5c2e7103766a46b26db9df49eff156a17801 100644 (file)
@@ -793,7 +793,7 @@ int blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
                return PTR_ERR(bt);
        }
        blk_trace_setup_finalize(q, name, 1, bt, &buts2);
-       strcpy(buts.name, buts2.name);
+       strscpy(buts.name, buts2.name, BLKTRACE_BDEV_SIZE);
        mutex_unlock(&q->debugfs_mutex);
 
        if (copy_to_user(arg, &buts, sizeof(buts))) {