On Sun, 29 May 2011, Greg KH wrote: > On Sun, May 29, 2011 at 07:21:10AM -0400, Robert P. J. Day wrote: > > what is apparently *not* OK is to either call kfree() *before* > > calling put_device(), or to call kfree() and nothing else upon a > > failed device_register() call. some apparently broken code from > > the current drivers/ directory: > > no, again, never call kfree, you already did that in your release > callback that the final put_device() call called. ah, that's the part i was missing -- that the enclosing structure would have been freed already via the kfree() in the release callback. i'll look at that code later. > > so as you can see, there's numerous examples of failed calls to > > device_register() that never call put_device() and simply bail or > > call kfree(). do these examples represent bad code? because it's > > not hard to find lots of examples of it. > > Yes, that's wrong. I'm sure you can write a spatch rule to catch > and fix these automatically. i was already looking into that. rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies