diff options
author | Salvatore Bonaccorso <carnil@debian.org> | 2021-11-19 15:21:44 +0100 |
---|---|---|
committer | Salvatore Bonaccorso <carnil@debian.org> | 2021-11-19 15:38:53 +0100 |
commit | 4e349c06e109496a5194b5a41737e46ba9a4b1c3 (patch) | |
tree | 20bbba91eed17ecc4ac88a6e42ce764184acd1bc | |
parent | 6bf54c230502669bb835e1354490cb85ac15afc0 (diff) | |
download | kernel_replicant_linux-4e349c06e109496a5194b5a41737e46ba9a4b1c3.tar.gz kernel_replicant_linux-4e349c06e109496a5194b5a41737e46ba9a4b1c3.tar.bz2 kernel_replicant_linux-4e349c06e109496a5194b5a41737e46ba9a4b1c3.zip |
Update to 5.16-rc1
10 files changed, 41 insertions, 555 deletions
diff --git a/debian/changelog b/debian/changelog index 7113c523bc40..2daa35f1cc5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (5.16~rc1-1~exp1) UNRELEASED; urgency=medium + + * New upstream release candidate + + -- Salvatore Bonaccorso <carnil@debian.org> Fri, 19 Nov 2021 15:20:32 +0100 + linux (5.15.3-1) unstable; urgency=medium * New upstream stable update: diff --git a/debian/patches/bugfix/all/bpftool-fix-version-string-in-recursive-builds.patch b/debian/patches/bugfix/all/bpftool-fix-version-string-in-recursive-builds.patch index 3dd3c68bac41..6ac317ad2e24 100644 --- a/debian/patches/bugfix/all/bpftool-fix-version-string-in-recursive-builds.patch +++ b/debian/patches/bugfix/all/bpftool-fix-version-string-in-recursive-builds.patch @@ -19,12 +19,12 @@ Signed-off-by: Ben Hutchings <benh@debian.org> --- --- a/tools/bpf/bpftool/Makefile +++ b/tools/bpf/bpftool/Makefile -@@ -31,7 +31,7 @@ - LIBBPF_BOOTSTRAP = $(LIBBPF_BOOTSTRAP_OUTPUT)libbpf.a +@@ -41,7 +41,7 @@ LIBBPF_INTERNAL_HDRS := $(addprefix $(LI + LIBBPF_BOOTSTRAP_INTERNAL_HDRS := $(addprefix $(LIBBPF_BOOTSTRAP_HDRS_DIR)/,hashmap.h) ifeq ($(BPFTOOL_VERSION),) -BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. kernelversion) +BPFTOOL_VERSION := $(shell MAKEFLAGS= make -rR --no-print-directory -sC ../../.. kernelversion) endif - $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT): + $(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT) $(LIBBPF_HDRS_DIR) $(LIBBPF_BOOTSTRAP_HDRS_DIR): diff --git a/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch b/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch index 80aaf704149d..1a65b3869225 100644 --- a/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch +++ b/debian/patches/bugfix/all/kbuild-fix-recordmcount-dependency.patch @@ -7,11 +7,9 @@ We never rebuild anything in-tree when building an out-of-tree modules, so external modules should not depend on the recordmcount sources. -Index: linux/scripts/Makefile.build -=================================================================== ---- linux.orig/scripts/Makefile.build -+++ linux/scripts/Makefile.build -@@ -217,6 +217,11 @@ cmd_record_mcount = $(if $(findstring $( +--- a/scripts/Makefile.build ++++ b/scripts/Makefile.build +@@ -223,6 +223,11 @@ cmd_record_mcount = $(if $(findstring $( $(sub_cmd_record_mcount)) endif # CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT @@ -21,5 +19,5 @@ Index: linux/scripts/Makefile.build +endif + ifdef CONFIG_STACK_VALIDATION - ifndef CONFIG_LTO_CLANG + objtool := $(objtree)/tools/objtool/objtool diff --git a/debian/patches/bugfix/all/perf-srcline-Use-long-running-addr2line-per-DSO.patch b/debian/patches/bugfix/all/perf-srcline-Use-long-running-addr2line-per-DSO.patch deleted file mode 100644 index f1996e947edc..000000000000 --- a/debian/patches/bugfix/all/perf-srcline-Use-long-running-addr2line-per-DSO.patch +++ /dev/null @@ -1,459 +0,0 @@ -From: Tony Garnock-Jones <tonyg@leastfixedpoint.com> -Date: Thu, 16 Sep 2021 14:09:39 +0200 -Subject: perf srcline: Use long-running addr2line per DSO -Origin: https://git.kernel.org/linus/be8ecc57f180415e8a7c1cc5620c5236be2a7e56 -Bug-Debian: https://bugs.debian.org/911815 - -Invoking addr2line in a separate subprocess, one for each required -lookup, takes a terribly long time. - -This patch introduces a long-running addr2line process for each DSO, -*DRAMATICALLY* speeding up runs of perf. - -What used to take tens of minutes now takes tens of seconds. - -Debian bug report about this issue: - - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911815 - -Signed-off-by: Tony Garnock-Jones <tonyg@leastfixedpoint.com> -Tested-by: Ian Rogers <irogers@google.com> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Peter Zijlstra <peterz@infradead.org> -Link: https://lore.kernel.org/r/20210916120939.453536-1-tonyg@leastfixedpoint.com -Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> ---- - tools/perf/util/srcline.c | 338 ++++++++++++++++++++++++++++---------- - 1 file changed, 250 insertions(+), 88 deletions(-) - -diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c -index 5b7d6c16d33f..af468e3bb6fa 100644 ---- a/tools/perf/util/srcline.c -+++ b/tools/perf/util/srcline.c -@@ -1,8 +1,10 @@ - // SPDX-License-Identifier: GPL-2.0 - #include <inttypes.h> -+#include <signal.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> -+#include <sys/types.h> - - #include <linux/kernel.h> - #include <linux/string.h> -@@ -15,6 +17,7 @@ - #include "srcline.h" - #include "string2.h" - #include "symbol.h" -+#include "subcmd/run-command.h" - - bool srcline_full_filename; - -@@ -119,6 +122,8 @@ static struct symbol *new_inline_sym(struct dso *dso, - return inline_sym; - } - -+#define MAX_INLINE_NEST 1024 -+ - #ifdef HAVE_LIBBFD_SUPPORT - - /* -@@ -273,8 +278,6 @@ static void addr2line_cleanup(struct a2l_data *a2l) - free(a2l); - } - --#define MAX_INLINE_NEST 1024 -- - static int inline_list__append_dso_a2l(struct dso *dso, - struct inline_node *node, - struct symbol *sym) -@@ -361,26 +364,14 @@ void dso__free_a2l(struct dso *dso) - dso->a2l = NULL; - } - --static struct inline_node *addr2inlines(const char *dso_name, u64 addr, -- struct dso *dso, struct symbol *sym) --{ -- struct inline_node *node; -- -- node = zalloc(sizeof(*node)); -- if (node == NULL) { -- perror("not enough memory for the inline node"); -- return NULL; -- } -- -- INIT_LIST_HEAD(&node->val); -- node->addr = addr; -- -- addr2line(dso_name, addr, NULL, NULL, dso, true, node, sym); -- return node; --} -- - #else /* HAVE_LIBBFD_SUPPORT */ - -+struct a2l_subprocess { -+ struct child_process addr2line; -+ FILE *to_child; -+ FILE *from_child; -+}; -+ - static int filename_split(char *filename, unsigned int *line_nr) - { - char *sep; -@@ -402,114 +393,285 @@ static int filename_split(char *filename, unsigned int *line_nr) - return 0; - } - --static int addr2line(const char *dso_name, u64 addr, -- char **file, unsigned int *line_nr, -- struct dso *dso __maybe_unused, -- bool unwind_inlines __maybe_unused, -- struct inline_node *node __maybe_unused, -- struct symbol *sym __maybe_unused) -+static void addr2line_subprocess_cleanup(struct a2l_subprocess *a2l) - { -- FILE *fp; -- char cmd[PATH_MAX]; -- char *filename = NULL; -- size_t len; -- int ret = 0; -+ if (a2l->addr2line.pid != -1) { -+ kill(a2l->addr2line.pid, SIGKILL); -+ finish_command(&a2l->addr2line); /* ignore result, we don't care */ -+ a2l->addr2line.pid = -1; -+ } - -- scnprintf(cmd, sizeof(cmd), "addr2line -e %s %016"PRIx64, -- dso_name, addr); -+ if (a2l->to_child != NULL) { -+ fclose(a2l->to_child); -+ a2l->to_child = NULL; -+ } - -- fp = popen(cmd, "r"); -- if (fp == NULL) { -- pr_warning("popen failed for %s\n", dso_name); -- return 0; -+ if (a2l->from_child != NULL) { -+ fclose(a2l->from_child); -+ a2l->from_child = NULL; -+ } -+ -+ free(a2l); -+} -+ -+static struct a2l_subprocess *addr2line_subprocess_init(const char *path) -+{ -+ const char *argv[] = { "addr2line", "-e", path, "-i", "-f", NULL }; -+ struct a2l_subprocess *a2l = zalloc(sizeof(*a2l)); -+ int start_command_status = 0; -+ -+ if (a2l == NULL) -+ goto out; -+ -+ a2l->to_child = NULL; -+ a2l->from_child = NULL; -+ -+ a2l->addr2line.pid = -1; -+ a2l->addr2line.in = -1; -+ a2l->addr2line.out = -1; -+ a2l->addr2line.no_stderr = 1; -+ -+ a2l->addr2line.argv = argv; -+ start_command_status = start_command(&a2l->addr2line); -+ a2l->addr2line.argv = NULL; /* it's not used after start_command; avoid dangling pointers */ -+ -+ if (start_command_status != 0) { -+ pr_warning("could not start addr2line for %s: start_command return code %d\n", -+ path, -+ start_command_status); -+ goto out; - } - -- if (getline(&filename, &len, fp) < 0 || !len) { -- pr_warning("addr2line has no output for %s\n", dso_name); -+ a2l->to_child = fdopen(a2l->addr2line.in, "w"); -+ if (a2l->to_child == NULL) { -+ pr_warning("could not open write-stream to addr2line of %s\n", path); - goto out; - } - -- ret = filename_split(filename, line_nr); -- if (ret != 1) { -- free(filename); -+ a2l->from_child = fdopen(a2l->addr2line.out, "r"); -+ if (a2l->from_child == NULL) { -+ pr_warning("could not open read-stream from addr2line of %s\n", path); - goto out; - } - -- *file = filename; -+ return a2l; - - out: -- pclose(fp); -- return ret; -+ if (a2l) -+ addr2line_subprocess_cleanup(a2l); -+ -+ return NULL; - } - --void dso__free_a2l(struct dso *dso __maybe_unused) -+static int read_addr2line_record(struct a2l_subprocess *a2l, -+ char **function, -+ char **filename, -+ unsigned int *line_nr) - { -+ /* -+ * Returns: -+ * -1 ==> error -+ * 0 ==> sentinel (or other ill-formed) record read -+ * 1 ==> a genuine record read -+ */ -+ char *line = NULL; -+ size_t line_len = 0; -+ unsigned int dummy_line_nr = 0; -+ int ret = -1; -+ -+ if (function != NULL) -+ zfree(function); -+ -+ if (filename != NULL) -+ zfree(filename); -+ -+ if (line_nr != NULL) -+ *line_nr = 0; -+ -+ if (getline(&line, &line_len, a2l->from_child) < 0 || !line_len) -+ goto error; -+ -+ if (function != NULL) -+ *function = strdup(strim(line)); -+ -+ zfree(&line); -+ line_len = 0; -+ -+ if (getline(&line, &line_len, a2l->from_child) < 0 || !line_len) -+ goto error; -+ -+ if (filename_split(line, line_nr == NULL ? &dummy_line_nr : line_nr) == 0) { -+ ret = 0; -+ goto error; -+ } -+ -+ if (filename != NULL) -+ *filename = strdup(line); -+ -+ zfree(&line); -+ line_len = 0; -+ -+ return 1; -+ -+error: -+ free(line); -+ if (function != NULL) -+ zfree(function); -+ if (filename != NULL) -+ zfree(filename); -+ return ret; - } - --static struct inline_node *addr2inlines(const char *dso_name, u64 addr, -- struct dso *dso __maybe_unused, -- struct symbol *sym) -+static int inline_list__append_record(struct dso *dso, -+ struct inline_node *node, -+ struct symbol *sym, -+ const char *function, -+ const char *filename, -+ unsigned int line_nr) - { -- FILE *fp; -- char cmd[PATH_MAX]; -- struct inline_node *node; -- char *filename = NULL; -- char *funcname = NULL; -- size_t filelen, funclen; -- unsigned int line_nr = 0; -+ struct symbol *inline_sym = new_inline_sym(dso, sym, function); - -- scnprintf(cmd, sizeof(cmd), "addr2line -e %s -i -f %016"PRIx64, -- dso_name, addr); -+ return inline_list__append(inline_sym, srcline_from_fileline(filename, line_nr), node); -+} - -- fp = popen(cmd, "r"); -- if (fp == NULL) { -- pr_err("popen failed for %s\n", dso_name); -- return NULL; -+static int addr2line(const char *dso_name, u64 addr, -+ char **file, unsigned int *line_nr, -+ struct dso *dso, -+ bool unwind_inlines, -+ struct inline_node *node, -+ struct symbol *sym __maybe_unused) -+{ -+ struct a2l_subprocess *a2l = dso->a2l; -+ char *record_function = NULL; -+ char *record_filename = NULL; -+ unsigned int record_line_nr = 0; -+ int record_status = -1; -+ int ret = 0; -+ size_t inline_count = 0; -+ -+ if (!a2l) { -+ dso->a2l = addr2line_subprocess_init(dso_name); -+ a2l = dso->a2l; - } - -- node = zalloc(sizeof(*node)); -- if (node == NULL) { -- perror("not enough memory for the inline node"); -+ if (a2l == NULL) { -+ if (!symbol_conf.disable_add2line_warn) -+ pr_warning("%s %s: addr2line_subprocess_init failed\n", __func__, dso_name); - goto out; - } - -- INIT_LIST_HEAD(&node->val); -- node->addr = addr; -- -- /* addr2line -f generates two lines for each inlined functions */ -- while (getline(&funcname, &funclen, fp) != -1) { -- char *srcline; -- struct symbol *inline_sym; -+ /* -+ * Send our request and then *deliberately* send something that can't be interpreted as -+ * a valid address to ask addr2line about (namely, ","). This causes addr2line to first -+ * write out the answer to our request, in an unbounded/unknown number of records, and -+ * then to write out the lines "??" and "??:0", so that we can detect when it has -+ * finished giving us anything useful. We have to be careful about the first record, -+ * though, because it may be genuinely unknown, in which case we'll get two sets of -+ * "??"/"??:0" lines. -+ */ -+ if (fprintf(a2l->to_child, "%016"PRIx64"\n,\n", addr) < 0 || fflush(a2l->to_child) != 0) { -+ pr_warning("%s %s: could not send request\n", __func__, dso_name); -+ goto out; -+ } - -- strim(funcname); -+ switch (read_addr2line_record(a2l, &record_function, &record_filename, &record_line_nr)) { -+ case -1: -+ pr_warning("%s %s: could not read first record\n", __func__, dso_name); -+ goto out; -+ case 0: -+ /* -+ * The first record was invalid, so return failure, but first read another -+ * record, since we asked a junk question and have to clear the answer out. -+ */ -+ switch (read_addr2line_record(a2l, NULL, NULL, NULL)) { -+ case -1: -+ pr_warning("%s %s: could not read delimiter record\n", __func__, dso_name); -+ break; -+ case 0: -+ /* As expected. */ -+ break; -+ default: -+ pr_warning("%s %s: unexpected record instead of sentinel", -+ __func__, dso_name); -+ break; -+ } -+ goto out; -+ default: -+ break; -+ } - -- if (getline(&filename, &filelen, fp) == -1) -- goto out; -+ if (file) { -+ *file = strdup(record_filename); -+ ret = 1; -+ } -+ if (line_nr) -+ *line_nr = record_line_nr; - -- if (filename_split(filename, &line_nr) != 1) -+ if (unwind_inlines) { -+ if (node && inline_list__append_record(dso, node, sym, -+ record_function, -+ record_filename, -+ record_line_nr)) { -+ ret = 0; - goto out; -+ } -+ } - -- srcline = srcline_from_fileline(filename, line_nr); -- inline_sym = new_inline_sym(dso, sym, funcname); -- -- if (inline_list__append(inline_sym, srcline, node) != 0) { -- free(srcline); -- if (inline_sym && inline_sym->inlined) -- symbol__delete(inline_sym); -- goto out; -+ /* We have to read the records even if we don't care about the inline info. */ -+ while ((record_status = read_addr2line_record(a2l, -+ &record_function, -+ &record_filename, -+ &record_line_nr)) == 1) { -+ if (unwind_inlines && node && inline_count++ < MAX_INLINE_NEST) { -+ if (inline_list__append_record(dso, node, sym, -+ record_function, -+ record_filename, -+ record_line_nr)) { -+ ret = 0; -+ goto out; -+ } -+ ret = 1; /* found at least one inline frame */ - } - } - - out: -- pclose(fp); -- free(filename); -- free(funcname); -+ free(record_function); -+ free(record_filename); -+ return ret; -+} - -- return node; -+void dso__free_a2l(struct dso *dso) -+{ -+ struct a2l_subprocess *a2l = dso->a2l; -+ -+ if (!a2l) -+ return; -+ -+ addr2line_subprocess_cleanup(a2l); -+ -+ dso->a2l = NULL; - } - - #endif /* HAVE_LIBBFD_SUPPORT */ - -+static struct inline_node *addr2inlines(const char *dso_name, u64 addr, -+ struct dso *dso, struct symbol *sym) -+{ -+ struct inline_node *node; -+ -+ node = zalloc(sizeof(*node)); -+ if (node == NULL) { -+ perror("not enough memory for the inline node"); -+ return NULL; -+ } -+ -+ INIT_LIST_HEAD(&node->val); -+ node->addr = addr; -+ -+ addr2line(dso_name, addr, NULL, NULL, dso, true, node, sym); -+ return node; -+} -+ - /* - * Number of addr2line failures (without success) before disabling it for that - * dso. --- -2.33.1 - diff --git a/debian/patches/bugfix/all/radeon-amdgpu-firmware-is-required-for-drm-and-kms-on-r600-onward.patch b/debian/patches/bugfix/all/radeon-amdgpu-firmware-is-required-for-drm-and-kms-on-r600-onward.patch index e0372e4a0d1a..19d007002af0 100644 --- a/debian/patches/bugfix/all/radeon-amdgpu-firmware-is-required-for-drm-and-kms-on-r600-onward.patch +++ b/debian/patches/bugfix/all/radeon-amdgpu-firmware-is-required-for-drm-and-kms-on-r600-onward.patch @@ -28,20 +28,18 @@ is missing, except for the pre-R600 case. drivers/gpu/drm/radeon/radeon_drv.c | 30 +++++++++++++++++++++++++ 2 files changed, 59 insertions(+) -Index: linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -=================================================================== ---- linux.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -+++ linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c -@@ -38,6 +38,8 @@ - #include <drm/drm_probe_helper.h> +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +@@ -39,6 +39,8 @@ #include <linux/mmu_notifier.h> #include <linux/suspend.h> + #include <linux/cc_platform.h> +#include <linux/namei.h> +#include <linux/path.h> #include "amdgpu.h" #include "amdgpu_irq.h" -@@ -1246,6 +1248,28 @@ MODULE_DEVICE_TABLE(pci, pciidlist); +@@ -1889,6 +1891,28 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static const struct drm_driver amdgpu_kms_driver; @@ -70,7 +68,7 @@ Index: linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { -@@ -1310,6 +1334,11 @@ static int amdgpu_pci_probe(struct pci_d +@@ -1965,6 +1989,11 @@ static int amdgpu_pci_probe(struct pci_d } #endif @@ -82,10 +80,8 @@ Index: linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c /* Get rid of things like offb */ ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, &amdgpu_kms_driver); if (ret) -Index: linux/drivers/gpu/drm/radeon/radeon_drv.c -=================================================================== ---- linux.orig/drivers/gpu/drm/radeon/radeon_drv.c -+++ linux/drivers/gpu/drm/radeon/radeon_drv.c +--- a/drivers/gpu/drm/radeon/radeon_drv.c ++++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -49,6 +49,8 @@ #include <drm/drm_probe_helper.h> #include <drm/drm_vblank.h> 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 b48756ac946a..1f478459718f 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 @@ -23,10 +23,8 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> arch/sh/boot/romimage/Makefile | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) -Index: linux/arch/sh/Makefile -=================================================================== ---- linux.orig/arch/sh/Makefile -+++ linux/arch/sh/Makefile +--- a/arch/sh/Makefile ++++ b/arch/sh/Makefile @@ -102,16 +102,16 @@ UTS_MACHINE := sh LDFLAGS_vmlinux += -e _stext @@ -49,10 +47,8 @@ Index: linux/arch/sh/Makefile head-y := arch/sh/kernel/head_32.o -Index: linux/arch/sh/boot/Makefile -=================================================================== ---- linux.orig/arch/sh/boot/Makefile -+++ linux/arch/sh/boot/Makefile +--- a/arch/sh/boot/Makefile ++++ b/arch/sh/boot/Makefile @@ -19,12 +19,12 @@ CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 CONFIG_ENTRY_OFFSET ?= 0x00001000 CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_START) @@ -71,7 +67,7 @@ Index: linux/arch/sh/boot/Makefile +suffix_$(CONFIG_KERNEL_LZO) := lzo targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \ - uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin + uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin \ @@ -106,10 +106,10 @@ OBJCOPYFLAGS_uImage.srec := -I binary -O $(obj)/uImage.srec: $(obj)/uImage FORCE $(call if_changed,objcopy) @@ -85,11 +81,9 @@ Index: linux/arch/sh/boot/Makefile CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \ - KERNEL_MEMORY suffix-y + KERNEL_MEMORY suffix_y -Index: linux/arch/sh/boot/compressed/Makefile -=================================================================== ---- linux.orig/arch/sh/boot/compressed/Makefile -+++ linux/arch/sh/boot/compressed/Makefile -@@ -30,7 +30,7 @@ endif +--- a/arch/sh/boot/compressed/Makefile ++++ b/arch/sh/boot/compressed/Makefile +@@ -36,7 +36,7 @@ endif ccflags-remove-$(CONFIG_MCOUNT) += -pg @@ -97,8 +91,8 @@ Index: linux/arch/sh/boot/compressed/Makefile +LDFLAGS_vmlinux := --oformat $(ld_bfd) -Ttext $(IMAGE_OFFSET) -e startup \ -T $(obj)/../../kernel/vmlinux.lds - # -@@ -68,7 +68,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.al + KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING +@@ -62,7 +62,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.al OBJCOPYFLAGS += -R .empty_zero_page @@ -108,10 +102,8 @@ Index: linux/arch/sh/boot/compressed/Makefile -$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE +$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE $(call if_changed,ld) -Index: linux/arch/sh/boot/romimage/Makefile -=================================================================== ---- linux.orig/arch/sh/boot/romimage/Makefile -+++ linux/arch/sh/boot/romimage/Makefile +--- a/arch/sh/boot/romimage/Makefile ++++ b/arch/sh/boot/romimage/Makefile @@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) : load-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-load-y) obj-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-obj-y) diff --git a/debian/patches/debian/dfsg/vs6624-disable.patch b/debian/patches/debian/dfsg/vs6624-disable.patch index b99070c0cf8d..8d072a6bf92c 100644 --- a/debian/patches/debian/dfsg/vs6624-disable.patch +++ b/debian/patches/debian/dfsg/vs6624-disable.patch @@ -7,18 +7,13 @@ Forwarded: not-needed drivers/media/i2c/Kconfig | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig -index c68e002d26ea..9055d4658c78 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig -@@ -843,6 +843,7 @@ config VIDEO_OV13858 - OV13858 camera. +@@ -1213,6 +1213,7 @@ config VIDEO_OV13B10 + OV13B10 camera. config VIDEO_VS6624 + depends on BROKEN tristate "ST VS6624 sensor support" depends on VIDEO_V4L2 && I2C help --- -2.24.0 - diff --git a/debian/patches/debian/ia64-hardcode-arch-script-output.patch b/debian/patches/debian/ia64-hardcode-arch-script-output.patch index b46f9517340b..56fdc4cb470c 100644 --- a/debian/patches/debian/ia64-hardcode-arch-script-output.patch +++ b/debian/patches/debian/ia64-hardcode-arch-script-output.patch @@ -26,7 +26,7 @@ their own scripts in the future. --- a/arch/ia64/Makefile +++ b/arch/ia64/Makefile -@@ -26,16 +26,7 @@ +@@ -26,16 +26,7 @@ cflags-y := -pipe $(EXTRA) -ffixed-r13 - -falign-functions=32 -frename-registers -fno-optimize-sibling-calls KBUILD_CFLAGS_KERNEL := -mconstant-gp @@ -44,7 +44,7 @@ their own scripts in the future. quiet_cmd_gzip = GZIP $@ cmd_gzip = cat $(real-prereqs) | $(KGZIP) -n -f -9 > $@ -@@ -54,7 +45,7 @@ +@@ -52,7 +43,7 @@ drivers-y += arch/ia64/pci/ arch/ia64/ PHONY += compressed check @@ -53,17 +53,17 @@ their own scripts in the future. compressed: vmlinux.gz -@@ -66,9 +57,6 @@ +@@ -64,9 +55,6 @@ vmlinux.gz: vmlinux.bin FORCE vmlinux.bin: vmlinux FORCE $(call if_changed,objcopy) -unwcheck: vmlinux - -$(Q)READELF=$(READELF) $(PYTHON3) $(srctree)/arch/ia64/scripts/unwcheck.py $< - - archclean: - archheaders: -@@ -82,5 +70,4 @@ + $(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all + +@@ -78,5 +66,4 @@ install: vmlinux.gz define archhelp echo '* compressed - Build compressed kernel image' echo ' install - Install compressed kernel image' diff --git a/debian/patches/features/arm64/arm64-dts-rockchip-disable-USB-type-c-DisplayPort.patch b/debian/patches/features/arm64/arm64-dts-rockchip-disable-USB-type-c-DisplayPort.patch deleted file mode 100644 index 51ab544d5ea3..000000000000 --- a/debian/patches/features/arm64/arm64-dts-rockchip-disable-USB-type-c-DisplayPort.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3a75704e99a118f2d8a4d70f07781558bde85770 Mon Sep 17 00:00:00 2001 -From: Jian-Hong Pan <jhp@endlessos.org> -Date: Thu, 24 Sep 2020 14:30:43 +0800 -Subject: [PATCH] arm64: dts: rockchip: disable USB type-c DisplayPort - -The cdn-dp sub driver probes the device failed on PINEBOOK Pro. - -kernel: cdn-dp fec00000.dp: [drm:cdn_dp_probe [rockchipdrm]] *ERROR* missing extcon or phy -kernel: cdn-dp: probe of fec00000.dp failed with error -22 - -Then, the device halts all of the DRM related device jobs. For example, -the operations: vop_component_ops, vop_component_ops and -rockchip_dp_component_ops cannot be bound to corresponding devices. So, -Xorg cannot find the correct DRM device. - -The USB type-C DisplayPort does not work for now. So, disable the -DisplayPort node until the type-C phy work has been done. - -Link: https://patchwork.kernel.org/patch/11794141/#23639877 -Signed-off-by: Jian-Hong Pan <jhp@endlessos.org> ---- - arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts -index 219b7507a10f..45769764425d 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts -@@ -380,7 +380,7 @@ - }; - - &cdn_dp { -- status = "okay"; -+ status = "disabled"; - }; - - &cpu_b0 { --- -2.30.2 - diff --git a/debian/patches/series b/debian/patches/series index 7f76bc515013..dbd808c61297 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,7 +80,6 @@ bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch # Arch features features/arm64/arm64-dts-rockchip-Add-support-for-two-PWM-fans-on-h.patch features/arm64/arm64-dts-rockchip-Add-support-for-PCIe-on-helios64.patch -features/arm64/arm64-dts-rockchip-disable-USB-type-c-DisplayPort.patch features/x86/x86-memtest-WARN-if-bad-RAM-found.patch features/x86/x86-make-x32-syscall-support-conditional.patch @@ -123,6 +122,5 @@ bugfix/all/cpupower-fix-checks-for-cpu-existence.patch bugfix/all/tools-perf-pmu-events-fix-reproducibility.patch bugfix/all/bpftool-fix-version-string-in-recursive-builds.patch bugfix/all/tools-include-uapi-fix-errno.h.patch -bugfix/all/perf-srcline-Use-long-running-addr2line-per-DSO.patch # ABI maintenance |