do_filp_open(): DTRT when getting ERR_PTR() as pathname
The rest of the set_nameidata() callers treat IS_ERR(pathname) as "bail out immediately with PTR_ERR(pathname) as error". Makes life simpler for callers; do_filp_open() is the only exception and its callers would also benefit from such calling conventions change. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>master
parent
ba33ac100d
commit
2e2d64aea5
|
|
@ -4871,6 +4871,8 @@ struct file *do_filp_open(int dfd, struct filename *pathname,
|
|||
int flags = op->lookup_flags;
|
||||
struct file *filp;
|
||||
|
||||
if (IS_ERR(pathname))
|
||||
return ERR_CAST(pathname);
|
||||
set_nameidata(&nd, dfd, pathname, NULL);
|
||||
filp = path_openat(&nd, op, flags | LOOKUP_RCU);
|
||||
if (unlikely(filp == ERR_PTR(-ECHILD)))
|
||||
|
|
|
|||
Loading…
Reference in New Issue