From patchwork Mon Jun 24 22:35:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bethany Jamison X-Patchwork-Id: 1951836 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=185.125.189.65; helo=lists.ubuntu.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=patchwork.ozlabs.org) Received: from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4W7N925p5Dz20ZS for ; Tue, 25 Jun 2024 08:36:05 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1sLsHw-0007Hy-Q3; Mon, 24 Jun 2024 22:35:52 +0000 Received: from smtp-relay-internal-0.internal ([10.131.114.225] helo=smtp-relay-internal-0.canonical.com) by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1sLsHv-0007Hh-Mj for kernel-team@lists.ubuntu.com; Mon, 24 Jun 2024 22:35:51 +0000 Received: from mail-io1-f72.google.com (mail-io1-f72.google.com [209.85.166.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 879233F131 for ; Mon, 24 Jun 2024 22:35:51 +0000 (UTC) Received: by mail-io1-f72.google.com with SMTP id ca18e2360f4ac-7eee84ec53dso700178039f.3 for ; Mon, 24 Jun 2024 15:35:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719268550; x=1719873350; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OkB63Aef7lAP/19MupVH1J7YpE8VS1Rdpu5Rapt6sPs=; b=DEkt1Dm9a0A0mcd7BUR4BXMde+8jH/p9nzEVN9Qr5BPFkXGfInWelMdZCZjU1gVQAa +zsYbYvQax9HC57CmW2otee/p6zzUpvnCzV1Kg6UXTHBSA6N3ovEbhBJJ4WiKJXhcU2u rBpkAtlx3RQyEfQYijr1qNdZuP8A0gmSnoLoBIlv05eq90fHbpzhMPzkiRHDP63/BeFD XCa1jmd96qpYqsZpIkKtZ0GMz2LANHTUV73fyXt8J7Unv/f23xG/AsG4qUjXBUC0n0UK UJu/TXp8bcYW608z6KMBl0yd322bEBXnGUz+F+sURnncK/WbE+AVZxb8mko1IGdXEMiY u9AQ== X-Gm-Message-State: AOJu0YwO6NDpicKQ0by+HJkqQbAzHpvHUBIwsk1iV3vp1k5Ue4QgJA6M AZfMZJiX78PSf+Scjl8HiKkXGMfeLmIOldr+qTRzwQXwqPimw1OaV299F+GIxW3inCymMvkCUPr x01nESkz8NBRsvVP2QW5RhITHCdKuFUDqDnZzk/E9LxrC+ARluX7cy3w3DdvY4qLgXzP2TBlbZx EouGgliN/4sQ== X-Received: by 2002:a05:6602:2d95:b0:7eb:75e9:8f2f with SMTP id ca18e2360f4ac-7f3a13ceb08mr797471339f.2.1719268550180; Mon, 24 Jun 2024 15:35:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEYOE1bMA4Xu28kDH3qwDcHbSCtu4c5vrKjvmqcybGJQAPMy/lgIz5loQ5ixqlPT4HWIzHkZQ== X-Received: by 2002:a05:6602:2d95:b0:7eb:75e9:8f2f with SMTP id ca18e2360f4ac-7f3a13ceb08mr797470439f.2.1719268549892; Mon, 24 Jun 2024 15:35:49 -0700 (PDT) Received: from smtp.gmail.com (167-248-51-36.oa02.lnk04.ne.dynamic.allophone.net. [167.248.51.36]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4b9d10cfb26sm2223851173.30.2024.06.24.15.35.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jun 2024 15:35:49 -0700 (PDT) From: Bethany Jamison To: kernel-team@lists.ubuntu.com Subject: [SRU][F][PATCH 1/1] firmware: arm_scmi: Harden accesses to the reset domains Date: Mon, 24 Jun 2024 17:35:48 -0500 Message-Id: <20240624223548.35896-2-bethany.jamison@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240624223548.35896-1-bethany.jamison@canonical.com> References: <20240624223548.35896-1-bethany.jamison@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Cristian Marussi commit e9076ffbcaed5da6c182b144ef9f6e24554af268 upstream. Accessing reset domains descriptors by the index upon the SCMI drivers requests through the SCMI reset operations interface can potentially lead to out-of-bound violations if the SCMI driver misbehave. Add an internal consistency check before any such domains descriptors accesses. Link: https://lore.kernel.org/r/20220817172731.1185305-5-cristian.marussi@arm.com Signed-off-by: Cristian Marussi Signed-off-by: Sudeep Holla Signed-off-by: Dominique Martinet Signed-off-by: Greg Kroah-Hartman (cherry picked from commit 7184491fc515f391afba23d0e9b690caaea72daf linux-5.4.y) CVE-2022-48655 Signed-off-by: Bethany Jamison --- drivers/firmware/arm_scmi/reset.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/arm_scmi/reset.c b/drivers/firmware/arm_scmi/reset.c index 6d223f345b6c9..b45d3e9cee129 100644 --- a/drivers/firmware/arm_scmi/reset.c +++ b/drivers/firmware/arm_scmi/reset.c @@ -135,8 +135,12 @@ static int scmi_domain_reset(const struct scmi_handle *handle, u32 domain, struct scmi_xfer *t; struct scmi_msg_reset_domain_reset *dom; struct scmi_reset_info *pi = handle->reset_priv; - struct reset_dom_info *rdom = pi->dom_info + domain; + struct reset_dom_info *rdom; + if (domain >= pi->num_domains) + return -EINVAL; + + rdom = pi->dom_info + domain; if (rdom->async_reset) flags |= ASYNCHRONOUS_RESET;