diff --git a/fs/statfs.c b/fs/statfs.c index a45ac85e6048..a5671bf6c7f0 100644 --- a/fs/statfs.c +++ b/fs/statfs.c @@ -99,8 +99,9 @@ int user_statfs(const char __user *pathname, struct kstatfs *st) struct path path; int error; unsigned int lookup_flags = LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT; + struct filename *name = getname(pathname); retry: - error = user_path_at(AT_FDCWD, pathname, lookup_flags, &path); + error = filename_lookup(AT_FDCWD, name, lookup_flags, &path, NULL); if (!error) { error = vfs_statfs(&path, st); path_put(&path); @@ -109,6 +110,7 @@ int user_statfs(const char __user *pathname, struct kstatfs *st) goto retry; } } + putname(name); return error; }