]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- svcrpc: fix failures to handle -1 uid's
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 9 Jul 2013 16:06:33 +0000 (18:06 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Tue, 9 Jul 2013 16:06:33 +0000 (18:06 +0200)
kernel-small_fixes.patch

index 392d1212b54690cc4ea01e399c80095dce704114..48bb4ab577ae414e747a6dcd9f463c76bdcbbf24 100644 (file)
@@ -46,3 +46,38 @@ index 7a0c800..ec5ebbb 100644
        SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);
        dev->watchdog_timeo = RTL8169_TX_TIMEOUT;
  
+commit 8efb88340e29293e05f6b498b60596884c05a8a8
+Author: J. Bruce Fields <bfields@redhat.com>
+Date:   Mon Jul 8 13:44:45 2013 -0400
+
+    svcrpc: fix failures to handle -1 uid's
+    
+    As of f025adf191924e3a75ce80e130afcd2485b53bb8 "sunrpc: Properly decode
+    kuids and kgids in RPC_AUTH_UNIX credentials" any rpc containing a -1
+    (0xffff) uid or gid would fail with a badcred error.
+    
+    Commit afe3c3fd5392b2f0066930abc5dbd3f4b14a0f13 "svcrpc: fix failures to
+    handle -1 uid's and gid's" fixed part of the problem, but overlooked the
+    gid upcall--the kernel can request supplementary gid's for the -1 uid,
+    but mountd's attempt write a response will get -EINVAL.
+    
+    Symptoms were nfsd failing to reply to the first attempt to use a newly
+    negotiated krb5 context.
+    
+    Reported-by: Sven Geggus <lists@fuchsschwanzdomain.de>
+    Tested-by: Sven Geggus <lists@fuchsschwanzdomain.de>
+    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
+
+diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
+index a98853d..621ca7b 100644
+--- a/net/sunrpc/svcauth_unix.c
++++ b/net/sunrpc/svcauth_unix.c
+@@ -493,8 +493,6 @@ static int unix_gid_parse(struct cache_detail *cd,
+       if (rv)
+               return -EINVAL;
+       uid = make_kuid(&init_user_ns, id);
+-      if (!uid_valid(uid))
+-              return -EINVAL;
+       ug.uid = uid;
+       expiry = get_expiry(&mesg);
This page took 0.820778 seconds and 4 git commands to generate.