Re: [PATCH v2 2/5] clk: Add CLK_GET_PARENT_NOCACHE flag (fwd)

From: Julia Lawall
Date: Fri Nov 27 2020 - 08:30:29 EST


Please check line 2432. Based on the preceeding tests, there may be a
NULL pointer dereference.

julia

---------- Forwarded message ----------
Date: Fri, 27 Nov 2020 06:27:51 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: kbuild@xxxxxxxxxxxx
Cc: lkp@xxxxxxxxx, Julia Lawall <julia.lawall@xxxxxxx>
Subject: Re: [PATCH v2 2/5] clk: Add CLK_GET_PARENT_NOCACHE flag

CC: kbuild-all@xxxxxxxxxxxx
In-Reply-To: <1606394409-12755-3-git-send-email-abel.vesa@xxxxxxx>
References: <1606394409-12755-3-git-send-email-abel.vesa@xxxxxxx>
TO: Abel Vesa <abel.vesa@xxxxxxx>
TO: Stephen Boyd <sboyd@xxxxxxxxxx>
TO: Sascha Hauer <kernel@xxxxxxxxxxxxxx>
TO: Peng Fan <peng.fan@xxxxxxx>
TO: Fabio Estevam <fabio.estevam@xxxxxxx>
TO: Anson Huang <anson.huang@xxxxxxx>
TO: Dong Aisheng <aisheng.dong@xxxxxxx>
TO: Jacky Bai <ping.bai@xxxxxxx>
CC: NXP Linux Team <linux-imx@xxxxxxx>
CC: linux-clk@xxxxxxxxxxxxxxx
CC: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>

Hi Abel,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on shawnguo/for-next]
[also build test WARNING on clk/clk-next v5.10-rc5 next-20201126]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Abel-Vesa/clk-imx-Register-the-dram_apb-and-dram_alt-as-read-only/20201126-204442
base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
:::::: branch date: 10 hours ago
:::::: commit date: 10 hours ago
config: x86_64-randconfig-c002-20201127 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Julia Lawall <julia.lawall@xxxxxxx>


"coccinelle warnings: (new ones prefixed by >>)"
>> drivers/clk/clk.c:2432:23-29: ERROR: clk -> core is NULL but dereferenced.
drivers/clk/clk.c:2432:50-56: ERROR: clk -> core is NULL but dereferenced.

vim +2432 drivers/clk/clk.c

05e4e881cde17e7 Abel Vesa 2020-11-26 2413
4dff95dc9477a34 Stephen Boyd 2015-04-30 2414 /**
4dff95dc9477a34 Stephen Boyd 2015-04-30 2415 * clk_get_parent - return the parent of a clk
4dff95dc9477a34 Stephen Boyd 2015-04-30 2416 * @clk: the clk whose parent gets returned
4dff95dc9477a34 Stephen Boyd 2015-04-30 2417 *
4dff95dc9477a34 Stephen Boyd 2015-04-30 2418 * Simply returns clk->parent. Returns NULL if clk is NULL.
4935b22c46ea5e2 James Hogan 2013-07-29 2419 */
4dff95dc9477a34 Stephen Boyd 2015-04-30 2420 struct clk *clk_get_parent(struct clk *clk)
4dff95dc9477a34 Stephen Boyd 2015-04-30 2421 {
4dff95dc9477a34 Stephen Boyd 2015-04-30 2422 struct clk *parent;
da0f0b2c3ad2ad9 Tomasz Figa 2013-09-29 2423
fc4a05d4b0eb1a0 Stephen Boyd 2015-06-25 2424 if (!clk)
fc4a05d4b0eb1a0 Stephen Boyd 2015-06-25 2425 return NULL;
fc4a05d4b0eb1a0 Stephen Boyd 2015-06-25 2426
4dff95dc9477a34 Stephen Boyd 2015-04-30 2427 clk_prepare_lock();
05e4e881cde17e7 Abel Vesa 2020-11-26 2428 if (clk->core && (clk->core->flags & CLK_GET_PARENT_NOCACHE))
05e4e881cde17e7 Abel Vesa 2020-11-26 2429 parent = __clk_get_parent(clk->core)->hw->clk;
05e4e881cde17e7 Abel Vesa 2020-11-26 2430 else
fc4a05d4b0eb1a0 Stephen Boyd 2015-06-25 2431 /* TODO: Create a per-user clk and change callers to call clk_put */
fc4a05d4b0eb1a0 Stephen Boyd 2015-06-25 @2432 parent = !clk->core->parent ? NULL : clk->core->parent->hw->clk;
4dff95dc9477a34 Stephen Boyd 2015-04-30 2433 clk_prepare_unlock();
4935b22c46ea5e2 James Hogan 2013-07-29 2434
4dff95dc9477a34 Stephen Boyd 2015-04-30 2435 return parent;
4935b22c46ea5e2 James Hogan 2013-07-29 2436 }
4dff95dc9477a34 Stephen Boyd 2015-04-30 2437 EXPORT_SYMBOL_GPL(clk_get_parent);
4935b22c46ea5e2 James Hogan 2013-07-29 2438

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip