Commit 4f92b47c authored by Ingo Rohloff's avatar Ingo Rohloff Committed by Wen Zhiwei
Browse files

usb: gadget: configfs: Ignore trailing LF for user strings to cdev

stable inclusion
from stable-v6.6.72
commit ea57f0bbe225d189c1cb338a74c83fa559575e3b
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBQN9L

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ea57f0bbe225d189c1cb338a74c83fa559575e3b



--------------------------------

commit 9466545720e231fc02acd69b5f4e9138e09a26f6 upstream.

Since commit c0335632
("usb: gadget: configfs: Attach arbitrary strings to cdev")
a user can provide extra string descriptors to a USB gadget via configfs.

For "manufacturer", "product", "serialnumber", setting the string via
configfs ignores a trailing LF.

For the arbitrary strings the LF was not ignored.

This patch ignores a trailing LF to make this consistent with the existing
behavior for "manufacturer", ...  string descriptors.

Fixes: c0335632 ("usb: gadget: configfs: Attach arbitrary strings to cdev")
Cc: stable <stable@kernel.org>
Signed-off-by: default avatarIngo Rohloff <ingo.rohloff@lauterbach.com>
Link: https://lore.kernel.org/r/20241212154114.29295-1-ingo.rohloff@lauterbach.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarWen Zhiwei <wenzhiwei@kylinos.cn>
parent fe5ed18a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -824,11 +824,15 @@ static ssize_t gadget_string_s_store(struct config_item *item, const char *page,
{
	struct gadget_string *string = to_gadget_string(item);
	int size = min(sizeof(string->string), len + 1);
	ssize_t cpy_len;

	if (len > USB_MAX_STRING_LEN)
		return -EINVAL;

	return strscpy(string->string, page, size);
	cpy_len = strscpy(string->string, page, size);
	if (cpy_len > 0 && string->string[cpy_len - 1] == '\n')
		string->string[cpy_len - 1] = 0;
	return len;
}
CONFIGFS_ATTR(gadget_string_, s);