On Wed, Jul 12, 2023 at 12:57:53PM +0100, Ben Dooks wrote:
> If we're writing what could be an arbitrary sized string into an attribute
> we should probably use sysfs_emit() just to be safe. Most of the other
> attriubtes are some sort of integer so unlikely to be an issue so not
> altered at this time.

Hi Ben,

Documentation/process/submitting-patches.rst says:
"Don't add "RESEND" when you are submitting a modified version of your
patch or patch series - "RESEND" only applies to resubmission of a
patch or patch series which have not been modified in any way from the
previous submission."

I see maybe you are going to go back and use sysfs_emit in all the
_show functions. I'd suggest either justify it as either a) or b),
Both are more explicit than 'just to be safe'

a) following the recommendations of Documentation/filesystems/sysfs.rst
which says to only use sysfs_emit in show() functions.

b) explain that you are doing it because sprintf does not know the
PAGE_SIZE maximum of the temporary buffer used for outputting sysfs
content requests and it's possible to overrun the buffer length.

I vote for doing 'em all!

Alison


> 
> Signed-off-by: Ben Dooks <[email protected]>
> ---
> v2:
>   - use sysfs_emit() instead of snprintf.
> ---
>  drivers/acpi/nfit/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
> index 9213b426b125..59c354137627 100644
> --- a/drivers/acpi/nfit/core.c
> +++ b/drivers/acpi/nfit/core.c
> @@ -1579,7 +1579,7 @@ static ssize_t id_show(struct device *dev,
>  {
>       struct nfit_mem *nfit_mem = to_nfit_mem(dev);
>  
> -     return sprintf(buf, "%s\n", nfit_mem->id);
> +     return sysfs_emit(buf, "%s\n", nfit_mem->id);
>  }
>  static DEVICE_ATTR_RO(id);
>  
> -- 
> 2.40.1
> 
> 

Reply via email to