exit
fi
done
-From 069d5ac9ae0d271903cc4607890616418118379a Mon Sep 17 00:00:00 2001
-From: "Eric W. Biederman" <ebiederm@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@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 | 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
+; kernel-orc.patch
+Index: linux-2.6/tools/objtool/orc_dump.c
+===================================================================
+--- linux-2.6.orig/tools/objtool/orc_dump.c
++++ linux-2.6/tools/objtool/orc_dump.c
+@@ -76,7 +76,8 @@ int orc_dump(const char *_objname)
+ int fd, nr_entries, i, *orc_ip = NULL, orc_size = 0;
+ struct orc_entry *orc = NULL;
+ char *name;
+- unsigned long nr_sections, orc_ip_addr = 0;
++ size_t nr_sections;
++ Elf64_Addr orc_ip_addr = 0;
+ size_t shstrtab_idx;
+ Elf *elf;
+ Elf_Scn *scn;
+@@ -187,10 +188,10 @@ int orc_dump(const char *_objname)
+ return -1;
+ }
+
+- printf("%s+%lx:", name, rela.r_addend);
++ printf("%s+%llx:", name, (unsigned long long)rela.r_addend);
+
+ } else {
+- printf("%lx:", orc_ip_addr + (i * sizeof(int)) + orc_ip[i]);
++ printf("%llx:", (unsigned long long)(orc_ip_addr + (i * sizeof(int)) + orc_ip[i]));
+ }
+
+
+Index: linux-2.6/tools/objtool/Makefile
+===================================================================
+--- linux-2.6.orig/tools/objtool/Makefile
++++ linux-2.6/tools/objtool/Makefile
+@@ -7,8 +7,9 @@ ARCH := x86
+ endif
+
+ # always use the host compiler
+-CC = gcc
+-LD = ld
++CC = $(HOSTCC)
++HOSTLD ?= ld
++LD = $(HOSTLD)
+ AR = ar
+
+ ifeq ($(srctree),)