Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp1321308pxb; Tue, 17 Aug 2021 08:56:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJywbDcH7FA+EkeE7XziC53C/KgwZ6tlKF5L0aesnlkHV4oN6L6kChJLBbI3oo6eCGDUvc2/ X-Received: by 2002:a92:290f:: with SMTP id l15mr2800372ilg.290.1629215803323; Tue, 17 Aug 2021 08:56:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629215803; cv=none; d=google.com; s=arc-20160816; b=MlIoroMX2IVe8jSwpOhamRBMxiqFCwdK9FjX2Rn1O7CWCZzD/YFfL1vXGio1nAcdSB AHjzOSKf8N3rPZDC0Qa66qPHPjhV28NA8YCOJmdMLQqbjXa17yMp4YRtZyzG9+QMdHES wEKrUNPIsGs8/NWSqVlEGHmH01e/Km7n/vTS8J1+au7XEPyYK+DtdsIkE5iXLM4kY68n uRIcetIggSKhOIHSo6RNnuhaqKfhnlh60cviDJtO5b686RnliHQk3Kvyg0w5I1Oa+TZB 9JCDfFx0Lb4BqHcUL1U7El/Wa8EncEXIgqHCe7jtspPPg3MAhtsrX8wt3c6044n16U7D 6p1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=v0hQixm9rFDyfCb8x3z8NpvLmyS1xjpuXq0JxAdkoM0=; b=GWdwoa9pRc38by42zKSkngeZXQAR7Dx15Tfe+JJsJdO8wtTI0MIPHlcJfd/X5gjH17 i65yU430DX3cxJFdIs0ttLjhpMSaAbaWnvoRBGJ8kvl35h/vo0bU2FLIOfa0SLMBHQVM fFxErL6OwZ7jfUOEHg57aGK7wxfBtu96/IfFVim6obXyeW/O/b3shWV+J/W6ZKvSGDUc JO4fziuxfHKnZLo5NDrfKR2eWQq0yCkfBdHEd3hAVMHr062QH7mtXKzC56+JncO2mRXX vIzbtmIa+YysMdbKe4LL9/8hsQ7E5RcCBS1gfWkxWHVGu+fxU0h5y/By1G0Wj2e7xEqZ vf0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=kHgb5Wh2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h15si2553264jar.80.2021.08.17.08.56.30; Tue, 17 Aug 2021 08:56:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=kHgb5Wh2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240633AbhHQP4U (ORCPT + 99 others); Tue, 17 Aug 2021 11:56:20 -0400 Received: from mout.gmx.net ([212.227.15.18]:46987 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240271AbhHQPtC (ORCPT ); Tue, 17 Aug 2021 11:49:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1629215282; bh=9NtNBAzbovJ6oChii23fCVCShJxs0EWaS5IHENt5Bu4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=kHgb5Wh2YOeKAf335CGvtrAAKPA8I6y+e6qFMQ+Huf/cWKpaxn2Q6cXD1aU9UwAc8 6KBKEetyCvQoEGG+sOMV9jSiOw+iJEO/5AgilniF/aC8vBahDqjj40ICPWgZoybMqU m+V2oc4S1shCb6eK0V9AMr9lpXmVLmXen6xHvce4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([79.150.72.99]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1N8XPn-1nAkpE32bB-014UpR; Tue, 17 Aug 2021 17:48:01 +0200 From: Len Baker To: "James E.J. Bottomley" , Helge Deller , Dmitry Torokhov Cc: Len Baker , linux-parisc@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook , linux-hardening@vger.kernel.org Subject: [PATCH] input/gscps2: Prefer strscpy over strlcpy Date: Tue, 17 Aug 2021 17:47:28 +0200 Message-Id: <20210817154728.3964-1-len.baker@gmx.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:SqWuKpv+L/u02yV3UejNX5E2A0SVXdG4VgTJSZ6Xq4Qvjvx2kSj uC1K1cVTzi3fvESTvFQmJfFustHJKSOFmpUmJKRMPMvbh+2XBDVrSarX74zy3rvtvEKyvEm +g2pW7jQnElStruQRJubmg3ol3J5pcvspB1xbdaER2Em8Qqmas1YhfyI26QoHrcAz0jyD/Q tgFk6h5lKGCvouaDJ9PtQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:p7+Z05u49Ok=:enr38GetFC858aqm9GCWB9 le7W32OtXsbQjhJLgMCE9HgqrKEo5xPe1/fHDz4rP6YP4WwZKnBBUKU6duabG1kf+0BNaymKQ 6uDKWvtyRiErbDKEh9Ko4zVAEbzVM99lAnEXHjX49R1enIAYALbkCU/vlXwAzgLjDNv6Hq+ef iApbHMa4ArmKPsVyE6r3W8vKdXaNtbzSZ4BukpKDzLAGVDFUFtcfAi+KUkTfu0/kGUECrHNvK UoWi5F45iYCApfnK+MZnUyxBHsIi9jIXcPmiN25AcpAeTNlcLIlBeorp87yK1abDpSEdqYTnY qAWM8wZmwEtNUlVJQaWZZh6D8qEsNBsPzzGShzWpcdv3d6149XEdje7cTyA3zmqmkYY3w5NSN rhCp5ywh1TVO1Rqur60WiYKOWdfjlJag5UPlqBT1GH7MlqTzTPeDLmUzfoKQMtfIRmHr+sZ8N r+aijTQJHwEFZSKA5ae6jeOU3V6LaISHXliKB956xcnnWK/SPFEvqZ+SxCadFO0zDvAsYzSCb jQWS7bCsTdHgpnGS/mKuHg0YITQ0akNtE7bZXGvnJwQcjVzQQ0QAa4Q7LjpDOOrfvX9CTSMVf zI+rMUgojvcn2bYReekrt6TQ+kQ1gxoY4LJ/U11e6SXXgjh486trddBhj9F7YllHiLbufyj7C aWRREh9jgAJZj6jiyBmJHDpspjWamrf4umlk5/OeyZU96N4MIAiWDmMEdA3sseZyJX5fJ9IF9 qJ+AXJpkm7ZGduLm3q+oDgTctJf77HctShYHImEu4yr4wHOV7A83n3eYvt3+/leDtCuG56RoF +wYnL5ZnOJPXfZmtkFxR22OEqnc7XYORxsDUaa3QLVzCkbEfdbji1XfL1Wi155uZTDE+NOlQG ukFHWI86UhMnMvUbYyCUMPpvFnQ3AxME9MRVhccXsk2pYi9v8XDvdXr0pixKDIba/PBmZOOfM vXxa+ZrMtzAOuR8tZKrHRyzoPEu8I6VkIaL3g91kaAPDBxDa8GzaTD3sPJqemZGKT8vYIiTEP joe4z06MvHl3Ni1lGXFOwOKYVb+E+k6PQKt2nUR4PMZy3pLBtjj60B3glk0T0Exb94i/71vgK k1Whs3GErnCyY+0+Kr93GZFsQDoH4N9zdq5jVEliMJKceDMzO5M2NEEiA== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org strlcpy() reads the entire source buffer first. This read may exceed the destination size limit. This is both inefficient and can lead to linear read overflows if a source string is not NUL-terminated. The safe replacement is strscpy(). This is a previous step in the path to remove the strlcpy() function entirely from the kernel [1]. [1] https://github.com/KSPP/linux/issues/89 Signed-off-by: Len Baker =2D-- drivers/input/serio/gscps2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c index 2f9775de3c5b..cae74d0edb09 100644 =2D-- a/drivers/input/serio/gscps2.c +++ b/drivers/input/serio/gscps2.c @@ -357,7 +357,7 @@ static int __init gscps2_probe(struct parisc_device *d= ev) snprintf(serio->name, sizeof(serio->name), "gsc-ps2-%s", (ps2port->id =3D=3D GSC_ID_KEYBOARD) ? "keyboard" : "mouse"); - strlcpy(serio->phys, dev_name(&dev->dev), sizeof(serio->phys)); + strscpy(serio->phys, dev_name(&dev->dev), sizeof(serio->phys)); serio->id.type =3D SERIO_8042; serio->write =3D gscps2_write; serio->open =3D gscps2_open; =2D- 2.25.1