From: Sasha Levin Date: Tue, 26 Mar 2024 17:43:05 +0000 (-0400) Subject: Drop riscv-fix-syscall-wrapper-for-word-size-arguments.patch X-Git-Tag: v6.8.2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=65f27158d0736e1317985b9891f047465261bd66;p=thirdparty%2Fkernel%2Fstable-queue.git Drop riscv-fix-syscall-wrapper-for-word-size-arguments.patch Signed-off-by: Sasha Levin --- diff --git a/queue-6.6/riscv-fix-syscall-wrapper-for-word-size-arguments.patch b/queue-6.6/riscv-fix-syscall-wrapper-for-word-size-arguments.patch deleted file mode 100644 index 17ac8bf218f..00000000000 --- a/queue-6.6/riscv-fix-syscall-wrapper-for-word-size-arguments.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 77226802805612a76c6ae12af9317dcf49f96455 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 11 Mar 2024 19:31:44 +0000 -Subject: riscv: Fix syscall wrapper for >word-size arguments - -From: Sami Tolvanen - -[ Upstream commit a9ad73295cc1e3af0253eee7d08943b2419444c4 ] - -The current syscall wrapper macros break 64-bit arguments on -rv32 because they only guarantee the first N input registers are -passed to syscalls that accept N arguments. According to the -calling convention, values twice the word size reside in register -pairs and as a result, syscall arguments don't always have a -direct register mapping on rv32. - -Instead of using `__MAP(x,__SC_LONG,__VA_ARGS__)` to declare the -type of the `__se(_compat)_sys_*` functions on rv32, change the -function declarations to accept `ulong` arguments and alias them -to the actual syscall implementations, similarly to the existing -macros in include/linux/syscalls.h. This matches previous -behavior and ensures registers are passed to syscalls as-is, no -matter which argument types they expect. - -Fixes: 08d0ce30e0e4 ("riscv: Implement syscall wrappers") -Reported-by: Khem Raj -Signed-off-by: Sami Tolvanen -Link: https://lore.kernel.org/r/20240311193143.2981310-2-samitolvanen@google.com -Signed-off-by: Palmer Dabbelt -Signed-off-by: Sasha Levin ---- - arch/riscv/include/asm/syscall_wrapper.h | 53 +++++++++++++++++------- - 1 file changed, 39 insertions(+), 14 deletions(-) - -diff --git a/arch/riscv/include/asm/syscall_wrapper.h b/arch/riscv/include/asm/syscall_wrapper.h -index eeec04b7dae67..980094c2e9761 100644 ---- a/arch/riscv/include/asm/syscall_wrapper.h -+++ b/arch/riscv/include/asm/syscall_wrapper.h -@@ -12,25 +12,51 @@ - - asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *); - --#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -- __MAP(x,__SC_ARGS \ -- ,,regs->orig_a0,,regs->a1,,regs->a2 \ -+#ifdef CONFIG_64BIT -+ -+#define __SYSCALL_SE_DEFINEx(x, prefix, name, ...) \ -+ static long __se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ -+ static long __se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)) -+ -+#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -+ __MAP(x,__SC_ARGS \ -+ ,,regs->orig_a0,,regs->a1,,regs->a2 \ - ,,regs->a3,,regs->a4,,regs->a5,,regs->a6) - -+#else -+/* -+ * Use type aliasing to ensure registers a0-a6 are correctly passed to the syscall -+ * implementation when >word-size arguments are used. -+ */ -+#define __SYSCALL_SE_DEFINEx(x, prefix, name, ...) \ -+ __diag_push(); \ -+ __diag_ignore(GCC, 8, "-Wattribute-alias", \ -+ "Type aliasing is used to sanitize syscall arguments"); \ -+ static long __se_##prefix##name(ulong, ulong, ulong, ulong, ulong, ulong, \ -+ ulong) \ -+ __attribute__((alias(__stringify(___se_##prefix##name)))); \ -+ __diag_pop(); \ -+ static long noinline ___se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ -+ static long ___se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)) -+ -+#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -+ regs->orig_a0,regs->a1,regs->a2,regs->a3,regs->a4,regs->a5,regs->a6 -+ -+#endif /* CONFIG_64BIT */ -+ - #ifdef CONFIG_COMPAT - - #define COMPAT_SYSCALL_DEFINEx(x, name, ...) \ - asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs); \ - ALLOW_ERROR_INJECTION(__riscv_compat_sys##name, ERRNO); \ -- static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ - static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ -- asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs) \ -+ __SYSCALL_SE_DEFINEx(x, compat_sys, name, __VA_ARGS__) \ - { \ -- return __se_compat_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -+ return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ - } \ -- static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ -+ asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs) \ - { \ -- return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ -+ return __se_compat_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ - } \ - static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) - -@@ -51,19 +77,18 @@ asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *); - #define __SYSCALL_DEFINEx(x, name, ...) \ - asmlinkage long __riscv_sys##name(const struct pt_regs *regs); \ - ALLOW_ERROR_INJECTION(__riscv_sys##name, ERRNO); \ -- static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ - static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ -- asmlinkage long __riscv_sys##name(const struct pt_regs *regs) \ -- { \ -- return __se_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -- } \ -- static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ -+ __SYSCALL_SE_DEFINEx(x, sys, name, __VA_ARGS__) \ - { \ - long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \ - __MAP(x,__SC_TEST,__VA_ARGS__); \ - __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ - return ret; \ - } \ -+ asmlinkage long __riscv_sys##name(const struct pt_regs *regs) \ -+ { \ -+ return __se_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -+ } \ - static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) - - #define SYSCALL_DEFINE0(sname) \ --- -2.43.0 - diff --git a/queue-6.6/series b/queue-6.6/series index e13ae9d0f20..7fdb61a28e9 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -614,7 +614,6 @@ octeontx2-pf-wait-till-detach_resources-msg-is-compl.patch octeontx2-pf-use-default-max_active-works-instead-of.patch octeontx2-pf-send-up-messages-to-vf-only-when-vf-is-.patch octeontx2-af-use-separate-handlers-for-interrupts.patch -riscv-fix-syscall-wrapper-for-word-size-arguments.patch netfilter-nft_set_pipapo-release-elements-in-clone-o.patch netfilter-nf_tables-do-not-compare-internal-table-fl.patch rcu-add-a-helper-to-report-consolidated-flavor-qs.patch diff --git a/queue-6.7/riscv-fix-syscall-wrapper-for-word-size-arguments.patch b/queue-6.7/riscv-fix-syscall-wrapper-for-word-size-arguments.patch deleted file mode 100644 index d6e1ba50b12..00000000000 --- a/queue-6.7/riscv-fix-syscall-wrapper-for-word-size-arguments.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 793aeac1c9174dce5a1dc22c8ea70324b497342c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 11 Mar 2024 19:31:44 +0000 -Subject: riscv: Fix syscall wrapper for >word-size arguments - -From: Sami Tolvanen - -[ Upstream commit a9ad73295cc1e3af0253eee7d08943b2419444c4 ] - -The current syscall wrapper macros break 64-bit arguments on -rv32 because they only guarantee the first N input registers are -passed to syscalls that accept N arguments. According to the -calling convention, values twice the word size reside in register -pairs and as a result, syscall arguments don't always have a -direct register mapping on rv32. - -Instead of using `__MAP(x,__SC_LONG,__VA_ARGS__)` to declare the -type of the `__se(_compat)_sys_*` functions on rv32, change the -function declarations to accept `ulong` arguments and alias them -to the actual syscall implementations, similarly to the existing -macros in include/linux/syscalls.h. This matches previous -behavior and ensures registers are passed to syscalls as-is, no -matter which argument types they expect. - -Fixes: 08d0ce30e0e4 ("riscv: Implement syscall wrappers") -Reported-by: Khem Raj -Signed-off-by: Sami Tolvanen -Link: https://lore.kernel.org/r/20240311193143.2981310-2-samitolvanen@google.com -Signed-off-by: Palmer Dabbelt -Signed-off-by: Sasha Levin ---- - arch/riscv/include/asm/syscall_wrapper.h | 53 +++++++++++++++++------- - 1 file changed, 39 insertions(+), 14 deletions(-) - -diff --git a/arch/riscv/include/asm/syscall_wrapper.h b/arch/riscv/include/asm/syscall_wrapper.h -index eeec04b7dae67..980094c2e9761 100644 ---- a/arch/riscv/include/asm/syscall_wrapper.h -+++ b/arch/riscv/include/asm/syscall_wrapper.h -@@ -12,25 +12,51 @@ - - asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *); - --#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -- __MAP(x,__SC_ARGS \ -- ,,regs->orig_a0,,regs->a1,,regs->a2 \ -+#ifdef CONFIG_64BIT -+ -+#define __SYSCALL_SE_DEFINEx(x, prefix, name, ...) \ -+ static long __se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ -+ static long __se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)) -+ -+#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -+ __MAP(x,__SC_ARGS \ -+ ,,regs->orig_a0,,regs->a1,,regs->a2 \ - ,,regs->a3,,regs->a4,,regs->a5,,regs->a6) - -+#else -+/* -+ * Use type aliasing to ensure registers a0-a6 are correctly passed to the syscall -+ * implementation when >word-size arguments are used. -+ */ -+#define __SYSCALL_SE_DEFINEx(x, prefix, name, ...) \ -+ __diag_push(); \ -+ __diag_ignore(GCC, 8, "-Wattribute-alias", \ -+ "Type aliasing is used to sanitize syscall arguments"); \ -+ static long __se_##prefix##name(ulong, ulong, ulong, ulong, ulong, ulong, \ -+ ulong) \ -+ __attribute__((alias(__stringify(___se_##prefix##name)))); \ -+ __diag_pop(); \ -+ static long noinline ___se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ -+ static long ___se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)) -+ -+#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -+ regs->orig_a0,regs->a1,regs->a2,regs->a3,regs->a4,regs->a5,regs->a6 -+ -+#endif /* CONFIG_64BIT */ -+ - #ifdef CONFIG_COMPAT - - #define COMPAT_SYSCALL_DEFINEx(x, name, ...) \ - asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs); \ - ALLOW_ERROR_INJECTION(__riscv_compat_sys##name, ERRNO); \ -- static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ - static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ -- asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs) \ -+ __SYSCALL_SE_DEFINEx(x, compat_sys, name, __VA_ARGS__) \ - { \ -- return __se_compat_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -+ return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ - } \ -- static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ -+ asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs) \ - { \ -- return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ -+ return __se_compat_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ - } \ - static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) - -@@ -51,19 +77,18 @@ asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *); - #define __SYSCALL_DEFINEx(x, name, ...) \ - asmlinkage long __riscv_sys##name(const struct pt_regs *regs); \ - ALLOW_ERROR_INJECTION(__riscv_sys##name, ERRNO); \ -- static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ - static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ -- asmlinkage long __riscv_sys##name(const struct pt_regs *regs) \ -- { \ -- return __se_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -- } \ -- static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ -+ __SYSCALL_SE_DEFINEx(x, sys, name, __VA_ARGS__) \ - { \ - long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \ - __MAP(x,__SC_TEST,__VA_ARGS__); \ - __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ - return ret; \ - } \ -+ asmlinkage long __riscv_sys##name(const struct pt_regs *regs) \ -+ { \ -+ return __se_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -+ } \ - static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) - - #define SYSCALL_DEFINE0(sname) \ --- -2.43.0 - diff --git a/queue-6.7/series b/queue-6.7/series index 41fc3c36a7e..c2f9648f595 100644 --- a/queue-6.7/series +++ b/queue-6.7/series @@ -689,7 +689,6 @@ octeontx2-af-use-separate-handlers-for-interrupts.patch drm-amdgpu-add-mmhub-3.3.1-support.patch drm-amdgpu-fix-mmhub-client-id-out-of-bounds-access.patch drm-amdgpu-drop-setting-buffer-funcs-in-sdma442.patch -riscv-fix-syscall-wrapper-for-word-size-arguments.patch netfilter-nft_set_pipapo-release-elements-in-clone-o.patch netfilter-nf_tables-do-not-compare-internal-table-fl.patch rcu-add-a-helper-to-report-consolidated-flavor-qs.patch diff --git a/queue-6.8/riscv-fix-syscall-wrapper-for-word-size-arguments.patch b/queue-6.8/riscv-fix-syscall-wrapper-for-word-size-arguments.patch deleted file mode 100644 index 250ff67fa97..00000000000 --- a/queue-6.8/riscv-fix-syscall-wrapper-for-word-size-arguments.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 487a52897695dce2cc12246194505182cb2e51ed Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 11 Mar 2024 19:31:44 +0000 -Subject: riscv: Fix syscall wrapper for >word-size arguments - -From: Sami Tolvanen - -[ Upstream commit a9ad73295cc1e3af0253eee7d08943b2419444c4 ] - -The current syscall wrapper macros break 64-bit arguments on -rv32 because they only guarantee the first N input registers are -passed to syscalls that accept N arguments. According to the -calling convention, values twice the word size reside in register -pairs and as a result, syscall arguments don't always have a -direct register mapping on rv32. - -Instead of using `__MAP(x,__SC_LONG,__VA_ARGS__)` to declare the -type of the `__se(_compat)_sys_*` functions on rv32, change the -function declarations to accept `ulong` arguments and alias them -to the actual syscall implementations, similarly to the existing -macros in include/linux/syscalls.h. This matches previous -behavior and ensures registers are passed to syscalls as-is, no -matter which argument types they expect. - -Fixes: 08d0ce30e0e4 ("riscv: Implement syscall wrappers") -Reported-by: Khem Raj -Signed-off-by: Sami Tolvanen -Link: https://lore.kernel.org/r/20240311193143.2981310-2-samitolvanen@google.com -Signed-off-by: Palmer Dabbelt -Signed-off-by: Sasha Levin ---- - arch/riscv/include/asm/syscall_wrapper.h | 53 +++++++++++++++++------- - 1 file changed, 39 insertions(+), 14 deletions(-) - -diff --git a/arch/riscv/include/asm/syscall_wrapper.h b/arch/riscv/include/asm/syscall_wrapper.h -index eeec04b7dae67..980094c2e9761 100644 ---- a/arch/riscv/include/asm/syscall_wrapper.h -+++ b/arch/riscv/include/asm/syscall_wrapper.h -@@ -12,25 +12,51 @@ - - asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *); - --#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -- __MAP(x,__SC_ARGS \ -- ,,regs->orig_a0,,regs->a1,,regs->a2 \ -+#ifdef CONFIG_64BIT -+ -+#define __SYSCALL_SE_DEFINEx(x, prefix, name, ...) \ -+ static long __se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ -+ static long __se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)) -+ -+#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -+ __MAP(x,__SC_ARGS \ -+ ,,regs->orig_a0,,regs->a1,,regs->a2 \ - ,,regs->a3,,regs->a4,,regs->a5,,regs->a6) - -+#else -+/* -+ * Use type aliasing to ensure registers a0-a6 are correctly passed to the syscall -+ * implementation when >word-size arguments are used. -+ */ -+#define __SYSCALL_SE_DEFINEx(x, prefix, name, ...) \ -+ __diag_push(); \ -+ __diag_ignore(GCC, 8, "-Wattribute-alias", \ -+ "Type aliasing is used to sanitize syscall arguments"); \ -+ static long __se_##prefix##name(ulong, ulong, ulong, ulong, ulong, ulong, \ -+ ulong) \ -+ __attribute__((alias(__stringify(___se_##prefix##name)))); \ -+ __diag_pop(); \ -+ static long noinline ___se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ -+ static long ___se_##prefix##name(__MAP(x,__SC_LONG,__VA_ARGS__)) -+ -+#define SC_RISCV_REGS_TO_ARGS(x, ...) \ -+ regs->orig_a0,regs->a1,regs->a2,regs->a3,regs->a4,regs->a5,regs->a6 -+ -+#endif /* CONFIG_64BIT */ -+ - #ifdef CONFIG_COMPAT - - #define COMPAT_SYSCALL_DEFINEx(x, name, ...) \ - asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs); \ - ALLOW_ERROR_INJECTION(__riscv_compat_sys##name, ERRNO); \ -- static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ - static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ -- asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs) \ -+ __SYSCALL_SE_DEFINEx(x, compat_sys, name, __VA_ARGS__) \ - { \ -- return __se_compat_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -+ return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ - } \ -- static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ -+ asmlinkage long __riscv_compat_sys##name(const struct pt_regs *regs) \ - { \ -- return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ -+ return __se_compat_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ - } \ - static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) - -@@ -51,19 +77,18 @@ asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *); - #define __SYSCALL_DEFINEx(x, name, ...) \ - asmlinkage long __riscv_sys##name(const struct pt_regs *regs); \ - ALLOW_ERROR_INJECTION(__riscv_sys##name, ERRNO); \ -- static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ - static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \ -- asmlinkage long __riscv_sys##name(const struct pt_regs *regs) \ -- { \ -- return __se_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -- } \ -- static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ -+ __SYSCALL_SE_DEFINEx(x, sys, name, __VA_ARGS__) \ - { \ - long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \ - __MAP(x,__SC_TEST,__VA_ARGS__); \ - __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ - return ret; \ - } \ -+ asmlinkage long __riscv_sys##name(const struct pt_regs *regs) \ -+ { \ -+ return __se_sys##name(SC_RISCV_REGS_TO_ARGS(x,__VA_ARGS__)); \ -+ } \ - static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) - - #define SYSCALL_DEFINE0(sname) \ --- -2.43.0 - diff --git a/queue-6.8/series b/queue-6.8/series index c5278956998..71cf8611506 100644 --- a/queue-6.8/series +++ b/queue-6.8/series @@ -689,7 +689,6 @@ octeontx2-af-use-separate-handlers-for-interrupts.patch drm-amdgpu-add-mmhub-3.3.1-support.patch drm-amdgpu-fix-mmhub-client-id-out-of-bounds-access.patch drm-amdgpu-drop-setting-buffer-funcs-in-sdma442.patch -riscv-fix-syscall-wrapper-for-word-size-arguments.patch netfilter-nft_set_pipapo-release-elements-in-clone-o.patch netfilter-nf_tables-do-not-compare-internal-table-fl.patch rcu-add-a-helper-to-report-consolidated-flavor-qs.patch