Calling k[ug]id_has_mapping() with INVALID_[UG]ID returns false
if user namespaces are enabled and true if they are disabled.
INVALID_[UG]ID is never included in any mapping, so fix the
CONFIG_USER_NS=n to return false for invalid ids.

Signed-off-by: Seth Forshee <[email protected]>
---

Hi Eric,

I noticed this inconsistency when working on support for user namespaces
in fuse. As far as I know this isn't breaking anything, but it seems
like invalid should be invalid even with CONFIG_USER_NS=n. A
compile/boot test with this patch didn't reveal any breakage.

Thanks,
Seth

 include/linux/uidgid.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/uidgid.h b/include/linux/uidgid.h
index 2d1f9b627f91..6c302267f7cc 100644
--- a/include/linux/uidgid.h
+++ b/include/linux/uidgid.h
@@ -165,12 +165,12 @@ static inline gid_t from_kgid_munged(struct 
user_namespace *to, kgid_t kgid)
 
 static inline bool kuid_has_mapping(struct user_namespace *ns, kuid_t uid)
 {
-       return true;
+       return uid_valid(uid);
 }
 
 static inline bool kgid_has_mapping(struct user_namespace *ns, kgid_t gid)
 {
-       return true;
+       return gid_valid(gid);
 }
 
 #endif /* CONFIG_USER_NS */
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to