Messages in this thread | | | Date | Wed, 17 Dec 2014 17:35:21 -0500 | From | Murali Karicheri <> | Subject | Re: How to fix CHECK warning: testing a 'safe expression' ? |
| |
On 12/17/2014 01:49 PM, Bjorn Helgaas wrote: > [+cc Christopher, linux-kernel (this doesn't sound like a PCI-specific > question)] > > On Wed, Dec 17, 2014 at 9:18 AM, Murali Karicheri<m-karicheri2@ti.com> wrote: >> I am trying to address CHECK warnings in my driver and wondering how to >> resolve 'warning: testing a 'safe expression' which appears when using >> IS_ERR_OR_NULL(foo) >> >> where foo is defined as >> >> struct foo_type *foo; >> >> The foo get assigned only NULL or ERR_PTR(error code). So I believe the >> usage is correct. But then how do I make the CHECK happy of its usage? >> >> I have tried a grep to check on the current usage of IS_ERR_OR_NULL() and >> found 276 of them causes this warning in the v3.18 version of the kernel >> that I am using >> >> $ grep -r "warning: testing a 'safe expression" * | wc -l >> 276 >> >> Can someone help me undestand what this means and how to fix the same? >> >> I run folling for CHECK >> >> make C=2 CF="-D__CHECK_ENDIAN__" CHECK=sparse > > If you can share your actual code or point to it in the tree, you > might get more specific help. > > Bjorn
For example I get
CHECK drivers/pci/host/pci-keystone.c include/linux/err.h:40:16: warning: testing a 'safe expression'
Actually it is for IS_ERR_OR_NULL() call in the file which is the only one call in the file.
-- Murali Karicheri Linux Kernel, Texas Instruments
| |