[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d2d321cd-7ca7-42d9-8eb8-7ab639dddfa6@wanadoo.fr>
Date: Fri, 20 Jun 2025 21:56:09 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Hendrik Hamerlinck <hendrik.hamerlinck@...mernet.be>,
stern@...land.harvard.edu, gregkh@...uxfoundation.org
Cc: skhan@...uxfoundation.org, linux-kernel-mentees@...ts.linux.dev,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: ehci: replace scnprintf() with sysfs_emit()
Le 19/06/2025 à 14:07, Hendrik Hamerlinck a écrit :
> Per Documentation/filesystems/sysfs.rst, show() methods should only
> use sysfs_emit() or sysfs_emit_at() when formatting values to be
> returned to userspace.
>
> Convert the uses of scnprintf() in sysfs show() methods to
> sysfs_emit() and sysfs_emit_at() for better safety and consistency.
>
> Signed-off-by: Hendrik Hamerlinck <hendrik.hamerlinck@...mernet.be>
> ---
> drivers/usb/host/ehci-sysfs.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-sysfs.c b/drivers/usb/host/ehci-sysfs.c
> index 8f75cb7b197c..3786e81b0ed9 100644
> --- a/drivers/usb/host/ehci-sysfs.c
> +++ b/drivers/usb/host/ehci-sysfs.c
> @@ -12,21 +12,18 @@ static ssize_t companion_show(struct device *dev,
> char *buf)
> {
> struct ehci_hcd *ehci;
> - int nports, index, n;
> - int count = PAGE_SIZE;
> - char *ptr = buf;
> + int nports, index;
> + int len = 0;
>
> ehci = hcd_to_ehci(dev_get_drvdata(dev));
> nports = HCS_N_PORTS(ehci->hcs_params);
>
> for (index = 0; index < nports; ++index) {
> if (test_bit(index, &ehci->companion_ports)) {
> - n = scnprintf(ptr, count, "%d\n", index + 1);
> - ptr += n;
> - count -= n;
> + len += sysfs_emit_at(buf, len, "%d\n", index + 1);
> }
Nitpick: extra { } looks useless now.
> }
> - return ptr - buf;
> + return len;
> }
>
> /*
> @@ -70,11 +67,9 @@ static ssize_t uframe_periodic_max_show(struct device *dev,
> char *buf)
> {
> struct ehci_hcd *ehci;
> - int n;
>
> ehci = hcd_to_ehci(dev_get_drvdata(dev));
> - n = scnprintf(buf, PAGE_SIZE, "%d\n", ehci->uframe_periodic_max);
> - return n;
> + return sysfs_emit(buf, "%d\n", ehci->uframe_periodic_max);
> }
>
>
Powered by blists - more mailing lists