From 97c503988c6956429c2ce57d783b5b73e1e4e1e7 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 17 Jul 2024 12:03:31 +0200 Subject: [PATCH] 4.19-stable patches added patches: asm-generic-move-common-compat-types-to-asm-generic-compat.h.patch --- ...compat-types-to-asm-generic-compat.h.patch | 402 ++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 403 insertions(+) create mode 100644 queue-4.19/asm-generic-move-common-compat-types-to-asm-generic-compat.h.patch diff --git a/queue-4.19/asm-generic-move-common-compat-types-to-asm-generic-compat.h.patch b/queue-4.19/asm-generic-move-common-compat-types-to-asm-generic-compat.h.patch new file mode 100644 index 00000000000..ff5cb40cd96 --- /dev/null +++ b/queue-4.19/asm-generic-move-common-compat-types-to-asm-generic-compat.h.patch @@ -0,0 +1,402 @@ +From fb3739759474d150a9927b920a80ea2afb4c2a51 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Wed, 18 Apr 2018 22:01:26 +0200 +Subject: asm-generic: Move common compat types to asm-generic/compat.h + +From: Arnd Bergmann + +commit fb3739759474d150a9927b920a80ea2afb4c2a51 upstream. + +While converting compat system call handlers to work on 32-bit +architectures, I found a number of types used in those handlers +that are identical between all architectures. + +Let's move all the identical ones into asm-generic/compat.h to avoid +having to add even more identical definitions of those types. + +For unknown reasons, mips defines __compat_gid32_t, __compat_uid32_t +and compat_caddr_t as signed, while all others have them unsigned. +This seems to be a mistake, but I'm leaving it alone here. The other +types all differ by size or alignment on at least on architecture. + +compat_aio_context_t is currently defined in linux/compat.h but +also needed for compat_sys_io_getevents(), so let's move it into +the same place. + +While we still have not decided whether the 32-bit time handling +will always use the compat syscalls, or in which form, I think this +is a useful cleanup that we can merge regardless. + +Reviewed-by: Christoph Hellwig +Signed-off-by: Arnd Bergmann +Cc: Frank Scheiner +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/include/asm/compat.h | 20 ++------------------ + arch/mips/include/asm/compat.h | 22 ++-------------------- + arch/parisc/include/asm/compat.h | 18 ++---------------- + arch/powerpc/include/asm/compat.h | 18 ++---------------- + arch/s390/include/asm/compat.h | 18 ++---------------- + arch/sparc/include/asm/compat.h | 19 ++----------------- + arch/x86/include/asm/compat.h | 19 ++----------------- + include/asm-generic/compat.h | 24 +++++++++++++++++++++++- + include/linux/compat.h | 2 -- + 9 files changed, 37 insertions(+), 123 deletions(-) + +--- a/arch/arm64/include/asm/compat.h ++++ b/arch/arm64/include/asm/compat.h +@@ -25,6 +25,8 @@ + #include + #include + ++#include ++ + #define COMPAT_USER_HZ 100 + #ifdef __AARCH64EB__ + #define COMPAT_UTS_MACHINE "armv8b\0\0" +@@ -32,10 +34,6 @@ + #define COMPAT_UTS_MACHINE "armv8l\0\0" + #endif + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_pid_t; + typedef u16 __compat_uid_t; + typedef u16 __compat_gid_t; + typedef u16 __compat_uid16_t; +@@ -43,27 +41,13 @@ typedef u16 __compat_gid16_t; + typedef u32 __compat_uid32_t; + typedef u32 __compat_gid32_t; + typedef u16 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u32 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef s32 compat_nlink_t; + typedef u16 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef u32 compat_caddr_t; + typedef __kernel_fsid_t compat_fsid_t; +-typedef s32 compat_key_t; +-typedef s32 compat_timer_t; +- +-typedef s16 compat_short_t; +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 compat_s64; +-typedef u16 compat_ushort_t; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; + typedef u64 compat_u64; +-typedef u32 compat_uptr_t; + + struct compat_stat { + #ifdef __AARCH64EB__ +--- a/arch/mips/include/asm/compat.h ++++ b/arch/mips/include/asm/compat.h +@@ -9,43 +9,25 @@ + #include + #include + ++#include ++ + #define COMPAT_USER_HZ 100 + #define COMPAT_UTS_MACHINE "mips\0\0\0" + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_suseconds_t; +- +-typedef s32 compat_pid_t; + typedef s32 __compat_uid_t; + typedef s32 __compat_gid_t; + typedef __compat_uid_t __compat_uid32_t; + typedef __compat_gid_t __compat_gid32_t; + typedef u32 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u32 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef u32 compat_nlink_t; + typedef s32 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef s32 compat_caddr_t; + typedef struct { + s32 val[2]; + } compat_fsid_t; +-typedef s32 compat_timer_t; +-typedef s32 compat_key_t; +- +-typedef s16 compat_short_t; +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 compat_s64; +-typedef u16 compat_ushort_t; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; + typedef u64 compat_u64; +-typedef u32 compat_uptr_t; + + struct compat_stat { + compat_dev_t st_dev; +--- a/arch/parisc/include/asm/compat.h ++++ b/arch/parisc/include/asm/compat.h +@@ -8,36 +8,22 @@ + #include + #include + ++#include ++ + #define COMPAT_USER_HZ 100 + #define COMPAT_UTS_MACHINE "parisc\0\0" + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_pid_t; + typedef u32 __compat_uid_t; + typedef u32 __compat_gid_t; + typedef u32 __compat_uid32_t; + typedef u32 __compat_gid32_t; + typedef u16 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u32 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef u16 compat_nlink_t; + typedef u16 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef u32 compat_caddr_t; +-typedef s32 compat_key_t; +-typedef s32 compat_timer_t; +- +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 compat_s64; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; + typedef u64 compat_u64; +-typedef u32 compat_uptr_t; + + struct compat_stat { + compat_dev_t st_dev; /* dev_t is 32 bits on parisc */ +--- a/arch/powerpc/include/asm/compat.h ++++ b/arch/powerpc/include/asm/compat.h +@@ -8,6 +8,8 @@ + #include + #include + ++#include ++ + #define COMPAT_USER_HZ 100 + #ifdef __BIG_ENDIAN__ + #define COMPAT_UTS_MACHINE "ppc\0\0" +@@ -15,34 +17,18 @@ + #define COMPAT_UTS_MACHINE "ppcle\0\0" + #endif + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_pid_t; + typedef u32 __compat_uid_t; + typedef u32 __compat_gid_t; + typedef u32 __compat_uid32_t; + typedef u32 __compat_gid32_t; + typedef u32 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u32 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef s16 compat_nlink_t; + typedef u16 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef u32 compat_caddr_t; + typedef __kernel_fsid_t compat_fsid_t; +-typedef s32 compat_key_t; +-typedef s32 compat_timer_t; +- +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 compat_s64; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; + typedef u64 compat_u64; +-typedef u32 compat_uptr_t; + + struct compat_stat { + compat_dev_t st_dev; +--- a/arch/s390/include/asm/compat.h ++++ b/arch/s390/include/asm/compat.h +@@ -9,6 +9,8 @@ + #include + #include + ++#include ++ + #define __TYPE_IS_PTR(t) (!__builtin_types_compatible_p( \ + typeof(0?(__force t)0:0ULL), u64)) + +@@ -51,34 +53,18 @@ + #define COMPAT_USER_HZ 100 + #define COMPAT_UTS_MACHINE "s390\0\0\0\0" + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_pid_t; + typedef u16 __compat_uid_t; + typedef u16 __compat_gid_t; + typedef u32 __compat_uid32_t; + typedef u32 __compat_gid32_t; + typedef u16 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u16 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef u16 compat_nlink_t; + typedef u16 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef u32 compat_caddr_t; + typedef __kernel_fsid_t compat_fsid_t; +-typedef s32 compat_key_t; +-typedef s32 compat_timer_t; +- +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 compat_s64; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; + typedef u64 compat_u64; +-typedef u32 compat_uptr_t; + + typedef struct { + u32 mask; +--- a/arch/sparc/include/asm/compat.h ++++ b/arch/sparc/include/asm/compat.h +@@ -6,38 +6,23 @@ + */ + #include + ++#include ++ + #define COMPAT_USER_HZ 100 + #define COMPAT_UTS_MACHINE "sparc\0\0" + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_pid_t; + typedef u16 __compat_uid_t; + typedef u16 __compat_gid_t; + typedef u32 __compat_uid32_t; + typedef u32 __compat_gid32_t; + typedef u16 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u16 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef s16 compat_nlink_t; + typedef u16 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef u32 compat_caddr_t; + typedef __kernel_fsid_t compat_fsid_t; +-typedef s32 compat_key_t; +-typedef s32 compat_timer_t; +- +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 compat_s64; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; + typedef u64 compat_u64; +-typedef u32 compat_uptr_t; +- + struct compat_stat { + compat_dev_t st_dev; + compat_ino_t st_ino; +--- a/arch/x86/include/asm/compat.h ++++ b/arch/x86/include/asm/compat.h +@@ -12,38 +12,23 @@ + #include + #include + ++#include ++ + #define COMPAT_USER_HZ 100 + #define COMPAT_UTS_MACHINE "i686\0\0" + +-typedef u32 compat_size_t; +-typedef s32 compat_ssize_t; +-typedef s32 compat_clock_t; +-typedef s32 compat_pid_t; + typedef u16 __compat_uid_t; + typedef u16 __compat_gid_t; + typedef u32 __compat_uid32_t; + typedef u32 __compat_gid32_t; + typedef u16 compat_mode_t; +-typedef u32 compat_ino_t; + typedef u16 compat_dev_t; +-typedef s32 compat_off_t; +-typedef s64 compat_loff_t; + typedef u16 compat_nlink_t; + typedef u16 compat_ipc_pid_t; +-typedef s32 compat_daddr_t; + typedef u32 compat_caddr_t; + typedef __kernel_fsid_t compat_fsid_t; +-typedef s32 compat_timer_t; +-typedef s32 compat_key_t; +- +-typedef s32 compat_int_t; +-typedef s32 compat_long_t; + typedef s64 __attribute__((aligned(4))) compat_s64; +-typedef u32 compat_uint_t; +-typedef u32 compat_ulong_t; +-typedef u32 compat_u32; + typedef u64 __attribute__((aligned(4))) compat_u64; +-typedef u32 compat_uptr_t; + + struct compat_stat { + u32 st_dev; +--- a/include/asm-generic/compat.h ++++ b/include/asm-generic/compat.h +@@ -1,3 +1,25 @@ + /* SPDX-License-Identifier: GPL-2.0 */ ++#ifndef __ASM_GENERIC_COMPAT_H ++#define __ASM_GENERIC_COMPAT_H + +-/* This is an empty stub for 32-bit-only architectures */ ++/* These types are common across all compat ABIs */ ++typedef u32 compat_size_t; ++typedef s32 compat_ssize_t; ++typedef s32 compat_clock_t; ++typedef s32 compat_pid_t; ++typedef u32 compat_ino_t; ++typedef s32 compat_off_t; ++typedef s64 compat_loff_t; ++typedef s32 compat_daddr_t; ++typedef s32 compat_timer_t; ++typedef s32 compat_key_t; ++typedef s16 compat_short_t; ++typedef s32 compat_int_t; ++typedef s32 compat_long_t; ++typedef u16 compat_ushort_t; ++typedef u32 compat_uint_t; ++typedef u32 compat_ulong_t; ++typedef u32 compat_uptr_t; ++typedef u32 compat_aio_context_t; ++ ++#endif +--- a/include/linux/compat.h ++++ b/include/linux/compat.h +@@ -113,8 +113,6 @@ typedef struct compat_sigaltstack { + typedef __compat_uid32_t compat_uid_t; + typedef __compat_gid32_t compat_gid_t; + +-typedef compat_ulong_t compat_aio_context_t; +- + struct compat_sel_arg_struct; + struct rusage; + diff --git a/queue-4.19/series b/queue-4.19/series index ad47275d841..3312f1cd61c 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -1,3 +1,4 @@ +asm-generic-move-common-compat-types-to-asm-generic-compat.h.patch media-dvb-as102-fe-fix-as10x_register_addr-packing.patch media-dvb-usb-dib0700_devices-add-missing-release_fi.patch ib-core-implement-a-limit-on-umad-receive-list.patch -- 2.47.3