Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

simpler calling conventions for filename_mountpoint()

a) make it accept ERR_PTR() as filename (and return its PTR_ERR() in that case)
b) make it putname() the sucker in the end otherwise

simplifies life for callers...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro cbaab2db 51689104

+7 -16
+7 -16
fs/namei.c
··· 2373 2373 filename_mountpoint(int dfd, struct filename *s, struct path *path, 2374 2374 unsigned int flags) 2375 2375 { 2376 - int error = path_mountpoint(dfd, s->name, path, flags | LOOKUP_RCU); 2376 + int error; 2377 + if (IS_ERR(s)) 2378 + return PTR_ERR(s); 2379 + error = path_mountpoint(dfd, s->name, path, flags | LOOKUP_RCU); 2377 2380 if (unlikely(error == -ECHILD)) 2378 2381 error = path_mountpoint(dfd, s->name, path, flags); 2379 2382 if (unlikely(error == -ESTALE)) 2380 2383 error = path_mountpoint(dfd, s->name, path, flags | LOOKUP_REVAL); 2381 2384 if (likely(!error)) 2382 2385 audit_inode(s, path->dentry, 0); 2386 + putname(s); 2383 2387 return error; 2384 2388 } 2385 2389 ··· 2405 2401 user_path_mountpoint_at(int dfd, const char __user *name, unsigned int flags, 2406 2402 struct path *path) 2407 2403 { 2408 - struct filename *s = getname(name); 2409 - int error; 2410 - if (IS_ERR(s)) 2411 - return PTR_ERR(s); 2412 - error = filename_mountpoint(dfd, s, path, flags); 2413 - putname(s); 2414 - return error; 2404 + return filename_mountpoint(dfd, getname(name), path, flags); 2415 2405 } 2416 2406 2417 2407 int 2418 2408 kern_path_mountpoint(int dfd, const char *name, struct path *path, 2419 2409 unsigned int flags) 2420 2410 { 2421 - struct filename *s = getname_kernel(name); 2422 - int retval = PTR_ERR(s); 2423 - 2424 - if (!IS_ERR(s)) { 2425 - retval = filename_mountpoint(dfd, s, path, flags); 2426 - putname(s); 2427 - } 2428 - return retval; 2411 + return filename_mountpoint(dfd, getname_kernel(name), path, flags); 2429 2412 } 2430 2413 EXPORT_SYMBOL(kern_path_mountpoint); 2431 2414