[packages/kernel/LINUX_4_4] - fix autofs4 credentials passing - rel 2

baggins baggins at pld-linux.org
Sun Oct 16 13:17:13 CEST 2016


commit a8c9ee000af8e3fcd6bd070c15133c6d416ee986
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Oct 16 13:16:57 2016 +0200

    - fix autofs4 credentials passing
    - rel 2

 kernel-small_fixes.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
 kernel.spec              |  2 +-
 2 files changed, 53 insertions(+), 1 deletion(-)
---
diff --git a/kernel.spec b/kernel.spec
index c4f1cf9..a39a740 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -68,7 +68,7 @@
 %define		have_pcmcia	0
 %endif
 
-%define		rel		1
+%define		rel		2
 %define		basever		4.4
 %define		postver		.24
 
diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch
index d4b6034..3df7f35 100644
--- a/kernel-small_fixes.patch
+++ b/kernel-small_fixes.patch
@@ -26,3 +26,55 @@
  				exit
  			fi
  		done
+From 069d5ac9ae0d271903cc4607890616418118379a Mon Sep 17 00:00:00 2001
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Fri, 30 Sep 2016 11:28:05 -0500
+Subject: 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 at vger.kernel.org
+Fixes: aeaa4a79ff6a ("fs: Call d_automount with the filesystems creds")
+Reported-by: Seth Forshee <seth.forshee at canonical.com>
+Tested-by: Seth Forshee <seth.forshee at canonical.com>
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+---
+ fs/autofs4/waitq.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
+index 431fd7e..e44271d 100644
+--- a/fs/autofs4/waitq.c
++++ b/fs/autofs4/waitq.c
+@@ -431,8 +431,8 @@ int autofs4_wait(struct autofs_sb_info *sbi,
+ 		memcpy(&wq->name, &qstr, sizeof(struct qstr));
+ 		wq->dev = autofs4_get_dev(sbi);
+ 		wq->ino = autofs4_get_ino(sbi);
+-		wq->uid = current_uid();
+-		wq->gid = current_gid();
++		wq->uid = current_real_cred()->uid;
++		wq->gid = current_real_cred()->gid;
+ 		wq->pid = pid;
+ 		wq->tgid = tgid;
+ 		wq->status = -EINTR; /* Status return if interrupted */
+-- 
+cgit v0.12
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/a8c9ee000af8e3fcd6bd070c15133c6d416ee986



More information about the pld-cvs-commit mailing list