Patch "usb: gadget: f_uac2: fix non-newline-terminated function name" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    usb: gadget: f_uac2: fix non-newline-terminated function name

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     usb-gadget-f_uac2-fix-non-newline-terminated-functio.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 530739d91251d63c2bd40a0aa65ef1dd1a948f05
Author: John Keeping <jkeeping@xxxxxxxxxxxxxxxxx>
Date:   Mon Jul 8 15:25:53 2024 +0100

    usb: gadget: f_uac2: fix non-newline-terminated function name
    
    [ Upstream commit e60284b63245b84c3ae352427ed5ff8b79266b91 ]
    
    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).
    
    Update the store function to strip an optional newline, matching the
    behaviour of usb_string_copy().
    
    Signed-off-by: John Keeping <jkeeping@xxxxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240708142553.3995022-1-jkeeping@xxxxxxxxxxxxxxxxx
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
    Stable-dep-of: 9499327714de ("usb: gadget: f_uac2: fix return value for UAC2_ATTRIBUTE_STRING store")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/usb/gadget/function/f_uac2.c b/drivers/usb/gadget/function/f_uac2.c
index 55a4f07bc9cc1..79d1f87c6cc59 100644
--- a/drivers/usb/gadget/function/f_uac2.c
+++ b/drivers/usb/gadget/function/f_uac2.c
@@ -2060,7 +2060,10 @@ static ssize_t f_uac2_opts_##name##_store(struct config_item *item,	\
 		goto end;						\
 	}								\
 									\
-	ret = scnprintf(opts->name, min(sizeof(opts->name), len),	\
+	if (len && page[len - 1] == '\n')				\
+		len--;							\
+									\
+	ret = scnprintf(opts->name, min(sizeof(opts->name), len + 1),	\
 			"%s", page);					\
 									\
 end:									\




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux