Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1054287pxv; Thu, 22 Jul 2021 21:03:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1D+Dv/LGZMTfDU4gd7xL9X+ebEkdyQudGIJqupZmf3YZ+yP7j4YmF3Yp2fZh4lXfI8/4T X-Received: by 2002:aa7:c5da:: with SMTP id h26mr3290204eds.109.1627012998441; Thu, 22 Jul 2021 21:03:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627012998; cv=none; d=google.com; s=arc-20160816; b=RQVBbQvBYU3hZOrNVd8kKdB8yZXe/fDraOGlLq5I1LiQ9VN4MxrBAVyAg03p83MTBq LBTlDf1ZZVSI3/2xtrc156WuGpmG1kq8NCGjr2V6DGc8Rx+WO8E/nVJAbpoizW5vFnvx b0y+lWbV2TSt7JOomyJCpMpEifxGdpegZT82H/pspoqOmLMNZCZkCJ569DhHMqfxSgI/ MXQt6p6wUFTc0cE1o9uIgFZHTKmp7tP0yMcfL3nJReIUfhofisbN42mhT8pB8kw1En1I rox8k3qPSMKXuHOU7SjWGonbqxTf/3Mr4NgocdiTjTKlAst9EEPnGPMUp729UinFsC/V 4eaQ== 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=o1ytfuSLeW40XUZTzbtwPdyOiKw4rlONNqBpyzQk9q0=; b=WqidaV8shEM5fJMAk9bdt3KSgPBtPqCOZud2q1GySoImjObdh/UMm9sNIe+joBHvfR n5vHrsdeP0FZADPwPdW4ZbjY4e6MnlSiOV6CZLTmztopQuoXQqbJZHAqHKp8Ff17j5ZO H+5/bioV9vvrvlGYgBt4ONZ/fHYPdS7jHUaDpx1pD6lUNalLjA+uDb+uI0Djfk+UEOzn 3XVGQ0gvYHfzk1f241XqUf0eSDOX3/XAe8MQKm9EMkJ9goP2o5sBREaE8y/DmandPNNo P2ct6XTH9TqwIt7JKrXw4mWW/sOQbhDpVSbxGqPSj/MfTx2yYbmNZJctivF2bb/SblqX jn8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=rtPhaU+u; 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 eg42si31719221edb.69.2021.07.22.21.02.55; Thu, 22 Jul 2021 21:03:18 -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=rtPhaU+u; 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 S233940AbhGWDSk (ORCPT + 99 others); Thu, 22 Jul 2021 23:18:40 -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 S234180AbhGWDRy (ORCPT ); Thu, 22 Jul 2021 23:17:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5003760F38; Fri, 23 Jul 2021 03:58:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627012709; bh=ndx/mOGnLOhap9xANN6K1vSFYUJd4L64EZ5R6OEr5Zc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rtPhaU+udVarx//W88xbO13IXlo5re2XIEIYoeHZEdDV2PZgUoEMQdeXgXMvKKZr2 3gObNV3sov7n514NzcL0dRX1xzsifq/Ee8YCbMQ0b4uXaKw4B0q7Jvr2bcoJm7uXjf 8mGQVY2BTiyMN5pV2DyJRceULv8HpJzauOMci2ZZ+3UubfT/pzjUXKKNRmaVep+lQR Ihc26T0IMAxbBaSBlSY9mtuzA0jnoGaoVmTiXWJCmYB3oFKN9fXWR18U7jO9Prm3+C Md+xAlwVwPpJhzq01GxrXS8VSyfJGBemJD4kF4qJFTDqRY3v5rwWYTs+FkPcaSIdWw IL5VddwfFPPTw== 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 5.4 10/14] firmware: arm_scmi: Fix range check for the maximum number of pending messages Date: Thu, 22 Jul 2021 23:58:09 -0400 Message-Id: <20210723035813.531837-10-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210723035813.531837-1-sashal@kernel.org> References: <20210723035813.531837-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 629f57795a9b..551672aecd2c 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -690,8 +690,9 @@ static int scmi_xfer_info_init(struct scmi_info *sinfo) struct scmi_xfers_info *info = &sinfo->tx_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