[linux] 01/01: Update to 4.9-rc6

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Mon Nov 21 23:52:58 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch master
in repository linux.

commit fa9e148da495f5f251d06a97b9f2ff3186959147
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Mon Nov 21 23:52:49 2016 +0000

    Update to 4.9-rc6
---
 debian/changelog                                   |   5 +-
 debian/patches/bugfix/all/kbuild-add-fno-pie.patch |  36 ----
 ...ore-careful-about-matching-preprocessed-a.patch |  41 ----
 ...ild-modversions-for-EXPORT_SYMBOL-for-asm.patch | 149 ---------------
 .../scripts-has-stack-protector-add-fno-pie.patch  |  36 ----
 ...vent-mixed-mode-boot-corruption-with-conf.patch | 212 ---------------------
 .../patches/bugfix/x86/x86-kexec-add-fno-pie.patch |  32 ----
 debian/patches/series                              |   6 -
 8 files changed, 4 insertions(+), 513 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b18f57e..bbd516a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,8 @@
-linux (4.9~rc5-1~exp2) UNRELEASED; urgency=medium
+linux (4.9~rc6-1~exp1) UNRELEASED; urgency=medium
 
+  * New upstream release candidate
+
+  [ Uwe Kleine-König ]
   * [armhf,armel] Fix problem with module CRC generation (Closes: #844530)
 
  -- Uwe Kleine-König <ukleinek at debian.org>  Thu, 17 Nov 2016 09:55:16 +0100
diff --git a/debian/patches/bugfix/all/kbuild-add-fno-pie.patch b/debian/patches/bugfix/all/kbuild-add-fno-pie.patch
deleted file mode 100644
index 6326b30..0000000
--- a/debian/patches/bugfix/all/kbuild-add-fno-pie.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
-Date: Fri, 4 Nov 2016 19:39:38 +0100
-Subject: kbuild: add -fno-PIE
-Origin: https://git.kernel.org/cgit/linux/kernel/git/mmarek/kbuild.git/commit?id=8ae94224c9d72fc4d9aaac93b2d7833cf46d7141
-Bug-Debian: https://bugs.debian.org/841368
-
-Debian started to build the gcc with -fPIE by default so the kernel
-build ends before it starts properly with:
-|kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
-
-Also add to KBUILD_AFLAGS due to:
-
-|gcc -Wp,-MD,arch/x86/entry/vdso/vdso32/.note.o.d … -mfentry -DCC_USING_FENTRY … vdso/vdso32/note.S
-|arch/x86/entry/vdso/vdso32/note.S:1:0: sorry, unimplemented: -mfentry isn’t supported for 32-bit in combination with -fpic
-
-Tagging it stable so it is possible to compile recent stable kernels as
-well.
-
-Cc: stable at vger.kernel.org
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
-Signed-off-by: Michal Marek <mmarek at suse.com>
----
- Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/Makefile
-+++ b/Makefile
-@@ -623,6 +623,8 @@ include arch/$(SRCARCH)/Makefile
- 
- KBUILD_CFLAGS	+= $(call cc-option,-fno-delete-null-pointer-checks,)
- KBUILD_CFLAGS	+= $(call cc-disable-warning,frame-address,)
-+KBUILD_CFLAGS	+= $(call cc-option,-fno-PIE)
-+KBUILD_AFLAGS	+= $(call cc-option,-fno-PIE)
- 
- ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
- KBUILD_CFLAGS	+= $(call cc-option,-ffunction-sections,)
diff --git a/debian/patches/bugfix/arm/kbuild-be-more-careful-about-matching-preprocessed-a.patch b/debian/patches/bugfix/arm/kbuild-be-more-careful-about-matching-preprocessed-a.patch
deleted file mode 100644
index f277bfd..0000000
--- a/debian/patches/bugfix/arm/kbuild-be-more-careful-about-matching-preprocessed-a.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Nicholas Piggin <npiggin at gmail.com>
-Date: Wed, 9 Nov 2016 15:34:05 +1100
-Subject: kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL
-Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=cc6acc11cad1eb1ae39707a3a6e4a97fafbeeabd
-
-The CRC code for asm exports grabs the preprocessed asm, finds the
-___EXPORT_SYMBOL and turns those into EXPORT_SYMBOL in a C program
-that can be preprocessed and parsed to create the CRC signatures from
-the type.
-
-The existing regex matching and replacement is too strict, and doesn't
-deal well with whitespace among other things. The line
-" EXPORT_SYMBOL(sym)" in a .S file would not match due to initial
-whitespace, for example, which resulted in x86's ___preempt_schedule
-failing to get CRCs.
-
-Reported-by: Philip Müller <philm at manjaro.org>
-Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
-Signed-off-by: Michal Marek <mmarek at suse.com>
----
- scripts/Makefile.build | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/scripts/Makefile.build b/scripts/Makefile.build
-index 3e223c264469..7675d11ee65e 100644
---- a/scripts/Makefile.build
-+++ b/scripts/Makefile.build
-@@ -332,8 +332,8 @@ cmd_gensymtypes_S =                                                         \
-     (echo "\#include <linux/kernel.h>" ;                                    \
-      echo "\#include <asm/asm-prototypes.h>" ;                              \
-     $(CPP) $(a_flags) $< |                                                  \
--     grep ^___EXPORT_SYMBOL |                                               \
--     sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) |  \
-+     grep "\<___EXPORT_SYMBOL\>" |                                          \
-+     sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ) | \
-     $(CPP) -D__GENKSYMS__ $(c_flags) -xc - |                                \
-     $(GENKSYMS) $(if $(1), -T $(2))                                         \
-      $(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX))             \
--- 
-2.10.2
-
diff --git a/debian/patches/bugfix/arm/kbuild-modversions-for-EXPORT_SYMBOL-for-asm.patch b/debian/patches/bugfix/arm/kbuild-modversions-for-EXPORT_SYMBOL-for-asm.patch
deleted file mode 100644
index f4c55fd..0000000
--- a/debian/patches/bugfix/arm/kbuild-modversions-for-EXPORT_SYMBOL-for-asm.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From: Nicholas Piggin <npiggin at gmail.com>
-Date: Tue, 1 Nov 2016 12:46:19 +1100
-Subject: [PATCH] kbuild: modversions for EXPORT_SYMBOL() for asm
-Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=4efca4ed05cbdfd13ec3e8cb623fb77d6e4ab187
-
-Allow architectures to create asm/asm-prototypes.h file that
-provides C prototypes for exported asm functions, which enables
-proper CRC versions to be generated for them.
-
-Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
-Signed-off-by: Michal Marek <mmarek at suse.com>
----
- scripts/Makefile.build | 78 ++++++++++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 72 insertions(+), 6 deletions(-)
-
-diff --git a/scripts/Makefile.build b/scripts/Makefile.build
-index e1f25d6d132e..3e223c264469 100644
---- a/scripts/Makefile.build
-+++ b/scripts/Makefile.build
-@@ -159,7 +159,8 @@ cmd_cpp_i_c       = $(CPP) $(c_flags) -o $@ $<
- $(obj)/%.i: $(src)/%.c FORCE
- 	$(call if_changed_dep,cpp_i_c)
- 
--cmd_gensymtypes =                                                           \
-+# These mirror gensymtypes_S and co below, keep them in synch.
-+cmd_gensymtypes_c =                                                         \
-     $(CPP) -D__GENKSYMS__ $(c_flags) $< |                                   \
-     $(GENKSYMS) $(if $(1), -T $(2))                                         \
-      $(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX))             \
-@@ -169,7 +170,7 @@ cmd_gensymtypes =                                                           \
- quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
- cmd_cc_symtypes_c =                                                         \
-     set -e;                                                                 \
--    $(call cmd_gensymtypes,true,$@) >/dev/null;                             \
-+    $(call cmd_gensymtypes_c,true,$@) >/dev/null;                           \
-     test -s $@ || rm -f $@
- 
- $(obj)/%.symtypes : $(src)/%.c FORCE
-@@ -198,9 +199,10 @@ else
- #   the actual value of the checksum generated by genksyms
- 
- cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
--cmd_modversions =								\
-+
-+cmd_modversions_c =								\
- 	if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then		\
--		$(call cmd_gensymtypes,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))	\
-+		$(call cmd_gensymtypes_c,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))	\
- 		    > $(@D)/.tmp_$(@F:.o=.ver);					\
- 										\
- 		$(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) 			\
-@@ -268,13 +270,14 @@ endif # CONFIG_STACK_VALIDATION
- define rule_cc_o_c
- 	$(call echo-cmd,checksrc) $(cmd_checksrc)			  \
- 	$(call cmd_and_fixdep,cc_o_c)					  \
--	$(cmd_modversions)						  \
-+	$(cmd_modversions_c)						  \
- 	$(cmd_objtool)						          \
- 	$(call echo-cmd,record_mcount) $(cmd_record_mcount)
- endef
- 
- define rule_as_o_S
- 	$(call cmd_and_fixdep,as_o_S)					  \
-+	$(cmd_modversions_S)						  \
- 	$(cmd_objtool)
- endef
- 
-@@ -314,6 +317,39 @@ modkern_aflags := $(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL)
- $(real-objs-m)      : modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
- $(real-objs-m:.o=.s): modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE)
- 
-+# .S file exports must have their C prototypes defined in asm/asm-prototypes.h
-+# or a file that it includes, in order to get versioned symbols. We build a
-+# dummy C file that includes asm-prototypes and the EXPORT_SYMBOL lines from
-+# the .S file (with trailing ';'), and run genksyms on that, to extract vers.
-+#
-+# This is convoluted. The .S file must first be preprocessed to run guards and
-+# expand names, then the resulting exports must be constructed into plain
-+# EXPORT_SYMBOL(symbol); to build our dummy C file, and that gets preprocessed
-+# to make the genksyms input.
-+#
-+# These mirror gensymtypes_c and co above, keep them in synch.
-+cmd_gensymtypes_S =                                                         \
-+    (echo "\#include <linux/kernel.h>" ;                                    \
-+     echo "\#include <asm/asm-prototypes.h>" ;                              \
-+    $(CPP) $(a_flags) $< |                                                  \
-+     grep ^___EXPORT_SYMBOL |                                               \
-+     sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) |  \
-+    $(CPP) -D__GENKSYMS__ $(c_flags) -xc - |                                \
-+    $(GENKSYMS) $(if $(1), -T $(2))                                         \
-+     $(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX))             \
-+     $(if $(KBUILD_PRESERVE),-p)                                            \
-+     -r $(firstword $(wildcard $(2:.symtypes=.symref) /dev/null))
-+
-+quiet_cmd_cc_symtypes_S = SYM $(quiet_modtag) $@
-+cmd_cc_symtypes_S =                                                         \
-+    set -e;                                                                 \
-+    $(call cmd_gensymtypes_S,true,$@) >/dev/null;                           \
-+    test -s $@ || rm -f $@
-+
-+$(obj)/%.symtypes : $(src)/%.S FORCE
-+	$(call cmd,cc_symtypes_S)
-+
-+
- quiet_cmd_cpp_s_S = CPP $(quiet_modtag) $@
- cmd_cpp_s_S       = $(CPP) $(a_flags) -o $@ $<
- 
-@@ -321,7 +357,37 @@ $(obj)/%.s: $(src)/%.S FORCE
- 	$(call if_changed_dep,cpp_s_S)
- 
- quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
--cmd_as_o_S       = $(CC) $(a_flags) -c -o $@ $<
-+
-+ifndef CONFIG_MODVERSIONS
-+cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
-+
-+else
-+
-+ASM_PROTOTYPES := $(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/asm-prototypes.h)
-+
-+ifeq ($(ASM_PROTOTYPES),)
-+cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
-+
-+else
-+
-+# versioning matches the C process described above, with difference that
-+# we parse asm-prototypes.h C header to get function definitions.
-+
-+cmd_as_o_S = $(CC) $(a_flags) -c -o $(@D)/.tmp_$(@F) $<
-+
-+cmd_modversions_S =								\
-+	if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then		\
-+		$(call cmd_gensymtypes_S,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))	\
-+		    > $(@D)/.tmp_$(@F:.o=.ver);					\
-+										\
-+		$(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) 			\
-+			-T $(@D)/.tmp_$(@F:.o=.ver);				\
-+		rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver);		\
-+	else									\
-+		mv -f $(@D)/.tmp_$(@F) $@;					\
-+	fi;
-+endif
-+endif
- 
- $(obj)/%.o: $(src)/%.S $(objtool_obj) FORCE
- 	$(call if_changed_rule,as_o_S)
--- 
-2.10.2
-
diff --git a/debian/patches/bugfix/x86/scripts-has-stack-protector-add-fno-pie.patch b/debian/patches/bugfix/x86/scripts-has-stack-protector-add-fno-pie.patch
deleted file mode 100644
index 3763219..0000000
--- a/debian/patches/bugfix/x86/scripts-has-stack-protector-add-fno-pie.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
-Date: Fri, 4 Nov 2016 19:39:39 +0100
-Subject: scripts/has-stack-protector: add -fno-PIE
-Origin: https://git.kernel.org/cgit/linux/kernel/git/mmarek/kbuild.git/commit?id=82031ea29e454b574bc6f49a33683a693ca5d907
-Bug-Debian: https://bugs.debian.org/841368
-
-Adding -no-PIE to the fstack protector check. -no-PIE was introduced
-before -fstack-protector so there is no need for a runtime check.
-
-Without it the build stops:
-|Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong available but compiler is broken
-
-due to -mcmodel=kernel + -fPIE if -fPIE is enabled by default.
-
-Tagging it stable so it is possible to compile recent stable kernels as
-well.
-
-Cc: stable at vger.kernel.org
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
-Signed-off-by: Michal Marek <mmarek at suse.com>
----
- scripts/gcc-x86_64-has-stack-protector.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scripts/gcc-x86_64-has-stack-protector.sh b/scripts/gcc-x86_64-has-stack-protector.sh
-index 973e8c141567..17867e723a51 100755
---- a/scripts/gcc-x86_64-has-stack-protector.sh
-+++ b/scripts/gcc-x86_64-has-stack-protector.sh
-@@ -1,6 +1,6 @@
- #!/bin/sh
- 
--echo "int foo(void) { char X[200]; return 3; }" | $* -S -x c -c -O0 -mcmodel=kernel -fstack-protector - -o - 2> /dev/null | grep -q "%gs"
-+echo "int foo(void) { char X[200]; return 3; }" | $* -S -x c -c -O0 -mcmodel=kernel -fno-PIE -fstack-protector - -o - 2> /dev/null | grep -q "%gs"
- if [ "$?" -eq "0" ] ; then
- 	echo y
- else
diff --git a/debian/patches/bugfix/x86/x86-efi-prevent-mixed-mode-boot-corruption-with-conf.patch b/debian/patches/bugfix/x86/x86-efi-prevent-mixed-mode-boot-corruption-with-conf.patch
deleted file mode 100644
index 959912d..0000000
--- a/debian/patches/bugfix/x86/x86-efi-prevent-mixed-mode-boot-corruption-with-conf.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-From: Matt Fleming <matt at codeblueprint.co.uk>
-Date: Sat, 12 Nov 2016 21:04:24 +0000
-Subject: x86/efi: Prevent mixed mode boot corruption with CONFIG_VMAP_STACK=y
-Origin: https://git.kernel.org/linus/f6697df36bdf0bf7fce984605c2918d4a7b4269f
-
-Booting an EFI mixed mode kernel has been crashing since commit:
-
-  e37e43a497d5 ("x86/mm/64: Enable vmapped stacks (CONFIG_HAVE_ARCH_VMAP_STACK=y)")
-
-The user-visible effect in my test setup was the kernel being unable
-to find the root file system ramdisk. This was likely caused by silent
-memory or page table corruption.
-
-Enabling CONFIG_DEBUG_VIRTUAL=y immediately flagged the thunking code as
-abusing virt_to_phys() because it was passing addresses that were not
-part of the kernel direct mapping.
-
-Use the slow version instead, which correctly handles all memory
-regions by performing a page table walk.
-
-Suggested-by: Andy Lutomirski <luto at amacapital.net>
-Signed-off-by: Matt Fleming <matt at codeblueprint.co.uk>
-Cc: Andy Lutomirski <luto at kernel.org>
-Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
-Cc: Borislav Petkov <bp at alien8.de>
-Cc: Brian Gerst <brgerst at gmail.com>
-Cc: Denys Vlasenko <dvlasenk at redhat.com>
-Cc: H. Peter Anvin <hpa at zytor.com>
-Cc: Josh Poimboeuf <jpoimboe at redhat.com>
-Cc: Linus Torvalds <torvalds at linux-foundation.org>
-Cc: Peter Zijlstra <peterz at infradead.org>
-Cc: Thomas Gleixner <tglx at linutronix.de>
-Cc: linux-efi at vger.kernel.org
-Link: http://lkml.kernel.org/r/20161112210424.5157-3-matt@codeblueprint.co.uk
-Signed-off-by: Ingo Molnar <mingo at kernel.org>
----
- arch/x86/platform/efi/efi_64.c | 80 ++++++++++++++++++++++++++++++------------
- 1 file changed, 57 insertions(+), 23 deletions(-)
-
---- a/arch/x86/platform/efi/efi_64.c
-+++ b/arch/x86/platform/efi/efi_64.c
-@@ -31,6 +31,7 @@
- #include <linux/io.h>
- #include <linux/reboot.h>
- #include <linux/slab.h>
-+#include <linux/ucs2_string.h>
- 
- #include <asm/setup.h>
- #include <asm/page.h>
-@@ -211,6 +212,35 @@ void efi_sync_low_kernel_mappings(void)
- 	memcpy(pud_efi, pud_k, sizeof(pud_t) * num_entries);
- }
- 
-+/*
-+ * Wrapper for slow_virt_to_phys() that handles NULL addresses.
-+ */
-+static inline phys_addr_t
-+virt_to_phys_or_null_size(void *va, unsigned long size)
-+{
-+	bool bad_size;
-+
-+	if (!va)
-+		return 0;
-+
-+	if (virt_addr_valid(va))
-+		return virt_to_phys(va);
-+
-+	/*
-+	 * A fully aligned variable on the stack is guaranteed not to
-+	 * cross a page bounary. Try to catch strings on the stack by
-+	 * checking that 'size' is a power of two.
-+	 */
-+	bad_size = size > PAGE_SIZE || !is_power_of_2(size);
-+
-+	WARN_ON(!IS_ALIGNED((unsigned long)va, size) || bad_size);
-+
-+	return slow_virt_to_phys(va);
-+}
-+
-+#define virt_to_phys_or_null(addr)				\
-+	virt_to_phys_or_null_size((addr), sizeof(*(addr)))
-+
- int __init efi_setup_page_tables(unsigned long pa_memmap, unsigned num_pages)
- {
- 	unsigned long pfn, text;
-@@ -494,8 +524,8 @@ static efi_status_t efi_thunk_get_time(e
- 
- 	spin_lock(&rtc_lock);
- 
--	phys_tm = virt_to_phys(tm);
--	phys_tc = virt_to_phys(tc);
-+	phys_tm = virt_to_phys_or_null(tm);
-+	phys_tc = virt_to_phys_or_null(tc);
- 
- 	status = efi_thunk(get_time, phys_tm, phys_tc);
- 
-@@ -511,7 +541,7 @@ static efi_status_t efi_thunk_set_time(e
- 
- 	spin_lock(&rtc_lock);
- 
--	phys_tm = virt_to_phys(tm);
-+	phys_tm = virt_to_phys_or_null(tm);
- 
- 	status = efi_thunk(set_time, phys_tm);
- 
-@@ -529,9 +559,9 @@ efi_thunk_get_wakeup_time(efi_bool_t *en
- 
- 	spin_lock(&rtc_lock);
- 
--	phys_enabled = virt_to_phys(enabled);
--	phys_pending = virt_to_phys(pending);
--	phys_tm = virt_to_phys(tm);
-+	phys_enabled = virt_to_phys_or_null(enabled);
-+	phys_pending = virt_to_phys_or_null(pending);
-+	phys_tm = virt_to_phys_or_null(tm);
- 
- 	status = efi_thunk(get_wakeup_time, phys_enabled,
- 			     phys_pending, phys_tm);
-@@ -549,7 +579,7 @@ efi_thunk_set_wakeup_time(efi_bool_t ena
- 
- 	spin_lock(&rtc_lock);
- 
--	phys_tm = virt_to_phys(tm);
-+	phys_tm = virt_to_phys_or_null(tm);
- 
- 	status = efi_thunk(set_wakeup_time, enabled, phys_tm);
- 
-@@ -558,6 +588,10 @@ efi_thunk_set_wakeup_time(efi_bool_t ena
- 	return status;
- }
- 
-+static unsigned long efi_name_size(efi_char16_t *name)
-+{
-+	return ucs2_strsize(name, EFI_VAR_NAME_LEN) + 1;
-+}
- 
- static efi_status_t
- efi_thunk_get_variable(efi_char16_t *name, efi_guid_t *vendor,
-@@ -567,11 +601,11 @@ efi_thunk_get_variable(efi_char16_t *nam
- 	u32 phys_name, phys_vendor, phys_attr;
- 	u32 phys_data_size, phys_data;
- 
--	phys_data_size = virt_to_phys(data_size);
--	phys_vendor = virt_to_phys(vendor);
--	phys_name = virt_to_phys(name);
--	phys_attr = virt_to_phys(attr);
--	phys_data = virt_to_phys(data);
-+	phys_data_size = virt_to_phys_or_null(data_size);
-+	phys_vendor = virt_to_phys_or_null(vendor);
-+	phys_name = virt_to_phys_or_null_size(name, efi_name_size(name));
-+	phys_attr = virt_to_phys_or_null(attr);
-+	phys_data = virt_to_phys_or_null_size(data, *data_size);
- 
- 	status = efi_thunk(get_variable, phys_name, phys_vendor,
- 			   phys_attr, phys_data_size, phys_data);
-@@ -586,9 +620,9 @@ efi_thunk_set_variable(efi_char16_t *nam
- 	u32 phys_name, phys_vendor, phys_data;
- 	efi_status_t status;
- 
--	phys_name = virt_to_phys(name);
--	phys_vendor = virt_to_phys(vendor);
--	phys_data = virt_to_phys(data);
-+	phys_name = virt_to_phys_or_null_size(name, efi_name_size(name));
-+	phys_vendor = virt_to_phys_or_null(vendor);
-+	phys_data = virt_to_phys_or_null_size(data, data_size);
- 
- 	/* If data_size is > sizeof(u32) we've got problems */
- 	status = efi_thunk(set_variable, phys_name, phys_vendor,
-@@ -605,9 +639,9 @@ efi_thunk_get_next_variable(unsigned lon
- 	efi_status_t status;
- 	u32 phys_name_size, phys_name, phys_vendor;
- 
--	phys_name_size = virt_to_phys(name_size);
--	phys_vendor = virt_to_phys(vendor);
--	phys_name = virt_to_phys(name);
-+	phys_name_size = virt_to_phys_or_null(name_size);
-+	phys_vendor = virt_to_phys_or_null(vendor);
-+	phys_name = virt_to_phys_or_null_size(name, *name_size);
- 
- 	status = efi_thunk(get_next_variable, phys_name_size,
- 			   phys_name, phys_vendor);
-@@ -621,7 +655,7 @@ efi_thunk_get_next_high_mono_count(u32 *
- 	efi_status_t status;
- 	u32 phys_count;
- 
--	phys_count = virt_to_phys(count);
-+	phys_count = virt_to_phys_or_null(count);
- 	status = efi_thunk(get_next_high_mono_count, phys_count);
- 
- 	return status;
-@@ -633,7 +667,7 @@ efi_thunk_reset_system(int reset_type, e
- {
- 	u32 phys_data;
- 
--	phys_data = virt_to_phys(data);
-+	phys_data = virt_to_phys_or_null_size(data, data_size);
- 
- 	efi_thunk(reset_system, reset_type, status, data_size, phys_data);
- }
-@@ -661,9 +695,9 @@ efi_thunk_query_variable_info(u32 attr,
- 	if (efi.runtime_version < EFI_2_00_SYSTEM_TABLE_REVISION)
- 		return EFI_UNSUPPORTED;
- 
--	phys_storage = virt_to_phys(storage_space);
--	phys_remaining = virt_to_phys(remaining_space);
--	phys_max = virt_to_phys(max_variable_size);
-+	phys_storage = virt_to_phys_or_null(storage_space);
-+	phys_remaining = virt_to_phys_or_null(remaining_space);
-+	phys_max = virt_to_phys_or_null(max_variable_size);
- 
- 	status = efi_thunk(query_variable_info, attr, phys_storage,
- 			   phys_remaining, phys_max);
diff --git a/debian/patches/bugfix/x86/x86-kexec-add-fno-pie.patch b/debian/patches/bugfix/x86/x86-kexec-add-fno-pie.patch
deleted file mode 100644
index 31412a2..0000000
--- a/debian/patches/bugfix/x86/x86-kexec-add-fno-pie.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
-Date: Fri, 4 Nov 2016 19:39:40 +0100
-Subject: x86/kexec: add -fno-PIE
-Origin: https://git.kernel.org/cgit/linux/kernel/git/mmarek/kbuild.git/commit?id=90944e40ba1838de4b2a9290cf273f9d76bd3bdd
-Bug-Debian: https://bugs.debian.org/841368
-
-If the gcc is configured to do -fPIE by default then the build aborts
-later with:
-| Unsupported relocation type: unknown type rel type name (29)
-
-Tagging it stable so it is possible to compile recent stable kernels as
-well.
-
-Cc: stable at vger.kernel.org
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
-Signed-off-by: Michal Marek <mmarek at suse.com>
----
- arch/x86/purgatory/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile
-index ac58c1616408..555b9fa0ad43 100644
---- a/arch/x86/purgatory/Makefile
-+++ b/arch/x86/purgatory/Makefile
-@@ -16,6 +16,7 @@ KCOV_INSTRUMENT := n
- 
- KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -fno-builtin -ffreestanding -c -MD -Os -mcmodel=large
- KBUILD_CFLAGS += -m$(BITS)
-+KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
- 
- $(obj)/purgatory.ro: $(PURGATORY_OBJS) FORCE
- 		$(call if_changed,ld)
diff --git a/debian/patches/series b/debian/patches/series
index a65130a..7b6eea5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -47,9 +47,6 @@ debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
 
 # Arch bug fixes
 bugfix/arm64/arm64-mm-limit-task_size_64-for-compatibility.patch
-bugfix/x86/x86-efi-prevent-mixed-mode-boot-corruption-with-conf.patch
-bugfix/arm/kbuild-modversions-for-EXPORT_SYMBOL-for-asm.patch
-bugfix/arm/kbuild-be-more-careful-about-matching-preprocessed-a.patch
 bugfix/arm/kbuild-provide-include-asm-asm-prototypes.h-for-ARM.patch
 bugfix/arm/ARM-move-mmiocpy-mmioset-exports-to-io.c.patch
 
@@ -67,9 +64,6 @@ bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
 bugfix/all/kbuild-do-not-use-hyphen-in-exported-variable-name.patch
 bugfix/all/ext4-fix-bug-838544.patch
 bugfix/all/mm-memcontrol-use-special-workqueue-for-creating-per-memcg-caches.patch
-bugfix/all/kbuild-add-fno-pie.patch
-bugfix/x86/scripts-has-stack-protector-add-fno-pie.patch
-bugfix/x86/x86-kexec-add-fno-pie.patch
 
 # Miscellaneous features
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list