> Alan Stern <stern@rowland.harvard.edu> said:
> 
> [...]
> 
> > But if you look very far through the kernel sources you will see many 
> > occurrences of code similar to this:
> > 
> > 	static void release(struct xxx *ptr)
> > 	{
> > 		if (!ptr)
> > 			return;
> > 	...
> > 
> > I can't see any reason for keeping something like that.
> 
> Just like free(3)
NO!  Not just like free().  The documentation for free() explicitly states 
that NULL pointers are valid input and result in no action.  A 
release()-type function, by contrast, is called back from core system code 
that guarantees it will always pass a pointer to the currently-registered 
owner of the corresponding resource.  If the owner were NULL, the 
release() function wouldn't have been called in the first place.
Alan Stern
-
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/