fs/xfs/xfs_sysfs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Replace all snprintf() instances with scnprintf(). snprintf() returns
the number of bytes that would have been written had there been enough
space. For sysfs attributes, snprintf() should not be used for the
show() method. Instead use scnprintf() which returns the number of bytes
actually written.
Signed-off-by: Pranav Tyagi <pranav.tyagi03@gmail.com>
---
fs/xfs/xfs_sysfs.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c
index 7a5c5ef2db92..f7206e3edea2 100644
--- a/fs/xfs/xfs_sysfs.c
+++ b/fs/xfs/xfs_sysfs.c
@@ -257,7 +257,7 @@ larp_show(
struct kobject *kobject,
char *buf)
{
- return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp);
+ return scnprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp);
}
XFS_SYSFS_ATTR_RW(larp);
@@ -283,7 +283,7 @@ bload_leaf_slack_show(
struct kobject *kobject,
char *buf)
{
- return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.bload_leaf_slack);
+ return scnprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.bload_leaf_slack);
}
XFS_SYSFS_ATTR_RW(bload_leaf_slack);
@@ -309,7 +309,7 @@ bload_node_slack_show(
struct kobject *kobject,
char *buf)
{
- return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.bload_node_slack);
+ return scnprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.bload_node_slack);
}
XFS_SYSFS_ATTR_RW(bload_node_slack);
--
2.49.0
On Mon, Jun 16, 2025 at 04:33:13PM +0530, Pranav Tyagi wrote: > Replace all snprintf() instances with scnprintf(). snprintf() returns > the number of bytes that would have been written had there been enough > space. For sysfs attributes, snprintf() should not be used for the > show() method. Instead use scnprintf() which returns the number of bytes > actually written. No, please use sysfs_emit() if you really want to change this. > > Signed-off-by: Pranav Tyagi <pranav.tyagi03@gmail.com> > --- > fs/xfs/xfs_sysfs.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > index 7a5c5ef2db92..f7206e3edea2 100644 > --- a/fs/xfs/xfs_sysfs.c > +++ b/fs/xfs/xfs_sysfs.c > @@ -257,7 +257,7 @@ larp_show( > struct kobject *kobject, > char *buf) > { > - return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp); There is nothing wrong with the original code here, you could use sprintf() and it too is ok. So this type of change is not needed. But again, if you really want to, use sysfs_emit() instead. Same for all the other show() callback changes you just made. thanks, greg k-h
On Mon, Jun 16, 2025 at 7:50 PM Greg KH <gregkh@linuxfoundation.org> wrote: > > On Mon, Jun 16, 2025 at 04:33:13PM +0530, Pranav Tyagi wrote: > > Replace all snprintf() instances with scnprintf(). snprintf() returns > > the number of bytes that would have been written had there been enough > > space. For sysfs attributes, snprintf() should not be used for the > > show() method. Instead use scnprintf() which returns the number of bytes > > actually written. > > No, please use sysfs_emit() if you really want to change this. > > > > > Signed-off-by: Pranav Tyagi <pranav.tyagi03@gmail.com> > > --- > > fs/xfs/xfs_sysfs.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > > index 7a5c5ef2db92..f7206e3edea2 100644 > > --- a/fs/xfs/xfs_sysfs.c > > +++ b/fs/xfs/xfs_sysfs.c > > @@ -257,7 +257,7 @@ larp_show( > > struct kobject *kobject, > > char *buf) > > { > > - return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp); > > There is nothing wrong with the original code here, you could use > sprintf() and it too is ok. So this type of change is not needed. But > again, if you really want to, use sysfs_emit() instead. > > Same for all the other show() callback changes you just made. > > thanks, > > greg k-h Hi, Thanks for the feedback. I understand the original code is perfectly fine. All these show callback changes were intended as cleanups. I'll drop these patches. And will use sysfs_emit() if I ever have to. Regards Pranav Tyagi
© 2016 - 2025 Red Hat, Inc.