> On Sep 21, 2021, at 4:21 AM, Chaitanya Kulkarni <chaitanyak@xxxxxxxxxx> wrote: > > From: Chaitanya Kulkarni <kch@xxxxxxxxxx> > > 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 autoclear > attribute. > > Signed-off-by: Chaitanya Kulkarni <kch@xxxxxxxxxx> > --- > 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 ec1329afc154..fd935b788c53 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -868,7 +868,7 @@ static ssize_t loop_attr_autoclear_show(struct loop_device *lo, char *buf) > { > int autoclear = (lo->lo_flags & LO_FLAGS_AUTOCLEAR); > > - return sprintf(buf, "%s\n", autoclear ? "1" : "0"); > + return sysfs_emit(buf, "%s\n", autoclear ? "1" : "0"); > } > > static ssize_t loop_attr_partscan_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@xxxxxxxxxx> -- Himanshu Madhani Oracle Linux Engineering