From patchwork Tue Mar 7 13:51:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Balsam CHIHI X-Patchwork-Id: 13163624 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 3D3C9C678D4 for ; Tue, 7 Mar 2023 14:06:13 +0000 (UTC) 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: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:In-Reply-To:References: List-Owner; bh=Dzle9gfWcHN40m17EjC7sfbM63tPqEqYPAoBIM7gMx8=; b=Jo4YWdE3dtyZ5/ YRAWHMN7iiGpcjr0WIHln6jokeC2YmhTvzYpZZ1k8awLQjdmgC+N9GZq0VbQiS1VB1uzL9iUUWYCt XWZVwEO1qwOXXlXKZ5yAJckPfSRxIuJi2JeOqG9ufkWsL5LlgD28fLg2oi8SP4bJ24DOyXrvQRa0+ T0qf4+irIBxcLduhbOlfl+TbEGimkDgLwmzO44cAhISThxFtd0gc2wGf+8O2GPjdaGBBndsbC1Brs aB/xBCVNk3iN/V461gZ7ONto1KJdAaYzdIXAYGGJlbeBY4RC5AUAnjJJU7f+6Etl2ZC3jHhrDGfwv xszRJlFpFyHCD6n305gQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pZXw6-000cwa-G4; Tue, 07 Mar 2023 14:05:03 +0000 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pZXjJ-000X6G-8n for linux-arm-kernel@lists.infradead.org; Tue, 07 Mar 2023 13:51:51 +0000 Received: by mail-wm1-x32c.google.com with SMTP id m25-20020a7bcb99000000b003e7842b75f2so7236116wmi.3 for ; Tue, 07 Mar 2023 05:51:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; t=1678197107; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Eeel5XHVDoFzIY2YG1FRNg5liLwMdDxd6X70lesaeNg=; b=Zul4ruBfa/4iBgPzuTyulUW2npk8hslUuGmdoKV6W1NGhZCB2WsdJ6inQE0lZBH1ja v216EEM+zbVi2bi8qJ+6av8hAAMz8eFLlOAb7asF+k0yv0vaSLs4G7+b1jWMUPI7S58P nQtbgMwDpZd+m9lg+0bGR6LlrwkYm4APvCrSGsizO7k08F1vWO7QFlsR/tTldgtNL9wn odn8XpNCXiJxAm+B9iFaTHSrltoQQ/tk4RNFU3mdrHXiyHYQuLZDvnT50gOfO4oLcGRX LmRDM/uwVAnuvfZG/BFVOf2gRXoKbLRowc0lBaIvhe8q2awjIafGfEC6Cfs/xAZLS6Rb 0Xng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678197107; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Eeel5XHVDoFzIY2YG1FRNg5liLwMdDxd6X70lesaeNg=; b=WM1lSnkBRSx3WFGkraPQy7ClvEcV/7xg8ld6ky62pZDlWpobmdG8+JjTkOUg+24A83 Ps/qYSsDrtYxaxsNpdAqMAJIVU5Jg78IKvF+WBbvyMMFGa0SzoyDyzfqPgToNVvy9DLY AQX1kzsTOm7Jp1791HFwnekOGwxcZjzpYA7Aa7sDZRyRvcBMcUAb70Cl6c8WF1OqGpBq qZwGIKKu+MZ5WH36IHMLgRV3KCZc6Q9LBtbJJF30Kwp55STIp/QVvyjxMWYEq4Y1cxjR 1qYpyrq9fL56Eqom4CglSZhGbgMvBCrnRDuG1l4CekNwU+1r6JzGUkVUQnGIGaL5ZOh0 l7kA== X-Gm-Message-State: AO0yUKWd46TQA3fpZo8X6azPMPaGmsIfUS03B4G8rz3wXFJFJxK6igW0 ZSE7ktDRoKImtPlAobbXxBpQUQ== X-Google-Smtp-Source: AK7set8fzjhfw2Vzck5v/uH3rauzSEaxrWDWm8Wl3uUWZtgthYi3j6xE9TCTVnFUsIDO5+Vg40Sr6A== X-Received: by 2002:a05:600c:3b16:b0:3eb:5990:aea4 with SMTP id m22-20020a05600c3b1600b003eb5990aea4mr13164051wms.12.1678197107500; Tue, 07 Mar 2023 05:51:47 -0800 (PST) Received: from localhost.localdomain (laubervilliers-657-1-248-155.w90-24.abo.wanadoo.fr. [90.24.137.155]) by smtp.gmail.com with ESMTPSA id d14-20020a056000114e00b002c57475c375sm12932964wrx.110.2023.03.07.05.51.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Mar 2023 05:51:47 -0800 (PST) From: bchihi@baylibre.com To: daniel.lezcano@linaro.org, angelogioacchino.delregno@collabora.com, rafael@kernel.org, amitk@kernel.org, rui.zhang@intel.com, matthias.bgg@gmail.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, rdunlap@infradead.org, ye.xingchen@zte.com.cn, p.zabel@pengutronix.de Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, khilman@baylibre.com, james.lo@mediatek.com, rex-bc.chen@mediatek.com, error27@gmail.com Subject: [PATCH] thermal/drivers/mediatek/lvts_thermal: fix memcpy's number of bytes in lvts_calibration_init() Date: Tue, 7 Mar 2023 14:51:46 +0100 Message-Id: <20230307135146.86084-1-bchihi@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230307_055149_357319_29EE643F X-CRM114-Status: GOOD ( 15.02 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Balsam CHIHI Replace memcpy 2 bytes by sizeof(int) bytes of LVTS calibration data. Reported-by: Dan Carpenter Signed-off-by: Balsam CHIHI --- Rebased on top of thermal/linux-next base-commit: 6828e402d06f7c574430b61c05db784cd847b19f Original email : Hello Balsam CHIHI, The patch f5f633b18234: "thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver" from Feb 9, 2023, leads to the following Smatch static checker warning: drivers/thermal/mediatek/lvts_thermal.c:562 lvts_calibration_init() warn: not copying enough bytes for '&lvts_ctrl->calibration[i]' (4 vs 2 bytes) drivers/thermal/mediatek/lvts_thermal.c 555 static int lvts_calibration_init(struct device *dev, struct lvts_ctrl *lvts_ctrl, 556 const struct lvts_ctrl_data *lvts_ctrl_data, 557 u8 *efuse_calibration) 558 { 559 int i; 560 561 for (i = 0; i < lvts_ctrl_data->num_lvts_sensor; i++) --> 562 memcpy(&lvts_ctrl->calibration[i], 563 efuse_calibration + lvts_ctrl_data->cal_offset[i], 2); ^ This is copying an array of known ints to a u32 array. It should copy sizeof(int) instead of 2. It only works because the data you're on little endian and the data is small. 564 565 return 0; 566 } regards, dan carpenter --- --- drivers/thermal/mediatek/lvts_thermal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) base-commit: 6828e402d06f7c574430b61c05db784cd847b19f prerequisite-patch-id: 73be949bd16979769e5b94905b244dcee4a8f687 prerequisite-patch-id: d23d83a946e5b876ef01a717fd51b07df1fa08dd prerequisite-patch-id: d67f2455eef1c4a9ecc460dbf3c2e3ad47d213ec prerequisite-patch-id: 9076e9b3bd3cc411b7b80344211364db5f0cca17 prerequisite-patch-id: e220d6ae26786f524c249588433f02e5f5f906ad prerequisite-patch-id: b407d2998e57678952128b3a4bac92a379132b09 prerequisite-patch-id: fbb9212ce8c3530da17d213f56fa334ce4fa1b2b prerequisite-patch-id: 5db9eed2659028cf4419f2de3d093af7df6c2dad prerequisite-patch-id: a83c00c628605d1c8fbe1d97074f9f28efb1bcfc prerequisite-patch-id: 56a245620a4f8238cf1ba3844dc348de3db33845 prerequisite-patch-id: 7df24b0bf11129ddd3356eacf192cc3fdb2bcded prerequisite-patch-id: 3213ca70cb5b26d54a7137ff40ca8cd2a795c414 prerequisite-patch-id: 6c2202e85215d1c7e8ab16a6b85922e994c68d9b diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c index ddfdcbcf6d86..b505c6b49031 100644 --- a/drivers/thermal/mediatek/lvts_thermal.c +++ b/drivers/thermal/mediatek/lvts_thermal.c @@ -575,7 +575,7 @@ static int lvts_calibration_init(struct device *dev, struct lvts_ctrl *lvts_ctrl for (i = 0; i < lvts_ctrl_data->num_lvts_sensor; i++) memcpy(&lvts_ctrl->calibration[i], - efuse_calibration + lvts_ctrl_data->cal_offset[i], 2); + efuse_calibration + lvts_ctrl_data->cal_offset[i], sizeof(int)); return 0; }