All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: balbi@kernel.org
Cc: gregkh@linuxfoundation.org, andrzej.p@samsung.com,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	Stefan Agner <stefan@agner.ch>
Subject: [PATCH 1/2] fs: configfs: make qw_sign attribute symmetric
Date: Tue, 31 Jan 2017 18:19:16 -0800	[thread overview]
Message-ID: <20170201021917.27398-1-stefan@agner.ch> (raw)

Currently qw_sign requires UTF-8 character to set, but returns UTF-16
when read. This isn't obvious when simply using cat since the null
characters are not visible, but hexdump unveils the true string:

  # echo MSFT100 > os_desc/qw_sign
  # hexdump -C os_desc/qw_sign
  00000000  4d 00 53 00 46 00 54 00  31 00 30 00 30 00        |M.S.F.T.1.0.0.|

Make qw_sign symmetric by returning an UTF-8 string too. Also follow
common convention and add a new line at the end.

Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 drivers/usb/gadget/configfs.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c
index 78c44979dde3..ea1a40f5b23d 100644
--- a/drivers/usb/gadget/configfs.c
+++ b/drivers/usb/gadget/configfs.c
@@ -786,9 +786,13 @@ static ssize_t os_desc_b_vendor_code_store(struct config_item *item,
 static ssize_t os_desc_qw_sign_show(struct config_item *item, char *page)
 {
 	struct gadget_info *gi = os_desc_item_to_gadget_info(item);
+	int res;
 
-	memcpy(page, gi->qw_sign, OS_STRING_QW_SIGN_LEN);
-	return OS_STRING_QW_SIGN_LEN;
+	res = utf16s_to_utf8s((wchar_t *) gi->qw_sign, OS_STRING_QW_SIGN_LEN,
+			      UTF16_LITTLE_ENDIAN, page, PAGE_SIZE - 1);
+	page[res++] = '\n';
+
+	return res;
 }
 
 static ssize_t os_desc_qw_sign_store(struct config_item *item, const char *page,
-- 
2.11.0

             reply	other threads:[~2017-02-01  2:18 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-01  2:19 Stefan Agner [this message]
2017-02-01  2:19 ` [PATCH 2/2] fs: configfs: use hexadecimal values and new line Stefan Agner
2017-02-01  8:07   ` Greg KH
2017-02-01  9:02     ` Felipe Balbi
2017-02-01 16:51       ` Stefan Agner
2017-02-01  8:06 ` [PATCH 1/2] fs: configfs: make qw_sign attribute symmetric Greg KH
2017-02-01 16:59   ` Stefan Agner
2017-02-09 18:04     ` Stefan Agner
2017-02-10 11:19       ` Greg KH
2017-02-10 12:30         ` Felipe Balbi
2017-02-10 20:29           ` Stefan Agner
2017-02-13 10:46             ` Felipe Balbi
2017-02-01  8:07 ` Greg KH
     [not found] <CGME20170415013337epcas3p4871e4a671b352fed711acaf38803095f@epcas3p4.samsung.com>
2017-04-15  1:35 ` Stefan Agner
2017-04-19  8:53   ` Krzysztof Opasiak
2017-05-25  8:33     ` Stefan Agner
2017-06-02  8:25       ` Felipe Balbi

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=20170201021917.27398-1-stefan@agner.ch \
    --to=stefan@agner.ch \
    --cc=andrzej.p@samsung.com \
    --cc=balbi@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.