Message ID | 20210921092123.13632-2-chaitanyak@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | loop: small clenaup | expand |
> On Sep 21, 2021, at 4:21 AM, Chaitanya Kulkarni <chaitanyak@nvidia.com> wrote: > > From: Chaitanya Kulkarni <kch@nvidia.com> > > Output defects can exist in sysfs content using sprintf and snprintf. > Small nit.. I would remove above line from patch 1 - 5. Below commit message describes it better. > sprintf does not know the PAGE_SIZE maximum of the temporary buffer > used for outputting sysfs content and it's possible to overrun the > PAGE_SIZE buffer length. > > Use a generic sysfs_emit function that knows that the size of the Also in above line, I would remove second “that” (same for patches 1 - 5) > temporary buffer and ensures that no overrun is done for offset > attribute. > > Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com> > --- > drivers/block/loop.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/block/loop.c b/drivers/block/loop.c > index 7bf4686af774..e37444977ae6 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -856,7 +856,7 @@ static ssize_t loop_attr_backing_file_show(struct loop_device *lo, char *buf) > > static ssize_t loop_attr_offset_show(struct loop_device *lo, char *buf) > { > - return sprintf(buf, "%llu\n", (unsigned long long)lo->lo_offset); > + return sysfs_emit(buf, "%llu\n", (unsigned long long)lo->lo_offset); > } > > static ssize_t loop_attr_sizelimit_show(struct loop_device *lo, char *buf) > -- > 2.29.0 > Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> -- Himanshu Madhani Oracle Linux Engineering
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 7bf4686af774..e37444977ae6 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -856,7 +856,7 @@ static ssize_t loop_attr_backing_file_show(struct loop_device *lo, char *buf) static ssize_t loop_attr_offset_show(struct loop_device *lo, char *buf) { - return sprintf(buf, "%llu\n", (unsigned long long)lo->lo_offset); + return sysfs_emit(buf, "%llu\n", (unsigned long long)lo->lo_offset); } static ssize_t loop_attr_sizelimit_show(struct loop_device *lo, char *buf)