From patchwork Mon Sep 20 16:41:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 514347 Delivered-To: patch@linaro.org Received: by 2002:a02:c816:0:0:0:0:0 with SMTP id p22csp2283483jao; Mon, 20 Sep 2021 10:41:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzYFH9BcmCErVwWSm1Gu6sGz4L3is8IBk1SRhQvuq6ndEEALcsLBSCg0JClWB9wS2BIrqek X-Received: by 2002:a05:6638:140f:: with SMTP id k15mr20598898jad.113.1632159716664; Mon, 20 Sep 2021 10:41:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632159716; cv=none; d=google.com; s=arc-20160816; b=A//FAsbbiMgYUyjb9tlus9DDxdyqbErVjcDDkdJmrK9viVM8z+HynI8Yk+HYEXmVVC 4DOMVz91sXrN2InUFVjlbEFhPkrawbfAH42Ks559+w916tPsOx3bgiPI2/VTiTcw+thI gilKxZdK5WvtiZpI2NWTXT2sqAOVyhAmfn2krXCq8ERhSg3rRIKGRWgpVvGek3MdJCAg RmmhfO14kOjmGrV5eFqQE6UGf2s7KAjIcaJpuAWvt7qzOJXr86Pv6WUFljtzvxEG3ka0 TgmXslAsgiHy6K4gGIQxV6ErR9jfti9IsrkSbunZ78uWaEsxBlyhGZbH4eq8zAvUCTWO UOtw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4Cx/80a6QwNfQ3OTcfHgdKUL4h7zU0pKU0Xgh9Xyy9Q=; b=b9AyRhz3EfErtzrMSH5bRUaSCqM4kjgD/Hdv8kJ+8eth5c8NNM/2DVmnckYi3w+dID mLyp+H9F+s/P8Aq5rL/jvA143jy4qz08Cw+zRjFkDSg8pCLWmmL8nQj6oQ3PHH3kMCq3 WOeFu3Ohw9fTYgn0XkfHARJBu3u75nSye6mAzzAN+SXRnvDuXpot11DD+opcBeooCWxK NgEpnQhTKeJSTb/0x11W4vEJfNJRHkvww0S6gJ0OdWria33BMr7qR3rxSX/2P5RcOJQl 5Qz5OwGP6aAdL80sRt88/Ek2f3KEwDXAvxBbJGTQyzioWNs2Zn6jD8k3ec7S0ptJJS7B hDqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="uW+S/wvy"; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i2si14844182ilv.102.2021.09.20.10.41.56; Mon, 20 Sep 2021 10:41:56 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-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=@linuxfoundation.org header.s=korg header.b="uW+S/wvy"; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349010AbhITRnW (ORCPT + 11 others); Mon, 20 Sep 2021 13:43:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:48148 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352700AbhITRlU (ORCPT ); Mon, 20 Sep 2021 13:41:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0F98261B4B; Mon, 20 Sep 2021 17:08:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632157711; bh=2+69YOaFMQV3IeG+2xp7JYf6jg/oriN58muh/MO/R1w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uW+S/wvymrnGJGKxbQaYE/L8ZCRQdXq6LA5lM0fsjPMoWWHD0YSjbLYiqNifyjvIa Jl62ExOHacUdaWTIdj9zzVDRaNGf7o9wQFAFKlVs7/FYMHzcYq/9oW5wpvqmJN7I0A Z9+7H79AxsdMAqMCpFS89mutG4XrlGcFRPjDQlH8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andrew Lunn , Chris Packham , Gregory CLEMENT , Sebastian Hesselbarth , Linus Walleij , Stephen Boyd Subject: [PATCH 4.19 117/293] clk: kirkwood: Fix a clocking boot regression Date: Mon, 20 Sep 2021 18:41:19 +0200 Message-Id: <20210920163937.267418935@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210920163933.258815435@linuxfoundation.org> References: <20210920163933.258815435@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Linus Walleij commit aaedb9e00e5400220a8871180d23a83e67f29f63 upstream. Since a few kernel releases the Pogoplug 4 has crashed like this during boot: Unable to handle kernel NULL pointer dereference at virtual address 00000002 (...) [] (strlen) from [] (kstrdup+0x1c/0x4c) [] (kstrdup) from [] (__clk_register+0x44/0x37c) [] (__clk_register) from [] (clk_hw_register+0x20/0x44) [] (clk_hw_register) from [] (__clk_hw_register_mux+0x198/0x1e4) [] (__clk_hw_register_mux) from [] (clk_register_mux_table+0x5c/0x6c) [] (clk_register_mux_table) from [] (kirkwood_clk_muxing_setup.constprop.0+0x13c/0x1ac) [] (kirkwood_clk_muxing_setup.constprop.0) from [] (of_clk_init+0x12c/0x214) [] (of_clk_init) from [] (time_init+0x20/0x2c) [] (time_init) from [] (start_kernel+0x3dc/0x56c) [] (start_kernel) from [<00000000>] (0x0) Code: e3130020 1afffffb e12fff1e c08a1078 (e5d03000) This is because the "powersave" mux clock 0 was provided in an unterminated array, which is required by the loop in the driver: /* Count, allocate, and register clock muxes */ for (n = 0; desc[n].name;) n++; Here n will go out of bounds and then call clk_register_mux() on random memory contents after the mux clock. Fix this by terminating the array with a blank entry. Fixes: 105299381d87 ("cpufreq: kirkwood: use the powersave multiplexer") Cc: stable@vger.kernel.org Cc: Andrew Lunn Cc: Chris Packham Cc: Gregory CLEMENT Cc: Sebastian Hesselbarth Signed-off-by: Linus Walleij Link: https://lore.kernel.org/r/20210814235514.403426-1-linus.walleij@linaro.org Reviewed-by: Andrew Lunn Signed-off-by: Stephen Boyd Signed-off-by: Greg Kroah-Hartman --- drivers/clk/mvebu/kirkwood.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/clk/mvebu/kirkwood.c +++ b/drivers/clk/mvebu/kirkwood.c @@ -254,6 +254,7 @@ static const char *powersave_parents[] = static const struct clk_muxing_soc_desc kirkwood_mux_desc[] __initconst = { { "powersave", powersave_parents, ARRAY_SIZE(powersave_parents), 11, 1, 0 }, + { } }; static struct clk *clk_muxing_get_src(