Messages in this thread | | | Date | Tue, 12 May 2015 13:31:58 -0700 | Subject | Re: [PATCH v2 1/5] firmware: fix __getname() missing failure check | From | Linus Torvalds <> |
| |
On Tue, May 12, 2015 at 11:30 AM, Luis R. Rodriguez <mcgrof@do-not-panic.com> 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
| |