Switch setfsuid() to lookup fsids in the fsid mappings. If no fsid mappings are setup the behavior is unchanged, i.e. fsids are looked up in the id mappings. Signed-off-by: Christian Brauner <christian.brauner@xxxxxxxxxx> --- kernel/sys.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/sys.c b/kernel/sys.c index a9331f101883..ae376d32c1e3 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -59,6 +59,7 @@ #include <linux/sched/cputime.h> #include <linux/rcupdate.h> #include <linux/uidgid.h> +#include <linux/fsuidgid.h> #include <linux/cred.h> #include <linux/nospec.h> @@ -802,9 +803,9 @@ long __sys_setfsuid(uid_t uid) kuid_t kuid; old = current_cred(); - old_fsuid = from_kuid_munged(old->user_ns, old->fsuid); + old_fsuid = from_kfsuid_munged(old->user_ns, old->fsuid); - kuid = make_kuid(old->user_ns, uid); + kuid = make_kfsuid(old->user_ns, uid); if (!uid_valid(kuid)) return old_fsuid; -- 2.25.0