Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp589580ybt; Fri, 19 Jun 2020 08:50:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmSINcXg66sXExD2h/p88+NLqLVTngdx8VLT2eHC+2Uz5kFTLZ3mrMKfxNZOsteF3+docr X-Received: by 2002:a17:906:2581:: with SMTP id m1mr4474604ejb.89.1592581829394; Fri, 19 Jun 2020 08:50:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592581829; cv=none; d=google.com; s=arc-20160816; b=ZiLAPvFaY5yRkysTUJMVKUPbC1t5FOqCKSZjs19r6iLKTm5vNCpCrZnDIL3Ri0vjNl WChKYqMvtAdNhGAMvaqohJD30EAwITkXvIr0yjUZjbB1zQZTNu8SE3gYLGyvYJZchx61 B49ue1dF3hbgK+64mXCKljDe/ZoNJMjr5nix+d/CkMy3eBZSY2fS7UAx35Th2cWgo6Sw NkWzHrRuFXzns8MBgZ0FTWSvoK9Bz3fIo8XKYHNdYE43kFt/TAXgOkP81ik9SgcS1iBt 5vPmvXRUvGjLewm3gPcWM9WrjlD1bAkBq098VH917ih1y9jrcVyOMzVVQAEUVxqLmF8X RSKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Uxv3oSrR0VZUYr7ZOWuw1MbFLvh9sg3WslUvxYxKWnc=; b=MHSWACHp+3S3QwSuaPT6ytIaAqMA4+COtAG6+0yx0QvLRKE4xjNeamdsqkoVwgjy07 SusVFudNtpfh55Y48xGpseQ6QDFWJpCrdBM2lViIPn5sG4Z12CoEPq996b2xFlZGWOOf sKohylLXwY/BGqx5fKq/7CLhqvIOCnXydTClqNOxBqrC/wdhpw5VSmTvAdU9Yu+SBofV HULHF9lDzcWEVzgdnScCbTA4dhS5CXCshb3rlCupsg/fhoOA+KeacRULOGxpMjbxo9EU pw2biFwVyJyRmDZuOK6JuPqWdwFqUUII71dtBxu/1ERUVcvCuQP0dOyKPKZDQb+4KQZQ KmTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sQHA268b; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x11si3893155ejb.614.2020.06.19.08.50.07; Fri, 19 Jun 2020 08:50:29 -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=@kernel.org header.s=default header.b=sQHA268b; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405236AbgFSPpt (ORCPT + 99 others); Fri, 19 Jun 2020 11:45:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:58808 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2393526AbgFSP1E (ORCPT ); Fri, 19 Jun 2020 11:27:04 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8A3F2217D8; Fri, 19 Jun 2020 15:27:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592580424; bh=0ipDXHuXsr5Qaoa9TOtSQq6ymopP/5G4FnF3eZVMeJM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sQHA268bOl2kMEOsnQCJeBmWX0sFsng58RztAhu1pFkr/1tdfy9+qewyWBZVPY3zt kVS9hDuKPiXzY1Cm+sIVx8fPeSy9dax6I9k9SCIhfVtWT2Tb/Nhsjx8m1v8FBGQMZu 8CWNASmT6kz97qAz3mehqN4GyxImeGROx/G/hTlc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andy Shevchenko , Sasha Levin Subject: [PATCH 5.7 242/376] platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32() Date: Fri, 19 Jun 2020 16:32:40 +0200 Message-Id: <20200619141721.786058666@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200619141710.350494719@linuxfoundation.org> References: <20200619141710.350494719@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andy Shevchenko [ Upstream commit 5cdc45ed3948042f0d73c6fec5ee9b59e637d0d2 ] First of all, unsigned long can overflow u32 value on 64-bit machine. Second, simple_strtoul() doesn't check for overflow in the input. Convert simple_strtoul() to kstrtou32() to eliminate above issues. Signed-off-by: Andy Shevchenko Signed-off-by: Sasha Levin --- drivers/platform/x86/hp-wmi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index a881b709af25..a44a2ec33287 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c @@ -461,8 +461,14 @@ static ssize_t postcode_show(struct device *dev, struct device_attribute *attr, static ssize_t als_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - u32 tmp = simple_strtoul(buf, NULL, 10); - int ret = hp_wmi_perform_query(HPWMI_ALS_QUERY, HPWMI_WRITE, &tmp, + u32 tmp; + int ret; + + ret = kstrtou32(buf, 10, &tmp); + if (ret) + return ret; + + ret = hp_wmi_perform_query(HPWMI_ALS_QUERY, HPWMI_WRITE, &tmp, sizeof(tmp), sizeof(tmp)); if (ret) return ret < 0 ? ret : -EINVAL; -- 2.25.1