From nobody Mon Dec 26 21:40:02 2022 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NgrmM0Gjpz1J3Vs; Mon, 26 Dec 2022 21:40:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NgrmL6ynGz4BFy; Mon, 26 Dec 2022 21:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672090803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5lyQwrPlbd5UG9/dSm1oqv6yuNUb+DBJs00Zh1vyG8=; b=Oiz8hxd2D7jr5wijuBPilV7ZXv7THlqBy3t8pGTdBhSxGh8uHVKJM+EF32eSgICzIJguax hWnpU5dFSZ3j8MXu+HetFgQVc9hkIjFUchhyVmiWd5iD8Z3vUeqEXR0fIKVe2iVVIb9yQn QozqJurd3eLEgLV6SvgLo3xTSqX43Zo1n6YoR4Iko4Y1zNTy0cmID9I6lCYtZSGyPtvOPe cSZ+I0wXDClG8Dmb9e2b0I8PBYUlMNChWPyOcIShcvjPTgjT8TbNbq+kJbKzLPW7z6Ovia 8Jz7+hH59MiiuWOq9960khE+cFqjhkHMCMXsCPQwj4VCg05H83bNIoUhmubOqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672090803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5lyQwrPlbd5UG9/dSm1oqv6yuNUb+DBJs00Zh1vyG8=; b=XsqGbtZuJJgnG3YUXmBTa80+5EBWEvY1u6sdORyN9cI2Mw7TXClBVi9GTiLkiE+vhZMvpD 3yYRZcS1IfxUv+cxn6+5jA1Uoob1FVLJGt3q7Wcj6W5ULTD17jl53QIRboRldHQMtcBQhi Vm5sEEh0PgOz3NC136tCrZSScbNV1eG+i2NP/2y9UKlk5vFfIM/C0LD9zeMjQHXYXnENqn 3csKty0+lwyx3Jd6U8NrYUnEza1fwgtAw0iOmlL005faUHw881H22w6JMusP1calwoprrG HGdfeKFAowBfo97fwF9nRW6Z6zz5FR/P7jETQXVvoGUYJPBUztHfCDoet531kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1672090803; a=rsa-sha256; cv=none; b=ymrlj3JRZ2018kZtOELA0OlSvLfsr8NvbW9lphakzGGOLGEi0ZWTp4NikTEptjp/dVOe/y QhAiOAx8NCdA3bR4Gsqcv2/WAVvDktJK+jMQKVef3O35U2p9RTueKxbM++N2gFyErOmO7l 6KzMlljopZpL5+JdnFTgMVRTC5zhnaNkFTxo5TFXRcR2yRcOEgBII+2ijFULN5+kToujS2 ys3ZxB3wlX01K14LuZkawW2KUyEBoLUO+DRquJm2cDHmxi0UrqH8bzWMjfDB68s+GIz2OO qDHr0nY0EQhj1PekLLo1JrSL8e5ijHLkrCCyKdZnBJBjVXiASszshXaX/cSzgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NgrmL64B1zmBl; Mon, 26 Dec 2022 21:40:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2BQLe2S5013617; Mon, 26 Dec 2022 21:40:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2BQLe2dD013615; Mon, 26 Dec 2022 21:40:02 GMT (envelope-from git) Date: Mon, 26 Dec 2022 21:40:02 GMT Message-Id: <202212262140.2BQLe2dD013615@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Vladimir Kondratyev Subject: git: 9d56f34ba29d - stable/13 - hidraw: Return string lengths for certain ioctls List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9d56f34ba29df59576e7752b1ab47c380043251c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=9d56f34ba29df59576e7752b1ab47c380043251c commit 9d56f34ba29df59576e7752b1ab47c380043251c Author: Michael Gmelin AuthorDate: 2022-05-17 09:37:21 +0000 Commit: Vladimir Kondratyev CommitDate: 2022-12-26 21:37:28 +0000 hidraw: Return string lengths for certain ioctls Make HIDIOCGRAWPHYS, HIDIOCGRAWNAME, and HIDIOCGRAWUNIQ return the length of the copied out string (including the trailing NUL character), so they behave like their Linux hidraw counterparts. (cherry picked from commit ed87ff4e95d92033d161e93ec1a35ce001638bae) --- sys/dev/hid/hidraw.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index e71b2e2c7d5d..8f66775bb791 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -517,6 +517,7 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct hidraw_gen_descriptor *hgd; struct hidraw_report_descriptor *hrd; struct hidraw_devinfo *hdi; + const char *devname; uint32_t size; int id, len; int error = 0; @@ -739,10 +740,13 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, switch (IOCBASECMD(cmd)) { case HIDIOCGRAWNAME(0): strlcpy(addr, sc->sc_hw->name, len); + td->td_retval[0] = min(strlen(sc->sc_hw->name) + 1, len); return (0); case HIDIOCGRAWPHYS(0): - strlcpy(addr, device_get_nameunit(sc->sc_dev), len); + devname = device_get_nameunit(sc->sc_dev); + strlcpy(addr, devname, len); + td->td_retval[0] = min(strlen(devname) + 1, len); return (0); case HIDIOCSFEATURE(0): @@ -773,6 +777,7 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, case HIDIOCGRAWUNIQ(0): strlcpy(addr, sc->sc_hw->serial, len); + td->td_retval[0] = min(strlen(sc->sc_hw->serial) + 1, len); return (0); }