Messages in this thread | | | Date | Sun, 01 Oct 2006 12:30:20 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH] fs/eventpoll: error handling micro-cleanup |
| |
Davide Libenzi wrote: > On Sun, 1 Oct 2006, Jeff Garzik wrote: > >> Davide Libenzi wrote: >>> On Sun, 1 Oct 2006, Jeff Garzik wrote: >>> >>>> While reviewing the 'may be used uninitialized' bogus gcc warnings, >>>> I noticed that an error code assignment was only needed if an error had >>>> actually occured. >>> But that saved one line of code, and there are countless occurences in the >>> kernel of such code pattern ;) >> I'm not sure there are countless occurrences with PTR_ERR(). The line is >> incorrect (but harmless) if inode is a valid pointer... > > I just tried a `find /usr/src/linux-2.6.16/ -type f -exec grep -H -C 2 PTR_ERR {} \;` > and looked at the cases where the error variable is assigned in any case > before the test. Same code pattern as, like: > > error = -EFAULT; > if (copy_from_user(...)) > goto kaboom;
No, that's quite different. I'm talking about
ptr = get_a_pointer_from_somewhere() error = PTR_ERR(ptr)
See the difference? The error variable is directly assigned from a potentially-valid pointer. Doing that is quite error prone, whereas error = -EFOO is not.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |