Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp2682607lqp; Mon, 25 Mar 2024 06:35:05 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWh1fsssVIcOVLLTL5aqvrlzyZMxKdzaMRWluMOl6tZE/QVH4MNt+ZayfqESATMFgUyto9TDl9ENhI73DhqXCLJF0tQe6qQ60cH+EAXPg== X-Google-Smtp-Source: AGHT+IHrquY0qY29mELLFqaYWAlr1lOBm4zgG+9v8GOr1/Un6PqnOr9WneTQW5psNXQh2sLHmzr8 X-Received: by 2002:a92:c610:0:b0:366:a210:b346 with SMTP id p16-20020a92c610000000b00366a210b346mr7491333ilm.21.1711373704699; Mon, 25 Mar 2024 06:35:04 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711373704; cv=pass; d=google.com; s=arc-20160816; b=ZOwYLhJr64MjQkod8YNptjtFnM8qjO1X1FZylseBH9aVSrZsAQwa4nbVnogSF22MQp K1SV6MaOYRKgwAYzA1Z2ps7Ef4nEGXX7tQyVAzGdOVU1Ee5Q1kVzwQ94bjR1Yo+Rdbs7 lC7kRR1p4UPRwnhEDkSxlUQvni5PNtxH/+Nj7NcBQ3yzlqFNoRLBWuWibaxmaAqz89A4 hBV0sJIJg8rGHoZXcRCw0Bn5P5/hSqbwQyIgMSADMWGYtCDTI+Gt18Dhn+IQBCfRKRxp 7aafheEm1MoLz7SAGsSb+5ylmd4d0ayoIl8cnJKw92NGHR78sC6MI9JBKFt2aMwoNvSn EREg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=FI7zAHrZta6qVFbpK3ANJn28YzTPYvVOP44UQnzTGDY=; fh=OgC2DrKlKpxdJcZCmYXyBXmuGa/AuBL2Def/P48z+6w=; b=iTGWGsZaLxS7wj6fSKiWkApo0PwLmDvNgKJDPlVR2W2AXag7ydEtueo2cvIHVyIHbe 8gU0JF7KJfjW+/u3L9bYryy8++T7+d2118ypjWGLckY7UkysLB7Whik/DKEcoDAKwNtk RQtwSqf0pWT3uPJkuEDySUAZdeJ8k/spxrXp2V5ugLLR+BIbuS0CM23NI3CbNhu/vNnE l6RPaLcaAivigkCXNwKxtKQ+AEhRnmdKeQJfoKSg+qrW/mvQTc6WKN0kfEXn3Oa2dFLt mehNkFpUzBEnwyTLHOm2yMX5gLCzF2Ntk8gnTiX/PCQBGq/E5NuPrZ4sSUzirkOvyNiG uVUA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=RjVd4dWY; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115529-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115529-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id m3-20020a632603000000b005e83f3259e2si7629139pgm.165.2024.03.25.06.35.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 06:35:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-115529-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=RjVd4dWY; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115529-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115529-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id CDB2CBA069B for ; Mon, 25 Mar 2024 11:43:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E059624108D; Mon, 25 Mar 2024 02:42:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RjVd4dWY" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20DE11ED706; Sun, 24 Mar 2024 22:56:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320986; cv=none; b=NcDIL0+Vnvazq4C9nVcgH5vdl+z7IZL8MXjt6bqfjkI1xult1rGZGVFGQr9tZlHlltCAOEz17jYsgbVMnjILJFzcEfTfeLmNdAWnCmpYqGZclvFrA+n+vz/8GDUa1KH1PK6JsDdvYLJJrB8S6Ez4uZTvq7VWRZrKstyHYOuIBSM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320986; c=relaxed/simple; bh=lMDwXgjBgx1W6oFjiAwsW9y0JAZStVheK4KXw9VyuEQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KBer/Gsbe5odUhChJrHhQM//aCuwNSLGQRD6b7atWHfxqH1Js31Syn5X23at9bhBxggQONNWhfZCn2IAL+mgOUCpXQK44ZD5BB+dUfOnrEE7og3QegJOOUWBLZ+IJidBuqUCkVG0qZ0bstlJVm0UyePoWIq0DP8AuzqzGl3IBfA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RjVd4dWY; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60E5AC43390; Sun, 24 Mar 2024 22:56:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711320986; bh=lMDwXgjBgx1W6oFjiAwsW9y0JAZStVheK4KXw9VyuEQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RjVd4dWYPGJha9hgiC8rWwRGY0k9y1bDyhqOcWKnn3pc/Q9L7xmEsst4ScnJ4RF7k xHhEQ5QUt9cp07RrMI8hKBe9uW7rlyHJWo/siI47r59rYiE2FSdamp14ufX2jvMZWX yJ7Xv3e2XGnAOLdX9v+Nff+BXpDRCnHaOXp6vuU3++amtBWWjAGpbQGeBIUphLv5yC xdx2hA9Xv2bYECqj6sgyulMLhXt7HWLAC5MkyO7pzRIIGpNwe1Yjt1Fn2SjaFOb9eB Cm5aoYxc0U6s7Jzb50QxVgbUaR/9GYUt4aPKLsi933+BU5UXsBSoBMjO1ewWC5E5j0 XI3simW/ukuLQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Bryan O'Donoghue , Stephen Boyd , Sasha Levin Subject: [PATCH 6.7 549/713] clk: Fix clk_core_get NULL dereference Date: Sun, 24 Mar 2024 18:44:35 -0400 Message-ID: <20240324224720.1345309-550-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324224720.1345309-1-sashal@kernel.org> References: <20240324224720.1345309-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Bryan O'Donoghue [ Upstream commit e97fe4901e0f59a0bfd524578fe3768f8ca42428 ] It is possible for clk_core_get to dereference a NULL in the following sequence: clk_core_get() of_clk_get_hw_from_clkspec() __of_clk_get_hw_from_provider() __clk_get_hw() __clk_get_hw() can return NULL which is dereferenced by clk_core_get() at hw->core. Prior to commit dde4eff47c82 ("clk: Look for parents with clkdev based clk_lookups") the check IS_ERR_OR_NULL() was performed which would have caught the NULL. Reading the description of this function it talks about returning NULL but that cannot be so at the moment. Update the function to check for hw before dereferencing it and return NULL if hw is NULL. Fixes: dde4eff47c82 ("clk: Look for parents with clkdev based clk_lookups") Signed-off-by: Bryan O'Donoghue Link: https://lore.kernel.org/r/20240302-linux-next-24-03-01-simple-clock-fixes-v1-1-25f348a5982b@linaro.org Signed-off-by: Stephen Boyd Signed-off-by: Sasha Levin --- drivers/clk/clk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 2253c154a8248..20c4b28fed061 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -418,6 +418,9 @@ static struct clk_core *clk_core_get(struct clk_core *core, u8 p_index) if (IS_ERR(hw)) return ERR_CAST(hw); + if (!hw) + return NULL; + return hw->core; } -- 2.43.0