Re: [PATCH] drivers: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO

From: Wei Yongjun
Date: Thu Nov 14 2013 - 22:43:03 EST


On 11/11/2013 04:38 PM, Duan Jiong wrote:
> ÃÂÅ 2013ÃÂÂ11ÃÅË11Ãâ 15:43, Wei Yongjun ÃââÃÂâ:
>> On 11/01/2013 06:09 PM, Duan Jiong wrote:
>>> This patch fixes coccinelle error regarding usage of IS_ERR and
>>> PTR_ERR instead of PTR_ERR_OR_ZERO.
>>>
>>> Signed-off-by: Duan Jiong <duanj.fnst@xxxxxxxxxxxxxx>
>>> ---
>>> drivers/misc/carma/carma-fpga.c | 5 +----
>>> 1 file changed, 1 insertion(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/misc/carma/carma-fpga.c b/drivers/misc/carma/carma-fpga.c
>>> index 08b18f3..9a32e98 100644
>>> --- a/drivers/misc/carma/carma-fpga.c
>>> +++ b/drivers/misc/carma/carma-fpga.c
>>> @@ -956,10 +956,7 @@ static int data_debugfs_init(struct fpga_device *priv)
>>> {
>>> priv->dbg_entry = debugfs_create_file(drv_name, S_IRUGO, NULL, priv,
>>> &data_debug_fops);
>>> - if (IS_ERR(priv->dbg_entry))
>>> - return PTR_ERR(priv->dbg_entry);
>>> -
>>> - return 0;
>>> + return PTR_ERR_OR_ZERO(priv->dbg_entry);
>>> }
>> Those code has make sure that CONFIG_DEBUG_FS is enabled, so
>> debugfs_create_file() never return PTR_ERR(), only NULL will
>> be returned when error occurs.
>>
>>
> You can see the definition about PTR_ERR_OR_ZERO in include/linux/err.h,
> it is merely used to simplify the code.

I means that the orig code has bug. You should fix the bug, not only do
some cleanup like this.

Also, the module name should be 'carma-fpga', not 'drivers'. You should send
something like this:

[PATCH] carma-fpga: fix the return value check in data_debugfs_init()

In case of error, the function debugfs_create_file() returns NULL
pointer not ERR_PTR() if CONFIG_DEBUG_FS is enabled. The IS_ERR()
test in the return value check should be replaced with NULL test.

...

- if (IS_ERR(priv->dbg_entry))
- return PTR_ERR(priv->dbg_entry);
+ if (!priv->dbg_entry)
+ return -ENOMEM;
...



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/