Message ID | 20210921092123.13632-6-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 dio > 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 63f64341c19c..fedb8d63b4c6 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -882,7 +882,7 @@ static ssize_t loop_attr_dio_show(struct loop_device *lo, char *buf) > { > int dio = (lo->lo_flags & LO_FLAGS_DIRECT_IO); > > - return sprintf(buf, "%s\n", dio ? "1" : "0"); > + return sysfs_emit(buf, "%s\n", dio ? "1" : "0"); > } > > LOOP_ATTR_RO(backing_file); > -- > 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 63f64341c19c..fedb8d63b4c6 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -882,7 +882,7 @@ static ssize_t loop_attr_dio_show(struct loop_device *lo, char *buf) { int dio = (lo->lo_flags & LO_FLAGS_DIRECT_IO); - return sprintf(buf, "%s\n", dio ? "1" : "0"); + return sysfs_emit(buf, "%s\n", dio ? "1" : "0"); } LOOP_ATTR_RO(backing_file);