On Wed, Jun 02, 2021 at 05:47:52PM +0300, Dan Carpenter wrote: > On Tue, Jun 01, 2021 at 11:50:06PM +0300, Dan Carpenter wrote: > > On Tue, Jun 01, 2021 at 10:51:23PM +0300, Dan Carpenter wrote: > > > The other thing which might be interesting is if you pass a NULL > > > to IS_ERR() and then dereference the NULL then print a warning about > > > that. This has a lot of overlaps with some of my existing checks, but > > > it's still a new idea so it belongs in a separate check. It's fine and > > > good even if one bug triggers a lot of different warnings. I'll write > > > that, hang on, brb. > > > > 100% untested. :) I'll test it tonight. > > > I also added a check for: if (is_impossible_path()) return; to silence some of the false positives. But the results are all still false positives. They're "high quality" false positives, because often the code looks buggy. I think that someone went through and fixed all the real bugs with this. I reported the snd_media_device_create() bug and sent a fix for the nfs_init_server() but the rest, I'm just going to leave. sound/usb/media.c:287 snd_media_device_create() error: potential NULL/IS_ERR bug 'mdev' mm/mempolicy.c:1293 do_mbind() error: potential NULL/IS_ERR bug 'new' fs/nfs/client.c:701 nfs_init_server() error: potential NULL/IS_ERR bug 'clp' fs/afs/server.c:652 afs_update_server_record() error: potential NULL/IS_ERR bug 'alist' fs/afs/volume.c:322 afs_update_volume_status() error: potential NULL/IS_ERR bug 'vldb' fs/ubifs/lpt_commit.c:583 next_pnode_to_dirty() error: potential NULL/IS_ERR bug 'nnode' fs/ubifs/lpt_commit.c:583 next_pnode_to_dirty() error: potential NULL/IS_ERR bug 'nnode' fs/ntfs/attrib.c:2188 ntfs_attr_extend_allocation() error: potential NULL/IS_ERR bug 'rl' fs/ext4/namei.c:2375 ext4_add_entry() error: potential NULL/IS_ERR bug 'bh' drivers/pinctrl/renesas/core.c:1144 sh_pfc_probe() error: potential NULL/IS_ERR bug 'info' drivers/mfd/ene-kb3930.c:165 kb3930_probe() error: potential NULL/IS_ERR bug 'ddata->off_gpios' drivers/mtd/ubi/attach.c:409 add_volume() error: potential NULL/IS_ERR bug 'av' drivers/mtd/ubi/fastmap.c:185 add_vol() error: potential NULL/IS_ERR bug 'av' drivers/gpu/drm/nouveau/nvkm/engine/nvdec/base.c:57 nvkm_nvdec_new_() error: potential NULL/IS_ERR bug 'fwif' drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c:104 nvkm_sec2_new_() error: potential NULL/IS_ERR bug 'fwif' drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c:2108 gf100_gr_new_() error: potential NULL/IS_ERR bug 'fwif' drivers/gpu/drm/nouveau/nvkm/engine/nvenc/base.c:59 nvkm_nvenc_new_() error: potential NULL/IS_ERR bug 'fwif' drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c:181 nvkm_pmu_ctor() error: potential NULL/IS_ERR bug 'fwif' drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.c:56 nvkm_gsp_new_() error: potential NULL/IS_ERR bug 'fwif' drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.c:430 nvkm_acr_new_() error: potential NULL/IS_ERR bug 'fwif' drivers/clk/clk.c:417 clk_core_get() error: potential NULL/IS_ERR bug 'hw' drivers/platform/chrome/cros_ec_chardev.c:225 cros_ec_chardev_read() error: potential NULL/IS_ERR bug 'event' net/xfrm/xfrm_policy.c:2785 xfrm_policy_queue_process() error: potential NULL/IS_ERR bug 'dst' net/xfrm/xfrm_interface.c:282 xfrmi_xmit2() error: potential NULL/IS_ERR bug 'dst' net/ipv6/netfilter/nf_reject_ipv6.c:327 nf_send_reset6() error: potential NULL/IS_ERR bug 'dst' net/ipv6/ip6_tunnel.c:1161 ip6_tnl_xmit() error: potential NULL/IS_ERR bug 'dst' net/ipv6/ndisc.c:505 ndisc_send_skb() error: potential NULL/IS_ERR bug 'dst' security/selinux/hooks.c:3157 selinux_inode_follow_link() error: potential NULL/IS_ERR bug 'isec' security/selinux/hooks.c:3212 selinux_inode_permission() error: potential NULL/IS_ERR bug 'isec' regards, dan carpenter