]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
firmware: arm_scmi: Fix list protocols enumeration in the base protocol
authorCristian Marussi <cristian.marussi@arm.com>
Wed, 30 Mar 2022 15:05:32 +0000 (16:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 14:59:24 +0000 (16:59 +0200)
commit444a2d27fe9867d0da4b28fc45b793f32e099ab8
tree902b6bf3517a54878b5086ea9f7211574ec9eda2
parentdffc9162fe85ca3bb8f3152c216933c511050230
firmware: arm_scmi: Fix list protocols enumeration in the base protocol

[ Upstream commit 8009120e0354a67068e920eb10dce532391361d0 ]

While enumerating protocols implemented by the SCMI platform using
BASE_DISCOVER_LIST_PROTOCOLS, the number of returned protocols is
currently validated in an improper way since the check employs a sum
between unsigned integers that could overflow and cause the check itself
to be silently bypassed if the returned value 'loop_num_ret' is big
enough.

Fix the validation avoiding the addition.

Link: https://lore.kernel.org/r/20220330150551.2573938-4-cristian.marussi@arm.com
Fixes: b6f20ff8bd94 ("firmware: arm_scmi: add common infrastructure and support for base protocol")
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/firmware/arm_scmi/base.c