From: Al Viro Date: Thu, 25 Sep 2025 21:02:28 +0000 (-0400) Subject: do_filp_open(): DTRT when getting ERR_PTR() as pathname X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e2d64aea5c59ba976fced4bf44832ea425a3f3f;p=thirdparty%2Fkernel%2Flinux.git 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 --- diff --git a/fs/namei.c b/fs/namei.c index f4359825ba483..659c92a6d52cf 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -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)))