autofs: Fix automounts by using current_real_cred()->uid
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 30 Sep 2016 16:28:05 +0000 (11:28 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Fri, 30 Sep 2016 17:48:01 +0000 (12:48 -0500)
commit069d5ac9ae0d271903cc4607890616418118379a
treec62c1c69d59207ef666ff55d0e44ecae847351f1
parentd29216842a85c7970c536108e093963f02714498
autofs:  Fix automounts by using current_real_cred()->uid

Seth Forshee reports that in 4.8-rcN some automounts are failing
because the requesting the automount changed.

The relevant call path is:
follow_automount()
    ->d_automount
    autofs4_d_automount
       autofs4_mount_wait
           autofs4_wait

In autofs4_wait wq_uid and wq_gid are set to current_uid() and
current_gid respectively.  With follow_automount now overriding creds
uid that we export to userspace changes and that breaks existing
setups.

To remove the regression set wq_uid and wq_gid from
current_real_cred()->uid and current_real_cred()->gid respectively.
This restores the current behavior as current->real_cred is identical
to current->cred except when override creds are used.

Cc: stable@vger.kernel.org
Fixes: aeaa4a79ff6a ("fs: Call d_automount with the filesystems creds")
Reported-by: Seth Forshee <seth.forshee@canonical.com>
Tested-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/autofs4/waitq.c