From 54cc69a74445dec173c776cd471228dce4db0e8e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 27 Aug 2018 15:21:43 +0100 Subject: [PATCH] Update to 4.19-rc1 - Drop/refresh patches as appropriate - Disable aufs patches until they are updated upstream --- debian/changelog | 9 + ...really-disable-runtime-pm-for-blk-mq.patch | 44 --- .../kbuild-fix-recordmcount-dependency.patch | 4 +- ...kbuild-use-nostdinc-in-compile-tests.patch | 6 +- ...ix-invalid-bytes-in-IP_VS_MH_TAB_IND.patch | 34 -- ...oc-escape-all-literal-braces-in-rege.patch | 96 ----- ...use-hyphen-in-exported-variable-name.patch | 14 +- ...uilding-ashmem-and-binder-as-modules.patch | 8 +- ...ink-security-restrictions-by-default.patch | 6 +- ...86-pae-pci-set-pci-nobios-by-default.patch | 4 +- .../debian/mips-boston-disable-its.patch | 2 +- debian/patches/debian/version.patch | 19 +- ...build-salt-to-the-kernel-and-modules.patch | 105 ------ ...e-secure_boot-rules-in-lockdown-mode.patch | 20 +- ...ignatures-if-the-kernel-is-locked-do.patch | 21 +- ...-runtime-if-the-kernel-is-locked-dow.patch | 14 +- .../arm64-add-build-salt-to-the-vdso.patch | 29 -- ...a64-Add-RTC-clock-to-phandle-32kHz-e.patch | 36 -- ...s-allwinner-a64-add-R_I2C-controller.patch | 64 ---- ...ts-allwinner-a64-Add-PWM-controllers.patch | 99 ----- ...s-allwinner-add-support-for-Pinebook.patch | 340 ------------------ ...ner-a64-add-SRAM-controller-device-t.patch | 54 --- ...wernv_flash-set-of_node-in-mtd-s-dev.patch | 31 -- .../powerpc-add-build-salt-to-the-vdso.patch | 31 -- .../x86/x86-add-build-salt-to-the-vdso.patch | 52 --- debian/patches/series | 19 +- 26 files changed, 73 insertions(+), 1088 deletions(-) delete mode 100644 debian/patches/bugfix/all/block-really-disable-runtime-pm-for-blk-mq.patch delete mode 100644 debian/patches/bugfix/all/netfilter-ipvs-Fix-invalid-bytes-in-IP_VS_MH_TAB_IND.patch delete mode 100644 debian/patches/bugfix/all/scripts-kernel-doc-escape-all-literal-braces-in-rege.patch delete mode 100644 debian/patches/features/all/kbuild-add-build-salt-to-the-kernel-and-modules.patch delete mode 100644 debian/patches/features/arm64/arm64-add-build-salt-to-the-vdso.patch delete mode 100644 debian/patches/features/arm64/pinebook/0001-arm64-allwinner-a64-Add-RTC-clock-to-phandle-32kHz-e.patch delete mode 100644 debian/patches/features/arm64/pinebook/0002-arm64-dts-allwinner-a64-add-R_I2C-controller.patch delete mode 100644 debian/patches/features/arm64/pinebook/0003-arm64-dts-allwinner-a64-Add-PWM-controllers.patch delete mode 100644 debian/patches/features/arm64/pinebook/0004-arm64-dts-allwinner-add-support-for-Pinebook.patch delete mode 100644 debian/patches/features/arm64/pinebook/0005-arm64-dts-allwinner-a64-add-SRAM-controller-device-t.patch delete mode 100644 debian/patches/features/powerpc/mtd-powernv_flash-set-of_node-in-mtd-s-dev.patch delete mode 100644 debian/patches/features/powerpc/powerpc-add-build-salt-to-the-vdso.patch delete mode 100644 debian/patches/features/x86/x86-add-build-salt-to-the-vdso.patch diff --git a/debian/changelog b/debian/changelog index 1a2713855..36493b987 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +linux (4.19~rc1-1~exp1) UNRELEASED; urgency=medium + + * New upstream release candidate + + [ Ben Hutchings ] + * aufs: Disable until it is updated for Linux 4.19 + + -- Ben Hutchings Mon, 27 Aug 2018 14:36:54 +0100 + linux (4.18.5-1) UNRELEASED; urgency=medium * Set ABI to 1 diff --git a/debian/patches/bugfix/all/block-really-disable-runtime-pm-for-blk-mq.patch b/debian/patches/bugfix/all/block-really-disable-runtime-pm-for-blk-mq.patch deleted file mode 100644 index b06f1fd79..000000000 --- a/debian/patches/bugfix/all/block-really-disable-runtime-pm-for-blk-mq.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Ming Lei -Subject: block: really disable runtime-pm for blk-mq -Date: Mon, 30 Jul 2018 20:02:19 +0800 -Origin: https://patchwork.kernel.org/patch/10548975/ -Bug-Debian: https://bugs.debian.org/904441 - -Runtime PM isn't ready for blk-mq yet, and commit 765e40b675a9 ("block: -disable runtime-pm for blk-mq") tried to disable it. Unfortunately, -it can't take effect in that way since user space still can switch -it on via 'echo auto > /sys/block/sdN/device/power/control'. - -This patch disables runtime-pm for blk-mq really by pm_runtime_disable() -and fixes all kinds of PM related kernel crash. - -Cc: Christoph Hellwig -Cc: Patrick Steinhardt -Cc: Bart Van Assche -Cc: Tomas Janousek -Cc: Przemek Socha -Cc: Alan Stern -Cc: -Signed-off-by: Ming Lei -Reviewed-by: Bart Van Assche -Reviewed-by: Christoph Hellwig ---- - block/blk-core.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/block/blk-core.c -+++ b/block/blk-core.c -@@ -3784,9 +3784,11 @@ EXPORT_SYMBOL(blk_finish_plug); - */ - void blk_pm_runtime_init(struct request_queue *q, struct device *dev) - { -- /* not support for RQF_PM and ->rpm_status in blk-mq yet */ -- if (q->mq_ops) -+ /* Don't enable runtime PM for blk-mq until it is ready */ -+ if (q->mq_ops) { -+ pm_runtime_disable(dev); - return; -+ } - - q->dev = dev; - q->rpm_status = RPM_ACTIVE; diff --git a/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch b/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch index ee2355d99..820479896 100644 --- a/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch +++ b/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch @@ -9,8 +9,8 @@ sources. --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -242,6 +242,11 @@ cmd_record_mcount = \ - endif # -record-mcount +@@ -232,6 +232,11 @@ cmd_record_mcount = \ + endif # CC_USING_RECORD_MCOUNT endif # CONFIG_FTRACE_MCOUNT_RECORD +# Don't require recordmcount source for an OOT build. diff --git a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch index 6749793ad..656767bb5 100644 --- a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch +++ b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch @@ -68,10 +68,10 @@ Signed-off-by: Ben Hutchings + $(CC) $(1) $(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -nostdlib -x c /dev/null -o "$$TMP",$(1),$(2)) # ld-option - # Usage: LDFLAGS += $(call ld-option, -X) + # Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y) --- a/Makefile +++ b/Makefile -@@ -665,6 +665,8 @@ endif +@@ -675,6 +675,8 @@ endif KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \ $(call cc-disable-warning,maybe-uninitialized,)) @@ -80,7 +80,7 @@ Signed-off-by: Ben Hutchings # Tell gcc to never replace conditional load with a non-conditional one KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) -@@ -772,7 +774,7 @@ KBUILD_CFLAGS_KERNEL += $(call cc-option +@@ -798,7 +800,7 @@ LDFLAGS_vmlinux += --gc-sections endif # arch Makefile may override CC so keep this after arch Makefile is included diff --git a/debian/patches/bugfix/all/netfilter-ipvs-Fix-invalid-bytes-in-IP_VS_MH_TAB_IND.patch b/debian/patches/bugfix/all/netfilter-ipvs-Fix-invalid-bytes-in-IP_VS_MH_TAB_IND.patch deleted file mode 100644 index c732c6a19..000000000 --- a/debian/patches/bugfix/all/netfilter-ipvs-Fix-invalid-bytes-in-IP_VS_MH_TAB_IND.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Ben Hutchings -Date: Mon, 2 Jul 2018 17:24:27 +0100 -Subject: netfilter: ipvs: Fix invalid bytes in IP_VS_MH_TAB_INDEX help text - -The help text contains several \xa0 bytes, which are not valid UTF-8 -characters but could have been non-breaking spaces in Latin 1 -encoding. I see no reason to use non-breaking spaces here, so replace -them with regular spaces. - -Fixes: 30edf801d7ed ("netfilter: ipvs: Add configurations of Maglev hashing") -Signed-off-by: Ben Hutchings ---- - net/netfilter/ipvs/Kconfig | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig -index 05dc1b77e466..17b53eee05a5 100644 ---- a/net/netfilter/ipvs/Kconfig -+++ b/net/netfilter/ipvs/Kconfig -@@ -296,10 +296,10 @@ config IP_VS_MH_TAB_INDEX - stored in a hash table. This table is assigned by a preference - list of the positions to each destination until all slots in - the table are filled. The index determines the prime for size of -- the table as 251, 509, 1021, 2039, 4093, 8191, 16381, 32749, -- 65521 or 131071. When using weights to allow destinations to -- receive more connections, the table is assigned an amount -- proportional to the weights specified. The table needs to be large -+ the table as 251, 509, 1021, 2039, 4093, 8191, 16381, 32749, -+ 65521 or 131071. When using weights to allow destinations to -+ receive more connections, the table is assigned an amount -+ proportional to the weights specified. The table needs to be large - enough to effectively fit all the destinations multiplied by their - respective weights. - diff --git a/debian/patches/bugfix/all/scripts-kernel-doc-escape-all-literal-braces-in-rege.patch b/debian/patches/bugfix/all/scripts-kernel-doc-escape-all-literal-braces-in-rege.patch deleted file mode 100644 index d953abd94..000000000 --- a/debian/patches/bugfix/all/scripts-kernel-doc-escape-all-literal-braces-in-rege.patch +++ /dev/null @@ -1,96 +0,0 @@ -From: Ben Hutchings -Date: Sun, 5 Aug 2018 23:44:24 +0800 -Subject: scripts/kernel-doc: Escape all literal braces in regexes -Bug-Debian: https://bugs.debian.org/905116 -Forwarded: https://marc.info/?l=linux-doc&m=153348608531181&w=2 - -Braces are usually metacharacters in regexes, used to specify a -number of repetitions or as part of an escape sequence. If this -interpretation is not possible then Perl currently treats them -as literal characters. - -Perl 5.28 has deprecated the literal interpretation of left braces, -and Perl 5.32 will remove it (resulting in a fatal error). - -Escape all left braces that are treated as literal characters. Also -escape literal right braces, for consistency and to avoid confusing -bracket-matching in text editors. - -References: https://bugs.debian.org/905116 -Signed-off-by: Ben Hutchings ---- - scripts/kernel-doc | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/scripts/kernel-doc b/scripts/kernel-doc -index 0057d8eafcc1..8f0f508a78e9 100755 ---- a/scripts/kernel-doc -+++ b/scripts/kernel-doc -@@ -1062,7 +1062,7 @@ sub dump_struct($$) { - my $x = shift; - my $file = shift; - -- if ($x =~ /(struct|union)\s+(\w+)\s*{(.*)}/) { -+ if ($x =~ /(struct|union)\s+(\w+)\s*\{(.*)\}/) { - my $decl_type = $1; - $declaration_name = $2; - my $members = $3; -@@ -1148,20 +1148,20 @@ sub dump_struct($$) { - } - } - } -- $members =~ s/(struct|union)([^\{\};]+)\{([^\{\}]*)}([^\{\}\;]*)\;/$newmember/; -+ $members =~ s/(struct|union)([^\{\};]+)\{([^\{\}]*)\}([^\{\}\;]*)\;/$newmember/; - } - - # Ignore other nested elements, like enums -- $members =~ s/({[^\{\}]*})//g; -+ $members =~ s/(\{[^\{\}]*\})//g; - - create_parameterlist($members, ';', $file, $declaration_name); - check_sections($file, $declaration_name, $decl_type, $sectcheck, $struct_actual); - - # Adjust declaration for better display -- $declaration =~ s/([{;])/$1\n/g; -- $declaration =~ s/}\s+;/};/g; -+ $declaration =~ s/([\{;])/$1\n/g; -+ $declaration =~ s/\}\s+;/};/g; - # Better handle inlined enums -- do {} while ($declaration =~ s/(enum\s+{[^}]+),([^\n])/$1,\n$2/); -+ do {} while ($declaration =~ s/(enum\s+\{[^\}]+),([^\n])/$1,\n$2/); - - my @def_args = split /\n/, $declaration; - my $level = 1; -@@ -1171,12 +1171,12 @@ sub dump_struct($$) { - $clause =~ s/\s+$//; - $clause =~ s/\s+/ /; - next if (!$clause); -- $level-- if ($clause =~ m/(})/ && $level > 1); -+ $level-- if ($clause =~ m/(\})/ && $level > 1); - if (!($clause =~ m/^\s*#/)) { - $declaration .= "\t" x $level; - } - $declaration .= "\t" . $clause . "\n"; -- $level++ if ($clause =~ m/({)/ && !($clause =~m/}/)); -+ $level++ if ($clause =~ m/(\{)/ && !($clause =~m/\}/)); - } - output_declaration($declaration_name, - 'struct', -@@ -1244,7 +1244,7 @@ sub dump_enum($$) { - # strip #define macros inside enums - $x =~ s@#\s*((define|ifdef)\s+|endif)[^;]*;@@gos; - -- if ($x =~ /enum\s+(\w+)\s*{(.*)}/) { -+ if ($x =~ /enum\s+(\w+)\s*\{(.*)\}/) { - $declaration_name = $1; - my $members = $2; - my %_members; -@@ -1785,7 +1785,7 @@ sub process_proto_type($$) { - } - - while (1) { -- if ( $x =~ /([^{};]*)([{};])(.*)/ ) { -+ if ( $x =~ /([^\{\};]*)([\{\};])(.*)/ ) { - if( length $prototype ) { - $prototype .= " " - } diff --git a/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch b/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch index 948f76c11..d10177b4b 100644 --- a/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch +++ b/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch @@ -25,7 +25,7 @@ Signed-off-by: Ben Hutchings --- a/arch/sh/Makefile +++ b/arch/sh/Makefile -@@ -115,16 +115,16 @@ KBUILD_DEFCONFIG := cayman_defconfig +@@ -119,16 +119,16 @@ LDFLAGS_vmlinux += --defsym phys_stext= endif ifdef CONFIG_CPU_LITTLE_ENDIAN @@ -33,13 +33,13 @@ Signed-off-by: Ben Hutchings -LDFLAGS_vmlinux += --defsym jiffies=jiffies_64 --oformat $(ld-bfd) +ld_bfd := elf32-$(UTS_MACHINE)-linux +LDFLAGS_vmlinux += --defsym jiffies=jiffies_64 --oformat $(ld_bfd) - LDFLAGS += -EL + KBUILD_LDFLAGS += -EL else -ld-bfd := elf32-$(UTS_MACHINE)big-linux -LDFLAGS_vmlinux += --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd) +ld_bfd := elf32-$(UTS_MACHINE)big-linux +LDFLAGS_vmlinux += --defsym jiffies=jiffies_64+4 --oformat $(ld_bfd) - LDFLAGS += -EB + KBUILD_LDFLAGS += -EB endif -export ld-bfd BITS @@ -83,7 +83,7 @@ Signed-off-by: Ben Hutchings + KERNEL_MEMORY suffix_y --- a/arch/sh/boot/compressed/Makefile +++ b/arch/sh/boot/compressed/Makefile -@@ -32,7 +32,7 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS) +@@ -33,7 +33,7 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) endif @@ -92,7 +92,7 @@ Signed-off-by: Ben Hutchings -T $(obj)/../../kernel/vmlinux.lds # -@@ -74,7 +74,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.al +@@ -75,7 +75,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.al OBJCOPYFLAGS += -R .empty_zero_page @@ -104,7 +104,7 @@ Signed-off-by: Ben Hutchings $(call if_changed,ld) --- a/arch/sh/boot/romimage/Makefile +++ b/arch/sh/boot/romimage/Makefile -@@ -12,7 +12,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) : +@@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) : load-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-load-y) obj-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-obj-y) @@ -113,7 +113,7 @@ Signed-off-by: Ben Hutchings -T $(obj)/../../kernel/vmlinux.lds $(obj)/vmlinux: $(obj)/head.o $(obj-y) $(obj)/piggy.o FORCE -@@ -23,7 +23,7 @@ OBJCOPYFLAGS += -j .empty_zero_page +@@ -24,7 +24,7 @@ OBJCOPYFLAGS += -j .empty_zero_page $(obj)/zeropage.bin: vmlinux FORCE $(call if_changed,objcopy) diff --git a/debian/patches/debian/android-enable-building-ashmem-and-binder-as-modules.patch b/debian/patches/debian/android-enable-building-ashmem-and-binder-as-modules.patch index 15a201f14..a08c4a49f 100644 --- a/debian/patches/debian/android-enable-building-ashmem-and-binder-as-modules.patch +++ b/debian/patches/debian/android-enable-building-ashmem-and-binder-as-modules.patch @@ -22,7 +22,7 @@ need them. config ANDROID_BINDER_IPC - bool "Android Binder IPC Driver" + tristate "Android Binder IPC Driver" - depends on MMU && !M68K + depends on MMU default n ---help--- --- a/drivers/android/Makefile @@ -66,7 +66,7 @@ need them. #include "ashmem.h" #define ASHMEM_NAME_PREFIX "dev/ashmem/" -@@ -895,3 +896,5 @@ out: +@@ -903,3 +904,5 @@ out: return ret; } device_initcall(ashmem_init); @@ -74,9 +74,9 @@ need them. +MODULE_LICENSE("GPL v2"); --- a/drivers/android/binder_alloc.c +++ b/drivers/android/binder_alloc.c -@@ -42,7 +42,7 @@ enum { +@@ -44,7 +44,7 @@ enum { }; - static uint32_t binder_alloc_debug_mask; + static uint32_t binder_alloc_debug_mask = BINDER_DEBUG_USER_ERROR; -module_param_named(debug_mask, binder_alloc_debug_mask, +module_param_named(alloc_debug_mask, binder_alloc_debug_mask, diff --git a/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch b/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch index d487c87f4..e2a8679a5 100644 --- a/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch +++ b/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch @@ -9,7 +9,7 @@ This reverts commit 561ec64ae67ef25cac8d72bb9c4bfc955edfd415 --- a/fs/namei.c +++ b/fs/namei.c -@@ -847,8 +847,8 @@ static inline void put_link(struct namei +@@ -885,8 +885,8 @@ static inline void put_link(struct namei path_put(&last->link); } @@ -17,6 +17,6 @@ This reverts commit 561ec64ae67ef25cac8d72bb9c4bfc955edfd415 -int sysctl_protected_hardlinks __read_mostly = 0; +int sysctl_protected_symlinks __read_mostly = 1; +int sysctl_protected_hardlinks __read_mostly = 1; + int sysctl_protected_fifos __read_mostly; + int sysctl_protected_regular __read_mostly; - /** - * may_follow_link - Check symlink following for unsafe situations diff --git a/debian/patches/debian/i386-686-pae-pci-set-pci-nobios-by-default.patch b/debian/patches/debian/i386-686-pae-pci-set-pci-nobios-by-default.patch index 2787c2518..97b350666 100644 --- a/debian/patches/debian/i386-686-pae-pci-set-pci-nobios-by-default.patch +++ b/debian/patches/debian/i386-686-pae-pci-set-pci-nobios-by-default.patch @@ -14,7 +14,7 @@ it can still be enabled using "pci=bios". --- --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c -@@ -20,8 +20,8 @@ +@@ -19,8 +19,8 @@ #include #include @@ -23,5 +23,5 @@ it can still be enabled using "pci=bios". +unsigned int pci_probe = PCI_PROBE_CONF1 | PCI_PROBE_CONF2 | PCI_PROBE_MMCONF | + (IS_ENABLED(CONFIG_X86_64) || IS_ENABLED(CONFIG_X86_PAE) ? 0 : PCI_PROBE_BIOS); - unsigned int pci_early_dump_regs; static int pci_bf_sort; + int pci_routeirq; diff --git a/debian/patches/debian/mips-boston-disable-its.patch b/debian/patches/debian/mips-boston-disable-its.patch index f53102e11..8a991d78d 100644 --- a/debian/patches/debian/mips-boston-disable-its.patch +++ b/debian/patches/debian/mips-boston-disable-its.patch @@ -17,4 +17,4 @@ u-boot-tools. -its-y := vmlinux.its.S its-$(CONFIG_FIT_IMAGE_FDT_BOSTON) += board-boston.its.S its-$(CONFIG_FIT_IMAGE_FDT_NI169445) += board-ni169445.its.S - its-$(CONFIG_FIT_IMAGE_FDT_XILFPGA) += board-xilfpga.its.S + its-$(CONFIG_FIT_IMAGE_FDT_OCELOT_PCB123) += board-ocelot_pcb123.its.S diff --git a/debian/patches/debian/version.patch b/debian/patches/debian/version.patch index 28c40e94e..91c9de7b8 100644 --- a/debian/patches/debian/version.patch +++ b/debian/patches/debian/version.patch @@ -9,16 +9,17 @@ are set. --- a/Makefile +++ b/Makefile -@@ -1077,7 +1077,7 @@ endif +@@ -1098,7 +1098,8 @@ endif + # that need to depend on updated CONFIG_* values can be checked here. prepare2: prepare3 outputmakefile asm-generic - prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h \ -- include/config/auto.conf -+ include/config/auto.conf include/generated/package.h +-prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h ++prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h \ ++ include/generated/package.h $(cmd_crmodverdir) archprepare: archheaders archscripts prepare1 scripts_basic -@@ -1121,6 +1121,16 @@ define filechk_version.h +@@ -1142,6 +1143,16 @@ define filechk_version.h echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) endef @@ -32,10 +33,10 @@ are set. +endef +endif + - $(version_h): $(srctree)/Makefile FORCE + $(version_h): FORCE $(call filechk,version.h) $(Q)rm -f $(old_version_h) -@@ -1128,6 +1138,9 @@ $(version_h): $(srctree)/Makefile FORCE +@@ -1149,6 +1160,9 @@ $(version_h): FORCE include/generated/utsrelease.h: include/config/kernel.release FORCE $(call filechk,utsrelease.h) @@ -99,7 +100,7 @@ are set. #include #include -@@ -1406,8 +1407,9 @@ void show_regs(struct pt_regs * regs) +@@ -1430,8 +1431,9 @@ void show_regs(struct pt_regs * regs) printk("NIP: "REG" LR: "REG" CTR: "REG"\n", regs->nip, regs->link, regs->ctr); @@ -121,7 +122,7 @@ are set. /* * The number of tasks checked: -@@ -115,10 +116,11 @@ static void check_hung_task(struct task_ +@@ -123,10 +124,11 @@ static void check_hung_task(struct task_ sysctl_hung_task_warnings--; pr_err("INFO: task %s:%d blocked for more than %ld seconds.\n", t->comm, t->pid, timeout); diff --git a/debian/patches/features/all/kbuild-add-build-salt-to-the-kernel-and-modules.patch b/debian/patches/features/all/kbuild-add-build-salt-to-the-kernel-and-modules.patch deleted file mode 100644 index 6e1ca5c91..000000000 --- a/debian/patches/features/all/kbuild-add-build-salt-to-the-kernel-and-modules.patch +++ /dev/null @@ -1,105 +0,0 @@ -From: Laura Abbott -Date: Thu, 5 Jul 2018 17:49:37 -0700 -Subject: kbuild: Add build salt to the kernel and modules -Origin: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit?id=8bc0ab58aca8a96fed7e9a38e21025d1737f4a4f -Bug-Debian: https://bugs.debian.org/872263 - -In Fedora, the debug information is packaged separately (foo-debuginfo) and -can be installed separately. There's been a long standing issue where only -one version of a debuginfo info package can be installed at a time. There's -been an effort for Fedora for parallel debuginfo to rectify this problem. - -Part of the requirement to allow parallel debuginfo to work is that build ids -are unique between builds. The existing upstream rpm implementation ensures -this by re-calculating the build-id using the version and release as a -seed. This doesn't work 100% for the kernel because of the vDSO which is -its own binary and doesn't get updated when embedded. - -Fix this by adding some data in an ELF note for both the kernel and modules. -The data is controlled via a Kconfig option so distributions can set it -to an appropriate value to ensure uniqueness between builds. - -Suggested-by: Masahiro Yamada -Signed-off-by: Laura Abbott -Signed-off-by: Masahiro Yamada ---- - include/linux/build-salt.h | 20 ++++++++++++++++++++ - init/Kconfig | 9 +++++++++ - init/version.c | 3 +++ - scripts/mod/modpost.c | 3 +++ - 4 files changed, 35 insertions(+) - create mode 100644 include/linux/build-salt.h - ---- /dev/null -+++ b/include/linux/build-salt.h -@@ -0,0 +1,20 @@ -+#ifndef __BUILD_SALT_H -+#define __BUILD_SALT_H -+ -+#include -+ -+#define LINUX_ELFNOTE_BUILD_SALT 0x100 -+ -+#ifdef __ASSEMBLER__ -+ -+#define BUILD_SALT \ -+ ELFNOTE(Linux, LINUX_ELFNOTE_BUILD_SALT, .asciz CONFIG_BUILD_SALT) -+ -+#else -+ -+#define BUILD_SALT \ -+ ELFNOTE32("Linux", LINUX_ELFNOTE_BUILD_SALT, CONFIG_BUILD_SALT) -+ -+#endif -+ -+#endif /* __BUILD_SALT_H */ ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -109,6 +109,15 @@ config LOCALVERSION_AUTO - - which is done within the script "scripts/setlocalversion".) - -+config BUILD_SALT -+ string "Build ID Salt" -+ default "" -+ help -+ The build ID is used to link binaries and their debug info. Setting -+ this option will use the value in the calculation of the build id. -+ This is mostly useful for distributions which want to ensure the -+ build is unique between builds. It's safe to leave the default. -+ - config HAVE_KERNEL_GZIP - bool - ---- a/init/version.c -+++ b/init/version.c -@@ -7,6 +7,7 @@ - */ - - #include -+#include - #include - #include - #include -@@ -49,3 +50,5 @@ const char linux_proc_banner[] = - "%s version %s" - " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")" - " (" LINUX_COMPILER ") %s\n"; -+ -+BUILD_SALT; ---- a/scripts/mod/modpost.c -+++ b/scripts/mod/modpost.c -@@ -2137,10 +2137,13 @@ static int check_modname_len(struct modu - **/ - static void add_header(struct buffer *b, struct module *mod) - { -+ buf_printf(b, "#include \n"); - buf_printf(b, "#include \n"); - buf_printf(b, "#include \n"); - buf_printf(b, "#include \n"); - buf_printf(b, "\n"); -+ buf_printf(b, "BUILD_SALT;\n"); -+ buf_printf(b, "\n"); - buf_printf(b, "MODULE_INFO(vermagic, VERMAGIC_STRING);\n"); - buf_printf(b, "MODULE_INFO(name, KBUILD_MODNAME);\n"); - buf_printf(b, "\n"); diff --git a/debian/patches/features/all/lockdown/0003-ima-require-secure_boot-rules-in-lockdown-mode.patch b/debian/patches/features/all/lockdown/0003-ima-require-secure_boot-rules-in-lockdown-mode.patch index 87b6557b0..0a69368da 100644 --- a/debian/patches/features/all/lockdown/0003-ima-require-secure_boot-rules-in-lockdown-mode.patch +++ b/debian/patches/features/all/lockdown/0003-ima-require-secure_boot-rules-in-lockdown-mode.patch @@ -9,15 +9,16 @@ in secure boot lockdown mode. Signed-off-by: Mimi Zohar Signed-off-by: David Howells -[bwh: Adjust context to apply after commit 6f0911a666d1 - "ima: fix updating the ima_appraise flag"] +[bwh: Adjust context to apply after commits 6f0911a666d1 + "ima: fix updating the ima_appraise flag" and ef96837b0de4 + "ima: add build time policy"] --- security/integrity/ima/ima_policy.c | 39 +++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c -@@ -459,14 +459,21 @@ static int ima_appraise_flag(enum ima_ho +@@ -481,14 +481,21 @@ static int ima_appraise_flag(enum ima_ho */ void __init ima_init_policy(void) { @@ -45,13 +46,12 @@ Signed-off-by: David Howells for (i = 0; i < measure_entries; i++) list_add_tail(&dont_measure_rules[i].list, &ima_default_rules); -@@ -487,12 +494,24 @@ void __init ima_init_policy(void) - +@@ -510,11 +517,24 @@ void __init ima_init_policy(void) /* - * Insert the appraise rules requiring file signatures, prior to -- * any other appraise rules. -+ * any other appraise rules. In secure boot lock-down mode, also -+ * require these appraise rules for custom policies. + * Insert the builtin "secure_boot" policy rules requiring file + * signatures, prior to any other appraise rules. ++ * In secure boot lock-down mode, also require these appraise ++ * rules for custom policies. */ for (i = 0; i < secure_boot_entries; i++) { + struct ima_rule_entry *entry; @@ -70,4 +70,4 @@ Signed-off-by: David Howells + } } - for (i = 0; i < appraise_entries; i++) { + /* diff --git a/debian/patches/features/all/lockdown/0004-Enforce-module-signatures-if-the-kernel-is-locked-do.patch b/debian/patches/features/all/lockdown/0004-Enforce-module-signatures-if-the-kernel-is-locked-do.patch index 285b1a514..538ad6357 100644 --- a/debian/patches/features/all/lockdown/0004-Enforce-module-signatures-if-the-kernel-is-locked-do.patch +++ b/debian/patches/features/all/lockdown/0004-Enforce-module-signatures-if-the-kernel-is-locked-do.patch @@ -9,8 +9,9 @@ signatures that we can verify or that IMA can validate the file. Signed-off-by: David Howells Reviewed-by: "Lee, Chun-Yi" Reviewed-by: James Morris -[bwh: Adjust context to apply after commit 2c8fd268f418 - "module: Do not access sig_enforce directly"] +[bwh: Adjust context to apply after commits 2c8fd268f418 + "module: Do not access sig_enforce directly" and 5fdc7db6448a + "module: setup load info before module_sig_check()"] --- kernel/module.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) @@ -25,7 +26,7 @@ Reviewed-by: James Morris #include #include "module-internal.h" -@@ -2759,7 +2760,8 @@ static inline void kmemleak_load_module( +@@ -2761,7 +2762,8 @@ static inline void kmemleak_load_module( #endif #ifdef CONFIG_MODULE_SIG @@ -35,7 +36,7 @@ Reviewed-by: James Morris { int err = -ENOKEY; const unsigned long markerlen = sizeof(MODULE_SIG_STRING) - 1; -@@ -2783,13 +2785,16 @@ static int module_sig_check(struct load_ +@@ -2785,13 +2787,16 @@ static int module_sig_check(struct load_ } /* Not having a signature is only an error if we're strict. */ @@ -54,7 +55,7 @@ Reviewed-by: James Morris { return 0; } -@@ -3654,13 +3659,13 @@ static int unknown_module_param_cb(char +@@ -3640,7 +3645,7 @@ static int unknown_module_param_cb(char /* Allocate and load the module: note that size of section 0 is always zero, and we rely on this for optional sections. */ static int load_module(struct load_info *info, const char __user *uargs, @@ -62,15 +63,17 @@ Reviewed-by: James Morris + int flags, bool can_do_ima_check) { struct module *mod; - long err; - char *after_dashes; + long err = 0; +@@ -3659,7 +3664,7 @@ static int load_module(struct load_info + goto free_copy; + } - err = module_sig_check(info, flags); + err = module_sig_check(info, flags, can_do_ima_check); if (err) goto free_copy; -@@ -3849,7 +3854,7 @@ SYSCALL_DEFINE3(init_module, void __user +@@ -3854,7 +3859,7 @@ SYSCALL_DEFINE3(init_module, void __user if (err) return err; @@ -79,7 +82,7 @@ Reviewed-by: James Morris } SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags) -@@ -3876,7 +3881,7 @@ SYSCALL_DEFINE3(finit_module, int, fd, c +@@ -3881,7 +3886,7 @@ SYSCALL_DEFINE3(finit_module, int, fd, c info.hdr = hdr; info.len = size; diff --git a/debian/patches/features/all/lockdown/0006-kexec-Disable-at-runtime-if-the-kernel-is-locked-dow.patch b/debian/patches/features/all/lockdown/0006-kexec-Disable-at-runtime-if-the-kernel-is-locked-dow.patch index 005ae73c4..06668c0d1 100644 --- a/debian/patches/features/all/lockdown/0006-kexec-Disable-at-runtime-if-the-kernel-is-locked-dow.patch +++ b/debian/patches/features/all/lockdown/0006-kexec-Disable-at-runtime-if-the-kernel-is-locked-dow.patch @@ -16,25 +16,25 @@ Acked-by: Dave Young Reviewed-by: "Lee, Chun-Yi" Reviewed-by: James Morris cc: kexec@lists.infradead.org +[bwh: Adjust context to apply after commit a210fd32a46b + "kexec: add call to LSM hook in original kexec_load syscall"] --- kernel/kexec.c | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/kernel/kexec.c b/kernel/kexec.c -index e62ec4dc6620..7dadfed9b676 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c -@@ -201,6 +201,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments, - if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) - return -EPERM; +@@ -208,6 +208,13 @@ static inline int kexec_load_check(unsig + return result; -+ /* + /* + * kexec can be used to circumvent module loading restrictions, so + * prevent loading in that case + */ + if (kernel_is_locked_down("kexec of unsigned images")) + return -EPERM; + - /* ++ /* * Verify we have a legal set of flags * This leaves us room for future extensions. + */ diff --git a/debian/patches/features/arm64/arm64-add-build-salt-to-the-vdso.patch b/debian/patches/features/arm64/arm64-add-build-salt-to-the-vdso.patch deleted file mode 100644 index 99e745fd1..000000000 --- a/debian/patches/features/arm64/arm64-add-build-salt-to-the-vdso.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Laura Abbott -Date: Thu, 5 Jul 2018 17:49:40 -0700 -Subject: arm64: Add build salt to the vDSO -Origin: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit?id=13351cdf75405e38c1b7bb927624d910d328be2b -Bug-Debian: https://bugs.debian.org/872263 - -The vDSO needs to have a unique build id in a similar manner -to the kernel and modules. Use the build salt macro. - -Acked-by: Will Deacon -Signed-off-by: Laura Abbott -Signed-off-by: Masahiro Yamada ---- - arch/arm64/kernel/vdso/note.S | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/arch/arm64/kernel/vdso/note.S -+++ b/arch/arm64/kernel/vdso/note.S -@@ -22,7 +22,10 @@ - #include - #include - #include -+#include - - ELFNOTE_START(Linux, 0, "a") - .long LINUX_VERSION_CODE - ELFNOTE_END -+ -+BUILD_SALT diff --git a/debian/patches/features/arm64/pinebook/0001-arm64-allwinner-a64-Add-RTC-clock-to-phandle-32kHz-e.patch b/debian/patches/features/arm64/pinebook/0001-arm64-allwinner-a64-Add-RTC-clock-to-phandle-32kHz-e.patch deleted file mode 100644 index a6b692c71..000000000 --- a/debian/patches/features/arm64/pinebook/0001-arm64-allwinner-a64-Add-RTC-clock-to-phandle-32kHz-e.patch +++ /dev/null @@ -1,36 +0,0 @@ -From e1a9a4745fd5e6e61d57803659cd54fbe757a172 Mon Sep 17 00:00:00 2001 -From: Jagan Teki -Date: Fri, 1 Jun 2018 23:05:26 +0530 -Subject: [PATCH 1/5] arm64: allwinner: a64: Add RTC clock to phandle 32kHz - external oscillator - -Outside of SOC few chips need external clock source -through RTC example Wifi chip. So RTC clock nodes to -phandle 32kHz external oscillator. - -prefix rtc- with clock-output-names defined in -dt-binding to avoid confusion with existing osc32k name. - -Signed-off-by: Jagan Teki -Signed-off-by: Maxime Ripard ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 1b2ef28c42bd..82516aec4153 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -634,6 +634,9 @@ - reg = <0x01f00000 0x54>; - interrupts = , - ; -+ clock-output-names = "rtc-osc32k", "rtc-osc32k-out"; -+ clocks = <&osc32k>; -+ #clock-cells = <1>; - }; - - r_intc: interrupt-controller@1f00c00 { --- -2.11.0 - diff --git a/debian/patches/features/arm64/pinebook/0002-arm64-dts-allwinner-a64-add-R_I2C-controller.patch b/debian/patches/features/arm64/pinebook/0002-arm64-dts-allwinner-a64-add-R_I2C-controller.patch deleted file mode 100644 index 4859af061..000000000 --- a/debian/patches/features/arm64/pinebook/0002-arm64-dts-allwinner-a64-add-R_I2C-controller.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 871b5352125c49a2d5f31db69baede43e003a532 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Tue, 5 Jun 2018 22:17:00 -0700 -Subject: [PATCH 2/5] arm64: dts: allwinner: a64: add R_I2C controller - -Allwinner A64 has a I2C controller, which is in the R_ MMIO zone and has -two groups of pinmuxes on PL bank, so it's called R_I2C. - -Add support for this I2C controller and the pinmux which doesn't conflict -with RSB. - -Signed-off-by: Icenowy Zheng -Signed-off-by: Vasily Khoruzhick -Signed-off-by: Maxime Ripard ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 82516aec4153..1b31a3aaed5a 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - - / { - interrupt-parent = <&gic>; -@@ -658,6 +659,18 @@ - #reset-cells = <1>; - }; - -+ r_i2c: i2c@1f02400 { -+ compatible = "allwinner,sun50i-a64-i2c", -+ "allwinner,sun6i-a31-i2c"; -+ reg = <0x01f02400 0x400>; -+ interrupts = ; -+ clocks = <&r_ccu CLK_APB0_I2C>; -+ resets = <&r_ccu RST_APB0_I2C>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ - r_pio: pinctrl@1f02c00 { - compatible = "allwinner,sun50i-a64-r-pinctrl"; - reg = <0x01f02c00 0x400>; -@@ -669,6 +682,11 @@ - interrupt-controller; - #interrupt-cells = <3>; - -+ r_i2c_pins_a: i2c-a { -+ pins = "PL8", "PL9"; -+ function = "s_i2c"; -+ }; -+ - r_rsb_pins: rsb { - pins = "PL0", "PL1"; - function = "s_rsb"; --- -2.11.0 - diff --git a/debian/patches/features/arm64/pinebook/0003-arm64-dts-allwinner-a64-Add-PWM-controllers.patch b/debian/patches/features/arm64/pinebook/0003-arm64-dts-allwinner-a64-Add-PWM-controllers.patch deleted file mode 100644 index 409cd89c6..000000000 --- a/debian/patches/features/arm64/pinebook/0003-arm64-dts-allwinner-a64-Add-PWM-controllers.patch +++ /dev/null @@ -1,99 +0,0 @@ -From b5df280bb16345875c0c1baf1db5607fde005395 Mon Sep 17 00:00:00 2001 -From: Andre Przywara -Date: Tue, 5 Jun 2018 22:17:01 -0700 -Subject: [PATCH 3/5] arm64: dts: allwinner: a64: Add PWM controllers - -The Allwinner A64 SoC features two PWM controllers, which are fully -compatible to the one used in the A13 and H3 chips. - -Add the nodes for the devices (one for the "normal" PWM, the other for -the one in the CPUS domain) and the pins their outputs are connected to. - -On the A64 the "normal" PWM is muxed together with one of the MDIO pins -used to communicate with the Ethernet PHY, so it won't be usable on many -boards. But the Pinebook laptop uses this pin for controlling the LCD -backlight. - -On Pine64 the CPUS PWM pin however is routed to the "RPi2" header, -at the same location as the PWM pin on the RaspberryPi. - -Tested on Pinebook and Teres-I - -[vasily: fixed comment message as requested by Stefan Bruens, added default - muxing options to pwm and r_pwm nodes] - -Signed-off-by: Andre Przywara -Signed-off-by: Vasily Khoruzhick -Tested-by: Harald Geyer -Signed-off-by: Maxime Ripard ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 32 +++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 1b31a3aaed5a..2777b2d02d77 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -365,6 +365,11 @@ - bias-pull-up; - }; - -+ pwm_pin: pwm_pin { -+ pins = "PD22"; -+ function = "pwm"; -+ }; -+ - rmii_pins: rmii_pins { - pins = "PD10", "PD11", "PD13", "PD14", "PD17", - "PD18", "PD19", "PD20", "PD22", "PD23"; -@@ -630,6 +635,17 @@ - #interrupt-cells = <3>; - }; - -+ pwm: pwm@1c21400 { -+ compatible = "allwinner,sun50i-a64-pwm", -+ "allwinner,sun5i-a13-pwm"; -+ reg = <0x01c21400 0x400>; -+ clocks = <&osc24M>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwm_pin>; -+ #pwm-cells = <3>; -+ status = "disabled"; -+ }; -+ - rtc: rtc@1f00000 { - compatible = "allwinner,sun6i-a31-rtc"; - reg = <0x01f00000 0x54>; -@@ -671,6 +687,17 @@ - #size-cells = <0>; - }; - -+ r_pwm: pwm@1f03800 { -+ compatible = "allwinner,sun50i-a64-pwm", -+ "allwinner,sun5i-a13-pwm"; -+ reg = <0x01f03800 0x400>; -+ clocks = <&osc24M>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&r_pwm_pin>; -+ #pwm-cells = <3>; -+ status = "disabled"; -+ }; -+ - r_pio: pinctrl@1f02c00 { - compatible = "allwinner,sun50i-a64-r-pinctrl"; - reg = <0x01f02c00 0x400>; -@@ -687,6 +714,11 @@ - function = "s_i2c"; - }; - -+ r_pwm_pin: pwm { -+ pins = "PL10"; -+ function = "s_pwm"; -+ }; -+ - r_rsb_pins: rsb { - pins = "PL0", "PL1"; - function = "s_rsb"; --- -2.11.0 - diff --git a/debian/patches/features/arm64/pinebook/0004-arm64-dts-allwinner-add-support-for-Pinebook.patch b/debian/patches/features/arm64/pinebook/0004-arm64-dts-allwinner-add-support-for-Pinebook.patch deleted file mode 100644 index 200f16de8..000000000 --- a/debian/patches/features/arm64/pinebook/0004-arm64-dts-allwinner-add-support-for-Pinebook.patch +++ /dev/null @@ -1,340 +0,0 @@ -From df35fbcfa3983c233f5fadaf8db18bfd10ac58b6 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Tue, 5 Jun 2018 22:17:02 -0700 -Subject: [PATCH 4/5] arm64: dts: allwinner: add support for Pinebook - -Pinebook is a A64-based laptop produced by Pine64, with the following -peripherals: - -USB: -- Two external USB ports (one is directly connected to A64's OTG -controller, the other is under a internal hub connected to the host-only -controller.) -- USB HID keyboard and touchpad connected to the internal hub. -- USB UVC camera connected to the internal hub. - -Power-related: -- A DC IN jack connected to AXP803's DCIN pin. -- A Li-Polymer battery connected to AXP803's battery pins. - -Storage: -- An eMMC by Foresee on the main board (in the product revision of the -main board it's designed to be switchable). -- An external MicroSD card slot. - -Display: -- An eDP LCD panel (1366x768) connected via an ANX6345 RGB-eDP bridge. -- A mini HDMI port. - -Misc: -- A Hall sensor designed to detect the status of lid, connected to GPIO PL12. -- A headphone jack connected to the SoC's internal codec. -- A debug UART port muxed with headphone jack. - -This commit adds basical support for it. - -[vasily: squashed several commits into one, added simplefb node, added usbphy - to ehci0 and ohci0 nodes and other cosmetic changes to dts] - -Signed-off-by: Icenowy Zheng -Signed-off-by: Vasily Khoruzhick -Signed-off-by: Maxime Ripard ---- - arch/arm64/boot/dts/allwinner/Makefile | 1 + - .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 280 +++++++++++++++++++++ - 2 files changed, 281 insertions(+) - create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts - ---- a/arch/arm64/boot/dts/allwinner/Makefile -+++ b/arch/arm64/boot/dts/allwinner/Makefile -@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-n - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb -+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h3-cc.dtb ---- /dev/null -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts -@@ -0,0 +1,280 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+/* -+ * Copyright (C) 2017 Icenowy Zheng -+ * Copyright (C) 2018 Vasily Khoruzhick -+ * -+ */ -+ -+/dts-v1/; -+ -+#include "sun50i-a64.dtsi" -+ -+#include -+#include -+#include -+ -+/ { -+ model = "Pinebook"; -+ compatible = "pine64,pinebook", "allwinner,sun50i-a64"; -+ -+ aliases { -+ serial0 = &uart0; -+ ethernet0 = &rtl8723cs; -+ }; -+ -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&pwm 0 50000 0>; -+ brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>; -+ default-brightness-level = <2>; -+ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ -+ framebuffer-lcd { -+ panel-supply = <®_dc1sw>; -+ dvdd25-supply = <®_dldo2>; -+ dvdd12-supply = <®_fldo1>; -+ }; -+ }; -+ -+ gpio_keys { -+ compatible = "gpio-keys"; -+ -+ lid_switch { -+ label = "Lid Switch"; -+ gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */ -+ linux,input-type = ; -+ linux,code = ; -+ linux,can-disable; -+ }; -+ }; -+ -+ reg_vcc3v3: vcc3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ }; -+ -+ wifi_pwrseq: wifi_pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ -+ }; -+}; -+ -+&ehci0 { -+ phys = <&usbphy 0>; -+ phy-names = "usb"; -+ status = "okay"; -+}; -+ -+&ehci1 { -+ status = "okay"; -+}; -+ -+&mmc0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc0_pins>; -+ vmmc-supply = <®_dcdc1>; -+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; -+ cd-inverted; -+ disable-wp; -+ bus-width = <4>; -+ status = "okay"; -+}; -+ -+&mmc1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins>; -+ vmmc-supply = <®_dldo4>; -+ vqmmc-supply = <®_eldo1>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; -+ -+ rtl8723cs: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ -+&mmc2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc2_pins>; -+ vmmc-supply = <®_dcdc1>; -+ vqmmc-supply = <®_eldo1>; -+ bus-width = <8>; -+ non-removable; -+ cap-mmc-hw-reset; -+ mmc-hs200-1_8v; -+ status = "okay"; -+}; -+ -+&ohci0 { -+ phys = <&usbphy 0>; -+ phy-names = "usb"; -+ status = "okay"; -+}; -+ -+&ohci1 { -+ status = "okay"; -+}; -+ -+&pwm { -+ status = "okay"; -+}; -+ -+&r_rsb { -+ status = "okay"; -+ -+ axp803: pmic@3a3 { -+ compatible = "x-powers,axp803"; -+ reg = <0x3a3>; -+ interrupt-parent = <&r_intc>; -+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; -+ }; -+}; -+ -+/* The ANX6345 eDP-bridge is on r_i2c */ -+&r_i2c { -+ clock-frequency = <100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&r_i2c_pins_a>; -+ status = "okay"; -+}; -+ -+#include "axp803.dtsi" -+ -+®_aldo1 { -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-name = "vcc-csi"; -+}; -+ -+®_aldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-pl"; -+}; -+ -+®_aldo3 { -+ regulator-always-on; -+ regulator-min-microvolt = <2700000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-pll-avcc"; -+}; -+ -+®_dc1sw { -+ regulator-name = "vcc-lcd"; -+}; -+ -+®_dcdc1 { -+ regulator-always-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-3v3"; -+}; -+ -+®_dcdc2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <1300000>; -+ regulator-name = "vdd-cpux"; -+}; -+ -+/* DCDC3 is polyphased with DCDC2 */ -+ -+®_dcdc5 { -+ regulator-always-on; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-name = "vcc-dram"; -+}; -+ -+®_dcdc6 { -+ regulator-always-on; -+ regulator-min-microvolt = <1100000>; -+ regulator-max-microvolt = <1100000>; -+ regulator-name = "vdd-sys"; -+}; -+ -+®_dldo1 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-hdmi"; -+}; -+ -+®_dldo2 { -+ regulator-min-microvolt = <2500000>; -+ regulator-max-microvolt = <2500000>; -+ regulator-name = "vcc-edp"; -+}; -+ -+®_dldo3 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "avdd-csi"; -+}; -+ -+®_dldo4 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-wifi"; -+}; -+ -+®_eldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "cpvdd"; -+}; -+ -+®_eldo3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vdd-1v8-csi"; -+}; -+ -+®_fldo1 { -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-name = "vcc-1v2-hsic"; -+}; -+ -+®_fldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1100000>; -+ regulator-max-microvolt = <1100000>; -+ regulator-name = "vdd-cpus"; -+}; -+ -+®_ldo_io0 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-usb"; -+ status = "okay"; -+}; -+ -+®_rtc_ldo { -+ regulator-name = "vcc-rtc"; -+}; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_pins_a>; -+ status = "okay"; -+}; -+ -+&usb_otg { -+ dr_mode = "host"; -+}; -+ -+&usbphy { -+ usb0_vbus-supply = <®_ldo_io0>; -+ usb1_vbus-supply = <®_ldo_io0>; -+ status = "okay"; -+}; diff --git a/debian/patches/features/arm64/pinebook/0005-arm64-dts-allwinner-a64-add-SRAM-controller-device-t.patch b/debian/patches/features/arm64/pinebook/0005-arm64-dts-allwinner-a64-add-SRAM-controller-device-t.patch deleted file mode 100644 index 9b3020af7..000000000 --- a/debian/patches/features/arm64/pinebook/0005-arm64-dts-allwinner-a64-add-SRAM-controller-device-t.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 1f1f5183981d70bf0950f8467772851a05eb9148 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Wed, 11 Apr 2018 22:16:41 +0800 -Subject: [PATCH 5/5] arm64: dts: allwinner: a64: add SRAM controller device - tree node - -Allwinner A64 has a SRAM controller, and in the device tree currently -we have a syscon node to enable EMAC driver to access the EMAC clock -register. As SRAM controller driver can now export regmap for this -register, replace the syscon node to the SRAM controller device node, -and let EMAC driver to acquire its EMAC clock regmap. - -Signed-off-by: Icenowy Zheng -[wens@csie.org: Updated compatible string] -Acked-by: Maxime Ripard -Signed-off-by: Chen-Yu Tsai ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 2777b2d02d77..ff2ddde1e117 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -170,9 +170,24 @@ - ranges; - - syscon: syscon@1c00000 { -- compatible = "allwinner,sun50i-a64-system-controller", -- "syscon"; -+ compatible = "allwinner,sun50i-a64-system-control"; - reg = <0x01c00000 0x1000>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ ranges; -+ -+ sram_c: sram@18000 { -+ compatible = "mmio-sram"; -+ reg = <0x00018000 0x28000>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ ranges = <0 0x00018000 0x28000>; -+ -+ de2_sram: sram-section@0 { -+ compatible = "allwinner,sun50i-a64-sram-c"; -+ reg = <0x0000 0x28000>; -+ }; -+ }; - }; - - dma: dma-controller@1c02000 { --- -2.11.0 - diff --git a/debian/patches/features/powerpc/mtd-powernv_flash-set-of_node-in-mtd-s-dev.patch b/debian/patches/features/powerpc/mtd-powernv_flash-set-of_node-in-mtd-s-dev.patch deleted file mode 100644 index 99d716fbd..000000000 --- a/debian/patches/features/powerpc/mtd-powernv_flash-set-of_node-in-mtd-s-dev.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Fri, 13 Jul 2018 10:15:59 +0200 -Subject: mtd: powernv_flash: set of_node in mtd's dev -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Origin: http://git.infradead.org/linux-mtd-next.git/commit/9ea97a7d689c55a5528bfaad499edf1a4ca02e2a -Bug-Debian: https://bugs.debian.org/904380 - -This enables some features implemented in mtd subsystem like reading -label and partitioning info from DT. - -Reported-by: Timothy Pearson -Signed-off-by: RafaƂ MiƂecki -Signed-off-by: Boris Brezillon ---- - drivers/mtd/devices/powernv_flash.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/mtd/devices/powernv_flash.c b/drivers/mtd/devices/powernv_flash.c -index c1312b141ae0..33593122e49b 100644 ---- a/drivers/mtd/devices/powernv_flash.c -+++ b/drivers/mtd/devices/powernv_flash.c -@@ -223,6 +223,7 @@ static int powernv_flash_set_driver_info(struct device *dev, - mtd->_read = powernv_flash_read; - mtd->_write = powernv_flash_write; - mtd->dev.parent = dev; -+ mtd_set_of_node(mtd, dev->of_node); - return 0; - } - diff --git a/debian/patches/features/powerpc/powerpc-add-build-salt-to-the-vdso.patch b/debian/patches/features/powerpc/powerpc-add-build-salt-to-the-vdso.patch deleted file mode 100644 index 1d7c5cd1c..000000000 --- a/debian/patches/features/powerpc/powerpc-add-build-salt-to-the-vdso.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Laura Abbott -Date: Thu, 5 Jul 2018 17:49:39 -0700 -Subject: powerpc: Add build salt to the vDSO -Origin: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit?id=29f07b97416a95d28ee62e70fd91b44956d3c8ce -Bug-Debian: https://bugs.debian.org/872263 - -The vDSO needs to have a unique build id in a similar manner -to the kernel and modules. Use the build salt macro. - -Signed-off-by: Laura Abbott -Signed-off-by: Masahiro Yamada ---- - arch/powerpc/kernel/vdso32/note.S | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/arch/powerpc/kernel/vdso32/note.S -+++ b/arch/powerpc/kernel/vdso32/note.S -@@ -5,6 +5,7 @@ - - #include - #include -+#include - - #define ASM_ELF_NOTE_BEGIN(name, flags, vendor, type) \ - .section name, flags; \ -@@ -23,3 +24,5 @@ - ASM_ELF_NOTE_BEGIN(".note.kernel-version", "a", UTS_SYSNAME, 0) - .long LINUX_VERSION_CODE - ASM_ELF_NOTE_END -+ -+BUILD_SALT diff --git a/debian/patches/features/x86/x86-add-build-salt-to-the-vdso.patch b/debian/patches/features/x86/x86-add-build-salt-to-the-vdso.patch deleted file mode 100644 index 2284e5e74..000000000 --- a/debian/patches/features/x86/x86-add-build-salt-to-the-vdso.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: Laura Abbott -Date: Thu, 5 Jul 2018 17:49:38 -0700 -Subject: x86: Add build salt to the vDSO -Origin: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit?id=fdc3ae38182c7f983f4f8b97c86b753a3c16e269 -Bug-Debian: https://bugs.debian.org/872263 - -The vDSO needs to have a unique build id in a similar manner -to the kernel and modules. Use the build salt macro. - -Acked-by: Andy Lutomirski -Signed-off-by: Laura Abbott -Signed-off-by: Masahiro Yamada ---- - arch/x86/entry/vdso/vdso-note.S | 3 +++ - arch/x86/entry/vdso/vdso32/note.S | 3 +++ - 2 files changed, 6 insertions(+) - ---- a/arch/x86/entry/vdso/vdso-note.S -+++ b/arch/x86/entry/vdso/vdso-note.S -@@ -3,6 +3,7 @@ - * Here we can supply some information useful to userland. - */ - -+#include - #include - #include - #include -@@ -10,3 +11,5 @@ - ELFNOTE_START(Linux, 0, "a") - .long LINUX_VERSION_CODE - ELFNOTE_END -+ -+BUILD_SALT ---- a/arch/x86/entry/vdso/vdso32/note.S -+++ b/arch/x86/entry/vdso/vdso32/note.S -@@ -4,6 +4,7 @@ - * Here we can supply some information useful to userland. - */ - -+#include - #include - #include - -@@ -14,6 +15,8 @@ ELFNOTE_START(Linux, 0, "a") - .long LINUX_VERSION_CODE - ELFNOTE_END - -+BUILD_SALT -+ - #ifdef CONFIG_XEN - /* - * Add a special note telling glibc's dynamic linker a fake hardware diff --git a/debian/patches/series b/debian/patches/series index 980aca752..86f664d35 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -32,9 +32,9 @@ debian/firmware_class-refer-to-debian-wiki-firmware-page.patch # Patches from aufs4 repository, imported with # debian/patches/features/all/aufs4/gen-patch. These are only the # changes needed to allow aufs to be built out-of-tree. -features/all/aufs4/aufs4-base.patch -features/all/aufs4/aufs4-mmap.patch -features/all/aufs4/aufs4-standalone.patch +#features/all/aufs4/aufs4-base.patch +#features/all/aufs4/aufs4-mmap.patch +#features/all/aufs4/aufs4-standalone.patch # Change some defaults for security reasons debian/af_802154-Disable-auto-loading-as-mitigation-against.patch @@ -82,12 +82,6 @@ features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch features/x86/x86-memtest-WARN-if-bad-RAM-found.patch features/x86/x86-make-x32-syscall-support-conditional.patch # Add device-tree for Pinebook from linux next-20180625 -features/arm64/pinebook/0001-arm64-allwinner-a64-Add-RTC-clock-to-phandle-32kHz-e.patch -features/arm64/pinebook/0002-arm64-dts-allwinner-a64-add-R_I2C-controller.patch -features/arm64/pinebook/0003-arm64-dts-allwinner-a64-Add-PWM-controllers.patch -features/arm64/pinebook/0004-arm64-dts-allwinner-add-support-for-Pinebook.patch -features/arm64/pinebook/0005-arm64-dts-allwinner-a64-add-SRAM-controller-device-t.patch -features/powerpc/mtd-powernv_flash-set-of_node-in-mtd-s-dev.patch # Miscellaneous bug fixes bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch @@ -97,15 +91,8 @@ bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch bugfix/all/kbuild-include-addtree-remove-quotes-before-matching-path.patch debian/revert-objtool-fix-config_stack_validation-y-warning.patch bugfix/all/i40e-build-for-64-bit-targets-only.patch -bugfix/all/netfilter-ipvs-Fix-invalid-bytes-in-IP_VS_MH_TAB_IND.patch -bugfix/all/scripts-kernel-doc-escape-all-literal-braces-in-rege.patch -bugfix/all/block-really-disable-runtime-pm-for-blk-mq.patch # Miscellaneous features -features/all/kbuild-add-build-salt-to-the-kernel-and-modules.patch -features/x86/x86-add-build-salt-to-the-vdso.patch -features/powerpc/powerpc-add-build-salt-to-the-vdso.patch -features/arm64/arm64-add-build-salt-to-the-vdso.patch # Lockdown (formerly 'securelevel') patchset features/all/lockdown/0001-Add-the-ability-to-lock-down-access-to-the-running-k.patch