> 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/