lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220201110711.GR1978@kadam>
Date:   Tue, 1 Feb 2022 14:07:11 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     "weiyongjun (A)" <weiyongjun1@...wei.com>
Cc:     Tobias Waldekranz <tobias@...dekranz.com>,
        "David S. Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>, Andrew Lunn <andrew@...n.ch>,
        Marcin Wojtas <mw@...ihalf.com>,
        Calvin Johnson <calvin.johnson@....nxp.com>,
        Markus Koch <markus@...syncing.net>, netdev@...r.kernel.org,
        kernel-janitors@...r.kernel.org, Hulk Robot <hulkci@...wei.com>
Subject: Re: [PATCH net-next] net/fsl: xgmac_mdio: fix return value check in
 xgmac_mdio_probe()

On Sun, Jan 30, 2022 at 08:58:55AM +0800, weiyongjun (A) wrote:
> 
> > On Sat, Jan 29, 2022 at 01:27, Wei Yongjun <weiyongjun1@...wei.com> wrote:
> > > In case of error, the function devm_ioremap() returns NULL pointer
> > > not ERR_PTR(). The IS_ERR() test in the return value check should
> > > be replaced with NULL test.
> > > 
> > > Fixes: 1d14eb15dc2c ("net/fsl: xgmac_mdio: Use managed device resources")
> > > Reported-by: Hulk Robot <hulkci@...wei.com>
> > > Signed-off-by: Wei Yongjun <weiyongjun1@...wei.com>
> > Reviewed-by: Tobias Waldekranz <tobias@...dekranz.com>
> > 
> > Sorry about that. I started out by using devm_ioremap_resource, which
> > uses the in-band error signaling, and forgot to match the guard when I
> > changed it.
> > 
> > I see that this was reported by your CI, do you mind me asking what it
> > is running in the back-end? At least my version of sparse does not seem
> > to catch this.
> 
> 
> It was reported by coccinelle with follow script:
> 
> 
> @@
> expression ret, E;
> @@
> ret = \(devm_ioport_map\|
> devm_ioremap\|
> devm_ioremap_wc\|
> devm_irq_alloc_generic_chip\|
> devm_kasprintf\|
> devm_kcalloc\|
> devm_kmalloc\|
> devm_kmalloc_array\|
> devm_kmemdup\|
> devm_kstrdup\|
> devm_kzalloc\|
> \)(...);
> ... when != ret = E
> (
> - IS_ERR(ret)
> + !ret
> |
> - !IS_ERR(ret)
> + ret
> |
> - PTR_ERR(ret)
> + -ENOMEM
> )
> 
> 
> 
> It seems smatch also can report this.

Yeah.  I had this patch in my postponed messages but you beat me to
sending it.

The Smatch check for this requires you to have the cross function
database built.  I should update it to remove that requirement for
at least the common functions that you have listed.

regards,
dan carpenter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ