Re: [RFC v1 2/4] nvmet-trace: null terminate device name string correctly

From: Christoph Hellwig
Date: Tue Sep 05 2023 - 12:59:34 EST


On Tue, Aug 29, 2023 at 11:13:47AM +0200, Daniel Wagner wrote:
> Signed-off-by: Daniel Wagner <dwagner@xxxxxxx>
> ---
> drivers/nvme/target/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/nvme/target/trace.h b/drivers/nvme/target/trace.h
> index 6997bd7e45cf..9ba466b49613 100644
> --- a/drivers/nvme/target/trace.h
> +++ b/drivers/nvme/target/trace.h
> @@ -55,8 +55,8 @@ static inline void __assign_req_name(char *name, struct nvmet_req *req)
> return;
> }
>
> - strncpy(name, req->ns->device_path,
> - min_t(size_t, DISK_NAME_LEN, strlen(req->ns->device_path)));
> + strscpy(name, req->ns->device_path,
> + min_t(size_t, DISK_NAME_LEN, strlen(req->ns->device_path) + 1));

I'd just switch to snprintf instead, that the best way to ensure
termination..