From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C4AA3C4338F for ; Sun, 8 Aug 2021 13:52:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5FB356101C for ; Sun, 8 Aug 2021 13:52:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 5FB356101C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6mSFLtncA/H90Kh5aqd+/bQ20gyMS3mCAKVve1IK4MA=; b=FNSXS4O9f+l9ch 2spfqIAjzcuee3SOhtK+zBOjiJdEFZlj8y3FI0H47cQ9npGCYILA0xamXh/pocpe/J0Rux03qGEeH exfx8WetqNpJv6EFTiW1zZikAagU/XVWGovDAn8IYwL4sA5X9XS4D79iNQ51TJ7NPfWK3+c6m6SmG fxnhfSm5uhVdv06meoKaw6Bg25Hf2EXG1qFJXkeKcTibqUDSSUBiPUoHHMyaO4AYUSYTIn4y9VUSN EJMlFT7WRts0VgK4y3iAqUCjK3a+dSh67RG0z/cJkaNmWcWU1SJeYNumsHWDo/9TiQAi+qzOwWPhR eq2Z12MUW3t/v8Wq2s8g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mCjCJ-00Fwhj-1T; Sun, 08 Aug 2021 13:50:39 +0000 Received: from mout.gmx.net ([212.227.15.18]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mCjCE-00FwhJ-Rq for linux-arm-kernel@lists.infradead.org; Sun, 08 Aug 2021 13:50:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1628430627; bh=Ktznl9CYvf9P3FGZ74Aoo+T36/BoOc7RBNfte+REZSo=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=R2zko4oE7hSiINxxBxFzyLb+HeAqm/NLJydnAPe00vh7CzpnF4YqZhhbEBhEfwl1j 0yuInVZpmmJazA95y4+osOLeUc5g0dAgeF4d8jQ2J0IynyOhWCOxiON84D9AuwZAdh eElg3Zlv6hdAH/rKINp2IZdBrtV6ZqEtgK/77rsE= 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 1MiaY9-1moHo52zRf-00fiW9; Sun, 08 Aug 2021 15:50:26 +0200 From: Len Baker To: Andy Gross , Bjorn Andersson , Geert Uytterhoeven , Magnus Damm , Santosh Shilimkar Cc: Len Baker , Kees Cook , David Laight , Robin Murphy , linux-hardening@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 1/3] drivers/soc/qcom: Prefer strscpy over strcpy Date: Sun, 8 Aug 2021 14:50:10 +0200 Message-Id: <20210808125012.4715-2-len.baker@gmx.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210808125012.4715-1-len.baker@gmx.com> References: <20210808125012.4715-1-len.baker@gmx.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:bKMKh4yUQahWuZCqr9eYkhBfX4qp+zip5+o5puFZDzukWBlvHsz cFlJ7S/doOPwSj0tmIHU8PiOoVf/dMxmaZZwkZzK+3CoOFCR/Fq0d8OACmZ1z+kfh1pbNHR fo7Cmr7vOF4JkT7VadJ+xLcnni2w6bPY/jGbw9m9UGu0DbbW/uH+WD0OJn5xnW1f9z7sApP phIE7IwrGdHZ417jSOHJQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:SZaMBMHMq9U=:X4/f8pnYnJFLjNOfKICyc9 mN9/w9eAApH3pfHskmcO55ch3pe7vhMM4yM8GtxA3rB65FUKM0uyN2H+dbcwnRUyIq5JXX5a0 dM3Wqy9wg+1o8NzMylWJF5+/fESEUdAZwcpFSTlEr72aqr/mJHT9wUcX23wDmfyYocosuKWOk qsFUXYorMzk0fg5Nt52iJZfKr0/acRKc8OQ8Q3rLaOPyscG4F/szyduaAsu/r8VZXxYXxzwPn uYomkjJJrTmpYozdKeZkmZWXLsSCIz8asvMpp6CpXZsJSTKYOBj2LEu7LjbKwAW3/qhpdAbUT HDg0SJ2Z0ha/tIAlqjURCZvfTVn2SjDEKJhspxt1HVCs5fnyxP0sgSJBwEAhz3noXDXbDjzHs SgKin3LADIYxlBzO3hCJWHJZXWrzR96f0SX0BZEVwWrFf4tSq8DNjXT69wQhPX9GfuTm6Gjm2 x2DyKDxNqAOsbbqE5ZOhjXfp1VVZo0Y7OYulB213y7PedDTuQsV8l0AjaAOjFzxs7jWriWbDD 33A/a7TMLuT3hejk/+6adPB/E17J1+6EQvnu73cCRCVBU6GF3TwesFO0tkoppF1gn6qCLWaTC G3o08F4sKoRUfkH4k8eH0QIytfCsclzJGYb5JD5w00dQlXfYTB/Dqsae8Z+u10wA08GVcYtoC EQ2vkQsCW5a10gPkBM3qXHq/CpFm032QEqe9mtyvq6oVZUQNODYBL80AvBA8itmnNOF01UkBd UfPnI9xCg9dbbx1Nt2Qlu3vpwRkAHVNz1Ud0drZeAj7fYXuZ+nCNWdbL4SEmwANAha3YzIRjS XNl5qeJoik1Mzxem3PWKPcEHR75lWtgciRsDO7FpiQnD3GeNZ+TfUdYmP8enOD+2Wjxo/uurx AUK6IuMJ6R7pj83YolXI0OIE+v3qWTr/BIFxWtU7N7topeWfoviMCU0ANGms2vIgal3KwY7nU g4nyb/cCbIIRfEnYzgYK3xw2UF8+8PKf47b57VcjY/1EdqEfFMMaULilswhuR6zKnc9VPJfWj Z0df82eECByJdelrXpMdatoaSs0oBbWFNy3O7yT5kMWA1CCsDXIuh5rp/Z1XOGWXzIPwzcHU4 5dQE14EF1zSyA+PSQ83e9wrSZHhZYdHpSav9VGKPnLG/wSamz4esasimA== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210808_065035_240287_F5863B65 X-CRM114-Status: GOOD ( 11.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org strcpy() performs no bounds checking on the destination buffer. This could result in linear overflows beyond the end of the buffer, leading to all kinds of misbehaviors. The safe replacement is strscpy(). This is a previous step in the path to remove the strcpy() function entirely from the kernel. Signed-off-by: Len Baker --- drivers/soc/qcom/pdr_interface.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/soc/qcom/pdr_interface.c b/drivers/soc/qcom/pdr_interface.c index 915d5bc3d46e..fc580a3c4336 100644 --- a/drivers/soc/qcom/pdr_interface.c +++ b/drivers/soc/qcom/pdr_interface.c @@ -131,7 +131,7 @@ static int pdr_register_listener(struct pdr_handle *pdr, return ret; req.enable = enable; - strcpy(req.service_path, pds->service_path); + strscpy(req.service_path, pds->service_path, sizeof(req.service_path)); ret = qmi_send_request(&pdr->notifier_hdl, &pds->addr, &txn, SERVREG_REGISTER_LISTENER_REQ, @@ -257,7 +257,7 @@ static int pdr_send_indack_msg(struct pdr_handle *pdr, struct pdr_service *pds, return ret; req.transaction_id = tid; - strcpy(req.service_path, pds->service_path); + strscpy(req.service_path, pds->service_path, sizeof(req.service_path)); ret = qmi_send_request(&pdr->notifier_hdl, &pds->addr, &txn, SERVREG_SET_ACK_REQ, @@ -406,7 +406,7 @@ static int pdr_locate_service(struct pdr_handle *pdr, struct pdr_service *pds) return -ENOMEM; /* Prepare req message */ - strcpy(req.service_name, pds->service_name); + strscpy(req.service_name, pds->service_name, sizeof(req.service_name)); req.domain_offset_valid = true; req.domain_offset = 0; @@ -531,8 +531,8 @@ struct pdr_service *pdr_add_lookup(struct pdr_handle *pdr, return ERR_PTR(-ENOMEM); pds->service = SERVREG_NOTIFIER_SERVICE; - strcpy(pds->service_name, service_name); - strcpy(pds->service_path, service_path); + strscpy(pds->service_name, service_name, sizeof(pds->service_name)); + strscpy(pds->service_path, service_path, sizeof(pds->service_path)); pds->need_locator_lookup = true; mutex_lock(&pdr->list_lock); @@ -587,7 +587,7 @@ int pdr_restart_pd(struct pdr_handle *pdr, struct pdr_service *pds) break; /* Prepare req message */ - strcpy(req.service_path, pds->service_path); + strscpy(req.service_path, pds->service_path, sizeof(req.service_path)); addr = pds->addr; break; } -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel