I have poked at this a bit.  On my system, running this:

#!/bin/bash
while [ 1 ]; do
  touch foo
  test=`ls -lh foo | grep -v c.hetherington`
  if [ "$test" == "" ]; then
    echo "OOPS"
    echo $test
  fi
  sleep 1s
  rm foo
done

prints OOPS exactly 10 minutes after the first resolution of my username
(c.hetherington) to my uid (10000).  When this happens, -2 is returned
as the uid/gid of the test file.

As far as I can see:

nfs_map_name_to_uid() returns -2 in *uid; it calls
nfs_idmap_lookup_id() which fails because it calls
nfs_idmap_get_key() which fails because it calls
nfs_idmap_request_key() which fails because it calls
request_key_with_auxdata() which fails because it calls
wait_for_key_construction() which fails because
key_validate() returns EKEYEXPIRED.

At some point subsequently, a new call to nfs_map_name_to_uid ends up
calling /sbin/request-key after which everything is ok again.

I'm printk()ing the kernel and testing here so let me know if there's
anything useful I can try.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1124250

Title:
  Partially incorrect uid mapping with nfs4/idmapd/ldap-auth

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1124250/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to