Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1054166pxv; Thu, 22 Jul 2021 21:03:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKj7t2lOrgnMtcxa6JQn/rVfV8y+WfiZejVg1bMNUf2JTizXlnS71idHk7UYs506Kzsfmc X-Received: by 2002:a05:6402:1bc6:: with SMTP id ch6mr3335822edb.267.1627012980330; Thu, 22 Jul 2021 21:03:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627012980; cv=none; d=google.com; s=arc-20160816; b=nMhKDUQdP5uCF/J13ZZcHyRy8gZxGFmKPP4QAokAV4wSnG/3v7o1/IxiCqS+RaCUtl wAG/7rws+ozXMA+O6iz8lNWi7R2mn6K1lzt/hJDlgWM4QAC8iIxe7he+yVVvjbKaD7EX SPCfQM9NHfVMARYCZGKoXApbrQ9phhUCVRulN95u2uEtyQKLAlDeUaC7b5Hl3hvJr4l2 yuc1XHpsM5lslOkglMYeSYGiR3AwA0TTdtz6rq9fBRc+IHlXUaQIJX82NH/MX76IooND Ce9nBfxJcZanOoNSBGG3SwFCm1RMc1AHc86kyAx740EaR+0IzxX/xjGeIObgfWV6tFsU xwTQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=dw/LhZVgQS1Z/4NWyqrgL8jowgRDIKl6D/rcodN50KE=; b=ARyFHryyn7VmXFCxAKeyivNHUGES3xEKmwhpuawYXiw70sdgv7kiG8VYJZxB1SJ71F d95P9VoGAJHykS2QZB86+g16ha5lx9ywFebfCWdXGbDfg6poLvHQus4UqOVVdMHx4QJd SxpXUmaeK2HoJJTstU+Keh39ILK8z/kzJpCrNMD1rtZkqvJMw2IXH0kP2c3/JcCPCvth dcxP/D8mzvgiNGDQPCRRkd6VH03Cg2BAaQAdvmjCXKhESocEZU8W1fSUZZ/5Mkp1i15M avTeI45pJT5TylQtA44/S1xOEgXLufqhkPPcEjjaZ3n+ehiR4+5RRpG6wxSl7uRLUVe+ WR+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="LForUrg/"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n19si8204312ejx.32.2021.07.22.21.02.37; Thu, 22 Jul 2021 21:03:00 -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=k20201202 header.b="LForUrg/"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234788AbhGWDTj (ORCPT + 99 others); Thu, 22 Jul 2021 23:19:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:38070 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234284AbhGWDSO (ORCPT ); Thu, 22 Jul 2021 23:18:14 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 142ED60EC0; Fri, 23 Jul 2021 03:58:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627012728; bh=z9fgw4RdACJbMctbCl+ANgw/8SM3JA0y2OW3YTUL4h0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LForUrg/xcqJGETSmhZndLzuZmOKx3F9jPwMc3jRfXnafg1aQqnvV7bNR5QfprCGu 54SlxXLqyIpZFmpiNvHszaYYNUJEH/e6Bm0/CYjStZ8YXpmaubpUvGL1P/pgJdy/T1 bLBGrVSExJ/z/0OfADoO23G+6o+YVexLk4bMpAgMGC8pdN8UmGJ98ggVbuwOwhpfVI Ra36Q9BGRZmw9uSRQ7ZllWb1pxX6blye5xb7hdMqEzgG8ag12cG5kHR6gquyFkBXkG 67mMUNzVXhrMIyLVXsXLjpRTSlfL72JjrklrgPERtfuUTSM6Eu0JDUaSeY5773KJRn UYnfKzCa9z06g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Cristian Marussi , Vincent Guittot , Sudeep Holla , Sasha Levin , linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 4.19 09/11] firmware: arm_scmi: Fix range check for the maximum number of pending messages Date: Thu, 22 Jul 2021 23:58:33 -0400 Message-Id: <20210723035835.532148-9-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210723035835.532148-1-sashal@kernel.org> References: <20210723035835.532148-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Cristian Marussi [ Upstream commit bdb8742dc6f7c599c3d61959234fe4c23638727b ] SCMI message headers carry a sequence number and such field is sized to allow for MSG_TOKEN_MAX distinct numbers; moreover zero is not really an acceptable maximum number of pending in-flight messages. Fix accordingly the checks performed on the value exported by transports in scmi_desc.max_msg Link: https://lore.kernel.org/r/20210712141833.6628-3-cristian.marussi@arm.com Reported-by: Vincent Guittot Signed-off-by: Cristian Marussi [sudeep.holla: updated the patch title and error message] Signed-off-by: Sudeep Holla Signed-off-by: Sasha Levin --- drivers/firmware/arm_scmi/driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 081fbe28da4b..af5139eb96b5 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -629,8 +629,9 @@ static int scmi_xfer_info_init(struct scmi_info *sinfo) struct scmi_xfers_info *info = &sinfo->minfo; /* Pre-allocated messages, no more than what hdr.seq can support */ - if (WARN_ON(desc->max_msg >= MSG_TOKEN_MAX)) { - dev_err(dev, "Maximum message of %d exceeds supported %ld\n", + if (WARN_ON(!desc->max_msg || desc->max_msg > MSG_TOKEN_MAX)) { + dev_err(dev, + "Invalid maximum messages %d, not in range [1 - %lu]\n", desc->max_msg, MSG_TOKEN_MAX); return -EINVAL; } -- 2.30.2