From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: John Keeping <jkeeping@inmusicbrands.com>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] usb: gadget: f_uac2: fix non-newline-terminated function name
Date: Wed, 10 Jul 2024 15:40:57 +0200 [thread overview]
Message-ID: <2024071048-science-footprint-ee8e@gregkh> (raw)
In-Reply-To: <Zo6M2RntMo6Qnx3B-jkeeping@inmusicbrands.com>
On Wed, Jul 10, 2024 at 02:30:01PM +0100, John Keeping wrote:
> On Wed, Jul 10, 2024 at 01:53:22PM +0200, Greg Kroah-Hartman wrote:
> > On Mon, Jul 08, 2024 at 03:25:53PM +0100, John Keeping wrote:
> > > Most writes to configfs handle an optional newline, but do not require
> > > it. By using the number of bytes written as the limit for scnprintf()
> > > it is guaranteed that the final character in the buffer will be
> > > overwritten.
> > >
> > > This is expected if it is a newline but is undesirable when a string is
> > > written "as-is" (as libusbgx does, for example).
> >
> > So we are changing kernel functionality because a userspace program does
> > not work? Why not fix the userspace program?
>
> This file behaves differently from every other sysfs/debugfs/configfs
> file AFAICT. In most places the behaviour of the following two commands
> is equivalent:
>
> $ echo foo >file
>
> $ printf foo >file
>
> But for this function_name the result is that the final character is
> dropped unconditionally, so the name reported in the USB descriptors
> will be "fo" in the second case.
>
> > > Update the store function to strip an optional newline, matching the
> > > behaviour of usb_string_copy().
> >
> > This changes the behaviour of a lot of configfs files right? What will
> > break if this happens?
>
> No, this is just one file in f_uac2.
>
> I can't see any scenario where a newline in a USB string descriptor
> makes sense so it's unlikely to break any existing use cases.
>
> This brings the audio function name more in line with other string
> descriptors for the device manufacturer/product or configuration name
> which use usb_string_copy() and strip a trailing newline if it's
> present.
Ok, thanks for the added info, now applied.
greg k-h
prev parent reply other threads:[~2024-07-10 13:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-08 14:25 [PATCH] usb: gadget: f_uac2: fix non-newline-terminated function name John Keeping
2024-07-10 11:53 ` Greg Kroah-Hartman
2024-07-10 13:30 ` John Keeping
2024-07-10 13:40 ` Greg Kroah-Hartman [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024071048-science-footprint-ee8e@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=jkeeping@inmusicbrands.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox