Re: [PATCH v2 1/5] firmware: fix __getname() missing failure check
From: Linus Torvalds
Date: Tue May 12 2015 - 16:32:07 EST
On Tue, May 12, 2015 at 11:30 AM, Luis R. Rodriguez
<mcgrof@xxxxxxxxxxxxxxxx> wrote:
> +
> + path = __getname();
> + if (unlikely(!path))
> + return PTR_ERR(path);
This makes no sense.
PTR_ERR() on NULL is an insane operation. It's a very non-intuitive
and misleading way of writing "0".
So not only is that "return 0;", that's not likely what you want _anyway_.
If you intended to return an error, you should just have done so, eg
if (unlikely(!path))
return -ENOMEM;
which actually does something sane, and is more readable.
PTR_ERR() is for when you get an error pointer, so a sequence like
if (IS_ERR(ptr))
return PTR_ERR(ptr);
is sensible (it checks whether the ptr has an error value in it, and
then returns the integer error value of the pointer).
But for a NULL pointer? No.
Linus
--
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/