All of lore.kernel.org
 help / color / mirror / Atom feed
From: Binbin Zhou <zhoubinbin@loongson.cn>
To: Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-clk@vger.kernel.org
Cc: Huacai Chen <chenhuacai@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	loongson-kernel@lists.loongnix.cn,
	Binbin Zhou <zhoubinbin@loongson.cn>,
	stable@vger.kernel.org, Yinbo Zhu <zhuyinbo@loongson.cn>
Subject: [PATCH] clk: clk-loongson2: Zero init clk_init_data
Date: Wed, 24 May 2023 09:49:24 +0800	[thread overview]
Message-ID: <20230524014924.2869051-1-zhoubinbin@loongson.cn> (raw)

As clk_core_populate_parent_map() checks clk_init_data.num_parents
first, and checks clk_init_data.parent_names[] before
clk_init_data.parent_data[] and clk_init_data.parent_hws[].

Therefore the clk_init_data structure needs to be explicitly initialised
to prevent an unexpected crash if clk_init_data.parent_names[] is a
random value.

[    1.374074] CPU 0 Unable to handle kernel paging request at virtual address 0000000000000dc0, era == 9000000002986290, ra == 900000000298624c
[    1.386856] Oops[#1]:
[    1.389151] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.4.0-rc2+ #4582
[    1.395717] pc 9000000002986290 ra 900000000298624c tp 9000000100094000 sp 9000000100097a60
[    1.404126] a0 9000000104541e00 a1 0000000000000000 a2 0000000000000dc0 a3 0000000000000001
[    1.412533] a4 90000001000979f0 a5 90000001800977d7 a6 0000000000000000 a7 900000000362a000
[    1.420939] t0 90000000034f3548 t1 6f8c2a9cb5ab5f64 t2 0000000000011340 t3 90000000031cf5b0
[    1.429346] t4 0000000000000dc0 t5 0000000000000004 t6 0000000000011300 t7 9000000104541e40
[    1.437753] t8 000000000005a4f8 u0 9000000104541e00 s9 9000000104541e00 s0 9000000104bc4700
[    1.446159] s1 9000000104541da8 s2 0000000000000001 s3 900000000356f9d8 s4 ffffffffffffffff
[    1.454565] s5 0000000000000000 s6 0000000000000dc0 s7 90000000030d0a88 s8 0000000000000000
[    1.462972]    ra: 900000000298624c __clk_register+0x228/0x84c
[    1.468854]   ERA: 9000000002986290 __clk_register+0x26c/0x84c
[    1.474724]  CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)
[    1.480975]  PRMD: 00000004 (PPLV0 +PIE -PWE)
[    1.485373]  EUEN: 00000000 (-FPE -SXE -ASXE -BTE)
[    1.490209]  ECFG: 00071c1c (LIE=2-4,10-12 VS=7)
[    1.494865] ESTAT: 00010000 [PIL] (IS= ECode=1 EsubCode=0)
[    1.500390]  BADV: 0000000000000dc0
[    1.503899]  PRID: 0014a000 (Loongson-64bit, )
[    1.508369] Modules linked in:
[    1.511447] Process swapper/0 (pid: 1, threadinfo=(____ptrval____), task=(____ptrval____))
[    1.519768] Stack : 90000000031c1810 90000000030d0a88 900000000325bac0 90000000034f3548
[    1.527848]         90000001002ab410 9000000104541e00 0000000000000dc0 9000000003150098
[    1.535923]         90000000031c1810 90000000031a0460 900000000362a000 90000001002ab410
[    1.543998]         900000000362a000 9000000104541da8 9000000104541de8 90000001002ab410
[    1.552073]         900000000362a000 9000000002986a68 90000000034f3ed8 90000000030d0aa8
[    1.560148]         9000000104541da8 900000000298d3b8 90000000031c1810 0000000000000000
[    1.568223]         90000000034f3ed8 90000000030d0aa8 0000000000000dc0 90000000030d0a88
[    1.576298]         90000001002ab410 900000000298d401 0000000000000000 6f8c2a9cb5ab5f64
[    1.584373]         90000000034f4000 90000000030d0a88 9000000003a48a58 90000001002ab410
[    1.592448]         9000000104bd81a8 900000000298d484 9000000100020260 0000000000000000
[    1.600523]         ...
[    1.602993] Call Trace:
[    1.603000] [<9000000002986290>] __clk_register+0x26c/0x84c
[    1.611072] [<9000000002986a68>] devm_clk_hw_register+0x5c/0xe0
[    1.617031] [<900000000298d3b8>] loongson2_clk_register.constprop.0+0xdc/0x10c
[    1.624314] [<900000000298d484>] loongson2_clk_probe+0x9c/0x4ac
[    1.630270] [<9000000002a4eba4>] platform_probe+0x68/0xc8
[    1.635703] [<9000000002a4bf80>] really_probe+0xbc/0x2f0
[    1.641054] [<9000000002a4c23c>] __driver_probe_device+0x88/0x128
[    1.647185] [<9000000002a4c318>] driver_probe_device+0x3c/0x11c
[    1.653142] [<9000000002a4c5dc>] __driver_attach+0x98/0x18c
[    1.658749] [<9000000002a49ca0>] bus_for_each_dev+0x80/0xe0
[    1.664357] [<9000000002a4b0dc>] bus_add_driver+0xfc/0x1ec
[    1.669878] [<9000000002a4d4a8>] driver_register+0x68/0x134
[    1.675486] [<90000000020f0110>] do_one_initcall+0x50/0x188
[    1.681094] [<9000000003150f00>] kernel_init_freeable+0x224/0x294
[    1.687226] [<90000000030240fc>] kernel_init+0x20/0x110
[    1.692493] [<90000000020f1568>] ret_from_kernel_thread+0xc/0xa4

Fixes: acc0ccffec50 ("clk: clk-loongson2: add clock controller driver support")
Cc: stable@vger.kernel.org
Cc: Yinbo Zhu <zhuyinbo@loongson.cn>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
---
 drivers/clk/clk-loongson2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/clk-loongson2.c b/drivers/clk/clk-loongson2.c
index 70ae1dd2e474..b839edd7271b 100644
--- a/drivers/clk/clk-loongson2.c
+++ b/drivers/clk/clk-loongson2.c
@@ -40,7 +40,7 @@ static struct clk_hw *loongson2_clk_register(struct device *dev,
 {
 	int ret;
 	struct clk_hw *hw;
-	struct clk_init_data init;
+	struct clk_init_data init = { NULL };
 
 	hw = devm_kzalloc(dev, sizeof(*hw), GFP_KERNEL);
 	if (!hw)
-- 
2.39.1


             reply	other threads:[~2023-05-24  1:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-24  1:49 Binbin Zhou [this message]
2023-06-13  1:31 ` [PATCH] clk: clk-loongson2: Zero init clk_init_data Stephen Boyd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230524014924.2869051-1-zhoubinbin@loongson.cn \
    --to=zhoubinbin@loongson.cn \
    --cc=chenhuacai@kernel.org \
    --cc=chenhuacai@loongson.cn \
    --cc=linux-clk@vger.kernel.org \
    --cc=loongson-kernel@lists.loongnix.cn \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=zhuyinbo@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.