2022-12-09 10:51:46

by Anastasia Belova

[permalink] [raw]
Subject: [PATCH v3] MIPS: BCM63xx: Add check for NULL for clk in clk_enable

Check clk for NULL before calling clk_enable_unlocked where clk
is dereferenced. There is such check in other implementations
of clk_enable.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
Signed-off-by: Anastasia Belova <[email protected]>
---
v2: Fix errors reported by kernel test robot <[email protected]>.
v3: Merge several patches into single one.
arch/mips/bcm63xx/clk.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c
index 6e6756e8fa0a..86a6e2590866 100644
--- a/arch/mips/bcm63xx/clk.c
+++ b/arch/mips/bcm63xx/clk.c
@@ -361,6 +361,8 @@ static struct clk clk_periph = {
*/
int clk_enable(struct clk *clk)
{
+ if (!clk)
+ return 0;
mutex_lock(&clocks_mutex);
clk_enable_unlocked(clk);
mutex_unlock(&clocks_mutex);
--
2.30.2


2022-12-09 16:58:35

by Philippe Mathieu-Daudé

[permalink] [raw]
Subject: Re: [PATCH v3] MIPS: BCM63xx: Add check for NULL for clk in clk_enable

On 9/12/22 11:05, Anastasia Belova wrote:
> Check clk for NULL before calling clk_enable_unlocked where clk
> is dereferenced. There is such check in other implementations
> of clk_enable.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
> Signed-off-by: Anastasia Belova <[email protected]>
> ---
> v2: Fix errors reported by kernel test robot <[email protected]>.
> v3: Merge several patches into single one.
> arch/mips/bcm63xx/clk.c | 2 ++
> 1 file changed, 2 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

2022-12-09 17:29:17

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH v3] MIPS: BCM63xx: Add check for NULL for clk in clk_enable

On 12/9/22 02:05, Anastasia Belova wrote:
> Check clk for NULL before calling clk_enable_unlocked where clk
> is dereferenced. There is such check in other implementations
> of clk_enable.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
> Signed-off-by: Anastasia Belova <[email protected]>

Acked-by: Florian Fainelli <[email protected]>
--
Florian

2022-12-09 23:15:40

by Thomas Bogendoerfer

[permalink] [raw]
Subject: Re: [PATCH v3] MIPS: BCM63xx: Add check for NULL for clk in clk_enable

On Fri, Dec 09, 2022 at 01:05:50PM +0300, Anastasia Belova wrote:
> Check clk for NULL before calling clk_enable_unlocked where clk
> is dereferenced. There is such check in other implementations
> of clk_enable.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
> Signed-off-by: Anastasia Belova <[email protected]>
> ---
> v2: Fix errors reported by kernel test robot <[email protected]>.
> v3: Merge several patches into single one.
> arch/mips/bcm63xx/clk.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c
> index 6e6756e8fa0a..86a6e2590866 100644
> --- a/arch/mips/bcm63xx/clk.c
> +++ b/arch/mips/bcm63xx/clk.c
> @@ -361,6 +361,8 @@ static struct clk clk_periph = {
> */
> int clk_enable(struct clk *clk)
> {
> + if (!clk)
> + return 0;
> mutex_lock(&clocks_mutex);
> clk_enable_unlocked(clk);
> mutex_unlock(&clocks_mutex);
> --
> 2.30.2

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]