From 2807f84b629c1a05304e4b39447973084889d9de Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 5 Aug 2019 11:06:09 +0200 Subject: kernel: bump 4.9 to 4.9.187 Refreshed all patches. Altered patches: - 021-bridge-multicast-to-unicast.patch Remove upstreamed: - 001-um-Allow-building-and-running-on-older-hosts.patch - 003-um-Fix-check-for-_xstate-for-older-hosts.patch Fixes: - CVE-2019-10207 - CVE-2019-13648 Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte --- ...Allow-building-and-running-on-older-hosts.patch | 99 ---------------------- ...-um-Fix-check-for-_xstate-for-older-hosts.patch | 46 ---------- 2 files changed, 145 deletions(-) delete mode 100644 target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch delete mode 100644 target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch (limited to 'target/linux/uml') diff --git a/target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch b/target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch deleted file mode 100644 index 501cca82f7..0000000000 --- a/target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 0a987645672ebde7844a9c0732a5a25f3d4bb6c6 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 25 May 2017 11:36:26 -0700 -Subject: [PATCH] um: Allow building and running on older hosts - -[ Upstream commit 0a987645672ebde7844a9c0732a5a25f3d4bb6c6 ] - -Commit a78ff1112263 ("um: add extended processor state save/restore -support") and b6024b21fec8 ("um: extend fpstate to _xstate to support -YMM registers") forced the use of the x86 FP _xstate and -PTRACE_GETREGSET/SETREGSET. On older hosts, we would neither be able to -build UML nor run it anymore with these two commits applied because we -don't have definitions for struct _xstate nor these two ptrace requests. - -We can determine at build time which fp context structure to check -against, just like we can keep using the old i387 fp save/restore if -PTRACE_GETRESET/SETREGSET are not defined. - -Fixes: a78ff1112263 ("um: add extended processor state save/restore support") -Fixes: b6024b21fec8 ("um: extend fpstate to _xstate to support YMM registers") -Signed-off-by: Florian Fainelli -Signed-off-by: Richard Weinberger ---- - arch/x86/um/os-Linux/registers.c | 12 ++++++++---- - arch/x86/um/user-offsets.c | 4 ++++ - 2 files changed, 12 insertions(+), 4 deletions(-) - ---- a/arch/x86/um/os-Linux/registers.c -+++ b/arch/x86/um/os-Linux/registers.c -@@ -26,6 +26,7 @@ int save_i387_registers(int pid, unsigne - - int save_fp_registers(int pid, unsigned long *fp_regs) - { -+#ifdef PTRACE_GETREGSET - struct iovec iov; - - if (have_xstate_support) { -@@ -34,9 +35,9 @@ int save_fp_registers(int pid, unsigned - if (ptrace(PTRACE_GETREGSET, pid, NT_X86_XSTATE, &iov) < 0) - return -errno; - return 0; -- } else { -+ } else -+#endif - return save_i387_registers(pid, fp_regs); -- } - } - - int restore_i387_registers(int pid, unsigned long *fp_regs) -@@ -48,6 +49,7 @@ int restore_i387_registers(int pid, unsi - - int restore_fp_registers(int pid, unsigned long *fp_regs) - { -+#ifdef PTRACE_SETREGSET - struct iovec iov; - - if (have_xstate_support) { -@@ -56,9 +58,9 @@ int restore_fp_registers(int pid, unsign - if (ptrace(PTRACE_SETREGSET, pid, NT_X86_XSTATE, &iov) < 0) - return -errno; - return 0; -- } else { -+ } else -+#endif - return restore_i387_registers(pid, fp_regs); -- } - } - - #ifdef __i386__ -@@ -122,6 +124,7 @@ int put_fp_registers(int pid, unsigned l - - void arch_init_registers(int pid) - { -+#ifdef PTRACE_GETREGSET - struct _xstate fp_regs; - struct iovec iov; - -@@ -129,6 +132,7 @@ void arch_init_registers(int pid) - iov.iov_len = sizeof(struct _xstate); - if (ptrace(PTRACE_GETREGSET, pid, NT_X86_XSTATE, &iov) == 0) - have_xstate_support = 1; -+#endif - } - #endif - ---- a/arch/x86/um/user-offsets.c -+++ b/arch/x86/um/user-offsets.c -@@ -50,7 +50,11 @@ void foo(void) - DEFINE(HOST_GS, GS); - DEFINE(HOST_ORIG_AX, ORIG_EAX); - #else -+#if defined(PTRACE_GETREGSET) && defined(PTRACE_SETREGSET) - DEFINE(HOST_FP_SIZE, sizeof(struct _xstate) / sizeof(unsigned long)); -+#else -+ DEFINE(HOST_FP_SIZE, sizeof(struct _fpstate) / sizeof(unsigned long)); -+#endif - DEFINE_LONGS(HOST_BX, RBX); - DEFINE_LONGS(HOST_CX, RCX); - DEFINE_LONGS(HOST_DI, RDI); diff --git a/target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch b/target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch deleted file mode 100644 index b31ca4191b..0000000000 --- a/target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 2fb44600fe784449404c6639de26af8361999ec7 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Tue, 18 Jul 2017 16:43:47 -0700 -Subject: [PATCH] um: Fix check for _xstate for older hosts - -Commit 0a987645672e ("um: Allow building and running on older -hosts") attempted to check for PTRACE_{GET,SET}REGSET under the premise -that these ptrace(2) parameters were directly linked with the presence -of the _xstate structure. - -After Richard's commit 61e8d462457f ("um: Correctly check for -PTRACE_GETRESET/SETREGSET") which properly included linux/ptrace.h -instead of asm/ptrace.h, we could get into the original build failure -that I reported: - -arch/x86/um/user-offsets.c: In function 'foo': -arch/x86/um/user-offsets.c:54: error: invalid application of 'sizeof' to -incomplete type 'struct _xstate' - -On this particular host, we do have PTRACE_GETREGSET and -PTRACE_SETREGSET defined in linux/ptrace.h, but not the structure -_xstate that should be pulled from the following include chain: signal.h --> bits/sigcontext.h. - -Correctly fix this by checking for FP_XSTATE_MAGIC1 which is the correct -way to see if struct _xstate is available or not on the host. - -Fixes: 61e8d462457f ("um: Correctly check for PTRACE_GETRESET/SETREGSET") -Fixes: 0a987645672e ("um: Allow building and running on older hosts") -Signed-off-by: Florian Fainelli -Signed-off-by: Richard Weinberger ---- - arch/x86/um/user-offsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/x86/um/user-offsets.c -+++ b/arch/x86/um/user-offsets.c -@@ -50,7 +50,7 @@ void foo(void) - DEFINE(HOST_GS, GS); - DEFINE(HOST_ORIG_AX, ORIG_EAX); - #else --#if defined(PTRACE_GETREGSET) && defined(PTRACE_SETREGSET) -+#ifdef FP_XSTATE_MAGIC1 - DEFINE(HOST_FP_SIZE, sizeof(struct _xstate) / sizeof(unsigned long)); - #else - DEFINE(HOST_FP_SIZE, sizeof(struct _fpstate) / sizeof(unsigned long)); -- cgit v1.2.3