On Tue, Jul 30, 2024 at 09:58:27PM +0200, Olaf Hering wrote: > Tue, 30 Jul 2024 16:49:24 +0100 Al Viro <viro@xxxxxxxxxxxxxxxxxx>: > > > d_path() is *NOT* going to return NULL. > > The existing documentation does not state that fact. Needs to be fixed, but as a general rule - mixing NULL and ERR_PTR() for error reporting is a Very Bad Idea(tm). There are cases when there's a legitimate reason for a function to return both, but they are rare and NULL should not be an error case. Example: d_splice_alias(); ERR_PTR(-E...) => error; NULL => success, passed candidate had been accepted and attached to inode; pointer to struct dentry instance => success, preexisting alias returned and should be used instead of the candidate. Using IS_ERR_OR_NULL for "future-proofing" is obfuscating the things for no good reason - it confuses the readers, and it tends to spread when people are copying the code around. Please, don't do it.