diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/Config.in.kernelversion | 4 | ||||
-rw-r--r-- | target/linux/patches/6.5.5/armnommu-fix-elf-fdpic-personality.patch | 54 | ||||
-rw-r--r-- | target/linux/patches/6.6.10/armnommu-fix-thread-registers.patch (renamed from target/linux/patches/6.5.5/armnommu-fix-thread-registers.patch) | 0 | ||||
-rw-r--r-- | target/linux/patches/6.6.10/armnommu-versatile.patch (renamed from target/linux/patches/6.5.5/armnommu-versatile.patch) | 0 |
4 files changed, 2 insertions, 56 deletions
diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion index 8c6ce5c65..ad2e75e3c 100644 --- a/target/linux/Config.in.kernelversion +++ b/target/linux/Config.in.kernelversion @@ -39,8 +39,8 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_GIT select ADK_TARGET_LINUX_KERNEL_IMAGE if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 select ADK_TARGET_LINUX_KERNEL_IMAGE if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK -config ADK_TARGET_LINUX_KERNEL_VERSION_6_5 - bool "6.5.5" +config ADK_TARGET_LINUX_KERNEL_VERSION_6_6 + bool "6.6.10" depends on !ADK_TARGET_ARCH_AVR32 depends on !ADK_TARGET_ARCH_BFIN depends on !ADK_TARGET_ARCH_C6X diff --git a/target/linux/patches/6.5.5/armnommu-fix-elf-fdpic-personality.patch b/target/linux/patches/6.5.5/armnommu-fix-elf-fdpic-personality.patch deleted file mode 100644 index 78b1a10ff..000000000 --- a/target/linux/patches/6.5.5/armnommu-fix-elf-fdpic-personality.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ab7647c2b04501297c50ce7cdb6f6895b9582d22 Mon Sep 17 00:00:00 2001 -From: Greg Ungerer <gerg@kernel.org> -Date: Fri, 21 Apr 2023 00:21:38 +1000 -Subject: [PATCH] fs: binfmt_elf_efpic: fix personality for fdpic ELF - -The elf-fdpic loader hard sets the process personality to either -PER_LINUX_FDPIC for true elf-fdpic binaries or to PER_LINUX for -normal ELF binaries (in this case they would be constant displacement -compiled with -pie for example). The problem with that is that it -will lose any other bits that may be in the ELF header personality -(such as the "bug emulation" bits). - -On the ARM architecture the ADDR_LIMIT_32BIT flag is used to signify -a normal 32bit binary - as opposed to a legacy 26bit address binary. -This matters since start_thread() will set the ARM CPSR register as -required based on this flag. If the elf-fdpic loader loses this bit -the process will be mis-configured and crash out pretty quickly. - -Modify elf-fdpic loaders personality setting binaries so that it -preserves the upper three bytes by using the SET_PERSONALITY macro -to set it. This macro in the generic case sets PER_LINUX and preserves -the upper bytes. Architectures can override this for their specific -use case, and ARM does exactly this. - -The problem shows up quite easily runing under qemu, but not necessarily -on all types of real ARM hardware. If the underlying ARM processor does -not support the legacy 26-bit addressing mode then everyting will work -as expected. - -Signed-off-by: Greg Ungerer <gerg@kernel.org> ---- - fs/binfmt_elf_fdpic.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c -index a05eafcacfb2..f29ae1d96fd7 100644 ---- a/fs/binfmt_elf_fdpic.c -+++ b/fs/binfmt_elf_fdpic.c -@@ -345,10 +345,9 @@ - /* there's now no turning back... the old userspace image is dead, - * defunct, deceased, etc. - */ -+ SET_PERSONALITY(exec_params.hdr); - if (elf_check_fdpic(&exec_params.hdr)) -- set_personality(PER_LINUX_FDPIC); -- else -- set_personality(PER_LINUX); -+ current->personality |= PER_LINUX_FDPIC; - if (elf_read_implies_exec(&exec_params.hdr, executable_stack)) - current->personality |= READ_IMPLIES_EXEC; - --- -2.25.1 - diff --git a/target/linux/patches/6.5.5/armnommu-fix-thread-registers.patch b/target/linux/patches/6.6.10/armnommu-fix-thread-registers.patch index 8ab2196dc..8ab2196dc 100644 --- a/target/linux/patches/6.5.5/armnommu-fix-thread-registers.patch +++ b/target/linux/patches/6.6.10/armnommu-fix-thread-registers.patch diff --git a/target/linux/patches/6.5.5/armnommu-versatile.patch b/target/linux/patches/6.6.10/armnommu-versatile.patch index f8f10f50b..f8f10f50b 100644 --- a/target/linux/patches/6.5.5/armnommu-versatile.patch +++ b/target/linux/patches/6.6.10/armnommu-versatile.patch |