Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
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));
}
#endif
--
2.41.0
On 8/29/23 11:13, Daniel Wagner wrote: > Signed-off-by: Daniel Wagner <dwagner@suse.de> > --- > 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)); > } > #endif > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
On Tue, Aug 29, 2023 at 11:13:47AM +0200, Daniel Wagner wrote: > Signed-off-by: Daniel Wagner <dwagner@suse.de> > --- > 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..
On Tue, Sep 05, 2023 at 08:49:21AM +0200, Christoph Hellwig wrote: > On Tue, Aug 29, 2023 at 11:13:47AM +0200, Daniel Wagner wrote: > > Signed-off-by: Daniel Wagner <dwagner@suse.de> > > --- > > 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.. Okay, but we still need the +1 as the string is cut short; 'loop0' gets logged as 'loop' at least with the strscpy variant.
© 2016 - 2025 Red Hat, Inc.