From 9d95934289facdf7b539a2ae60cbb24a7d5df84c Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 10 Apr 2024 15:16:18 -0400 Subject: [PATCH] kernel: bump 6.6 to 6.6.26 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.26 Manually rebased: generic/hack-6.6/210-darwin_scripts_include.patch Added pending: generic/pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch All other patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, flogic/glinet_gl-mt6000 Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, flogic/glinet_gl-mt6000 Signed-off-by: John Audia --- include/kernel-6.6 | 4 +-- .../generic/hack-6.6/204-module_strip.patch | 12 +++---- .../hack-6.6/210-darwin_scripts_include.patch | 2 +- .../721-net-add-packet-mangeling.patch | 4 +-- ...vert-driver-core-Set-fw_devlink-on-b.patch | 2 +- ...etfilter_match_bypass_default_checks.patch | 2 +- .../pending-6.6/655-increase_skb_pad.patch | 2 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 4 +-- ...les-ignore-EOPNOTSUPP-on-flowtable-d.patch | 2 +- ...equest-assisted-learning-on-CPU-port.patch | 2 +- ...ns-stackleak-Avoid-.head.txt.section.patch | 31 +++++++++++++++++++ ...dsa-add-out-of-band-tagging-protocol.patch | 2 +- 12 files changed, 50 insertions(+), 19 deletions(-) create mode 100644 target/linux/generic/pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 5c67d52577..04a23c4e11 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .25 -LINUX_KERNEL_HASH-6.6.25 = 99d210be87908233a55b0fadc0dccd3b95926c0651b6b82e37350b2029de1f44 +LINUX_VERSION-6.6 = .26 +LINUX_KERNEL_HASH-6.6.26 = af54b449f4fb93b8e8daa346144a7309e8e95174bd962c4b5917cf56120456d9 diff --git a/target/linux/generic/hack-6.6/204-module_strip.patch b/target/linux/generic/hack-6.6/204-module_strip.patch index 32a83ece9f..c4e864c873 100644 --- a/target/linux/generic/hack-6.6/204-module_strip.patch +++ b/target/linux/generic/hack-6.6/204-module_strip.patch @@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau if (err) --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -1745,7 +1745,9 @@ static void read_symbols(const char *mod +@@ -1690,7 +1690,9 @@ static void read_symbols(const char *mod symname = remove_dot(info.strtab + sym->st_name); handle_symbol(mod, &info, sym, symname); @@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau } check_sec_ref(mod, &info); -@@ -1918,8 +1920,10 @@ static void add_header(struct buffer *b, +@@ -1863,8 +1865,10 @@ static void add_header(struct buffer *b, buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "BUILD_LTO_INFO;\n"); buf_printf(b, "\n"); @@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n"); buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n"); -@@ -1933,8 +1937,10 @@ static void add_header(struct buffer *b, +@@ -1878,8 +1882,10 @@ static void add_header(struct buffer *b, buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n"); buf_printf(b, "};\n"); @@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n" -@@ -1942,8 +1948,10 @@ static void add_header(struct buffer *b, +@@ -1887,8 +1893,10 @@ static void add_header(struct buffer *b, "MODULE_INFO(retpoline, \"Y\");\n" "#endif\n"); @@ -184,7 +184,7 @@ Signed-off-by: Felix Fietkau if (strstarts(mod->name, "tools/testing")) buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n"); -@@ -2053,11 +2061,13 @@ static void add_depends(struct buffer *b +@@ -1998,11 +2006,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -198,7 +198,7 @@ Signed-off-by: Felix Fietkau } static void write_buf(struct buffer *b, const char *fname) -@@ -2140,7 +2150,9 @@ static void write_mod_c_file(struct modu +@@ -2085,7 +2095,9 @@ static void write_mod_c_file(struct modu add_exported_symbols(&buf, mod); add_versions(&buf, mod); add_depends(&buf, mod); diff --git a/target/linux/generic/hack-6.6/210-darwin_scripts_include.patch b/target/linux/generic/hack-6.6/210-darwin_scripts_include.patch index c9612536de..b94554ffce 100644 --- a/target/linux/generic/hack-6.6/210-darwin_scripts_include.patch +++ b/target/linux/generic/hack-6.6/210-darwin_scripts_include.patch @@ -3048,6 +3048,6 @@ Signed-off-by: Florian Fainelli +#else +#include "elf.h" +#endif + #include "../../include/linux/module_symbol.h" #include "list.h" - #include "elfconfig.h" diff --git a/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch index 2fd8aef2b5..96e77ea9db 100644 --- a/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch @@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -3075,6 +3075,10 @@ static inline int pskb_trim(struct sk_bu +@@ -3070,6 +3070,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -3240,16 +3244,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -3235,16 +3239,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 2cec82bb01..1c5fb11ff5 100644 --- a/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-6.6/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1642,7 +1642,7 @@ static void device_links_purge(struct de +@@ -1657,7 +1657,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) diff --git a/target/linux/generic/pending-6.6/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-6.6/610-netfilter_match_bypass_default_checks.patch index 67dcf25a0d..0717c4dc1f 100644 --- a/target/linux/generic/pending-6.6/610-netfilter_match_bypass_default_checks.patch +++ b/target/linux/generic/pending-6.6/610-netfilter_match_bypass_default_checks.patch @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau for (i = sizeof(struct ipt_entry); i < e->target_offset; i += m->u.match_size) { -@@ -1221,12 +1258,15 @@ compat_copy_entry_to_user(struct ipt_ent +@@ -1223,12 +1260,15 @@ compat_copy_entry_to_user(struct ipt_ent compat_uint_t origsize; const struct xt_entry_match *ematch; int ret = 0; diff --git a/target/linux/generic/pending-6.6/655-increase_skb_pad.patch b/target/linux/generic/pending-6.6/655-increase_skb_pad.patch index 3e13511e8b..1cdf81afa4 100644 --- a/target/linux/generic/pending-6.6/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-6.6/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -3041,7 +3041,7 @@ static inline int pskb_network_may_pull( +@@ -3036,7 +3036,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index b1f517d17a..0859e217cd 100644 --- a/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau #endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -964,6 +964,7 @@ struct sk_buff { +@@ -959,6 +959,7 @@ struct sk_buff { #ifdef CONFIG_IPV6_NDISC_NODETYPE __u8 ndisc_nodetype:2; #endif @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u8 ipvs_property:1; --- a/net/core/gro.c +++ b/net/core/gro.c -@@ -445,6 +445,9 @@ static enum gro_result dev_gro_receive(s +@@ -446,6 +446,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int same_flow; diff --git a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index c3d92da5f9..e54dcdadbb 100644 --- a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -8221,7 +8221,7 @@ static int nft_register_flowtable_net_ho +@@ -8260,7 +8260,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 332d7e721a..d11e0eda66 100644 --- a/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -6883,6 +6883,7 @@ static int mv88e6xxx_register_switch(str +@@ -6887,6 +6887,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/generic/pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch b/target/linux/generic/pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch new file mode 100644 index 0000000000..74b2fb5b8e --- /dev/null +++ b/target/linux/generic/pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch @@ -0,0 +1,31 @@ +From e7d24c0aa8e678f41457d1304e2091cac6fd1a2e Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel +Date: Thu, 28 Mar 2024 07:42:57 +0100 +Subject: gcc-plugins/stackleak: Avoid .head.text section + +The .head.text section carries the startup code that runs with the MMU +off or with a translation of memory that deviates from the ordinary one. +So avoid instrumentation with the stackleak plugin, which already avoids +.init.text and .noinstr.text entirely. + +Fixes: 48204aba801f1b51 ("x86/sme: Move early SME kernel encryption handling into .head.text") +Reported-by: kernel test robot +Closes: https://lore.kernel.org/oe-lkp/202403221630.2692c998-oliver.sang@intel.com +Signed-off-by: Ard Biesheuvel +Link: https://lore.kernel.org/r/20240328064256.2358634-2-ardb+git@google.com +Signed-off-by: Kees Cook +--- + scripts/gcc-plugins/stackleak_plugin.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/scripts/gcc-plugins/stackleak_plugin.c ++++ b/scripts/gcc-plugins/stackleak_plugin.c +@@ -467,6 +467,8 @@ static bool stackleak_gate(void) + return false; + if (STRING_EQUAL(section, ".entry.text")) + return false; ++ if (STRING_EQUAL(section, ".head.text")) ++ return false; + } + + return track_frame_size >= 0; diff --git a/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch index 9257f916ca..a45c41ea9a 100644 --- a/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch +++ b/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch @@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier +#endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -4637,6 +4637,9 @@ enum skb_ext_id { +@@ -4632,6 +4632,9 @@ enum skb_ext_id { #if IS_ENABLED(CONFIG_MCTP_FLOWS) SKB_EXT_MCTP, #endif -- 2.30.2