Al Viro <viro@xxxxxxxxxxxxxxxxxx> writes: > [snip] > Another part I really dislike in that area (not your fault, obviously) > is > > void putname(struct filename *name) > { > if (IS_ERR_OR_NULL(name)) > return; > > in mainline right now. Could somebody explain when the hell has NULL > become a possibility here? OK, I buy putname(ERR_PTR(...)) being > a no-op, but IME every sodding time we mixed NULL and ERR_PTR() in > an API we ended up with headache later. > > IS_ERR_OR_NULL() is almost always wrong. NULL as argument > for destructor makes sense when constructor can fail with NULL; > not the case here. > > How about the variant in vfs.git#misc.namei? I went and looked through the changelog of fs/namei.c since this was changed and don't see anything setting a filename NULL, so it seems safe and good to me. I couldn't check *every* user of filename but the change was only two months ago. Feel free to use my r-b for that commit if you want. Reviewed-by: Stephen Brennan <stephen.s.brennan@xxxxxxxxxx>