Message ID | 20210921092123.13632-3-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. > > 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 > temporary buffer and ensures that no overrun is done for sizelimit > 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 e37444977ae6..ec1329afc154 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -861,7 +861,7 @@ static ssize_t loop_attr_offset_show(struct loop_device *lo, char *buf) > > static ssize_t loop_attr_sizelimit_show(struct loop_device *lo, char *buf) > { > - return sprintf(buf, "%llu\n", (unsigned long long)lo->lo_sizelimit); > + return sysfs_emit(buf, "%llu\n", (unsigned long long)lo->lo_sizelimit); > } > > static ssize_t loop_attr_autoclear_show(struct loop_device *lo, char *buf) > -- > 2.29.0 > After fixing small nits noted in patch 1 you can add 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 e37444977ae6..ec1329afc154 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -861,7 +861,7 @@ static ssize_t loop_attr_offset_show(struct loop_device *lo, char *buf) static ssize_t loop_attr_sizelimit_show(struct loop_device *lo, char *buf) { - return sprintf(buf, "%llu\n", (unsigned long long)lo->lo_sizelimit); + return sysfs_emit(buf, "%llu\n", (unsigned long long)lo->lo_sizelimit); } static ssize_t loop_attr_autoclear_show(struct loop_device *lo, char *buf)