From e7c6742dc160886f3ae525d29115fdba2b07adb2 Mon Sep 17 00:00:00 2001 From: Mieczyslaw Nalewaj Date: Mon, 9 Dec 2024 21:33:01 +0100 Subject: [PATCH] generic: 6.12: manually rebuilding hack patches Manually rebuilding hack patches: - 204-module_strip.patch - 210-darwin_scripts_include.patch - 251-kconfig.patch - 421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch - 725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch - 760-net-usb-r8152-add-LED-configuration-from-OF.patch - 800-GPIO-add-named-gpio-exports.patch - 901-debloat_sock_diag.patch - 902-debloat_proc.patch - 910-kobject_uevent.patch - 911-kobject_add_broadcast_uevent.patch - 930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch All other patches automatically rebased. Signed-off-by: Mieczyslaw Nalewaj --- .../generic/hack-6.12/204-module_strip.patch | 55 ++++--------------- ...-abort-configuration-on-unset-symbol.patch | 4 +- .../210-darwin_scripts_include.patch | 4 +- .../hack-6.12/230-openwrt_lzma_options.patch | 2 +- .../linux/generic/hack-6.12/251-kconfig.patch | 14 ++--- .../generic/hack-6.12/253-ksmbd-config.patch | 4 +- .../hack-6.12/259-regmap_dynamic.patch | 2 +- .../260-crypto_test_dependencies.patch | 4 +- .../hack-6.12/261-lib-arc4-unhide.patch | 2 +- .../generic/hack-6.12/280-rfkill-stubs.patch | 2 +- ...cache-use-more-efficient-cache-blast.patch | 2 +- ...rans-call-add-disks-after-mtd-device.patch | 8 +-- ...upport-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch | 2 +- ...ers-add-nvmem-support-to-cmdlinepart.patch | 10 ++-- ...0-net-enable-fraglist-GRO-by-default.patch | 2 +- ...-netfilter-add-xt_FLOWOFFLOAD-target.patch | 8 +-- .../hack-6.12/651-wireless_mesh_header.patch | 2 +- .../hack-6.12/660-fq_codel_defaults.patch | 2 +- ...t-size-the-hashtable-more-adequately.patch | 2 +- .../700-swconfig_switch_drivers.patch | 4 +- ...-dsa-mv88e6xxx-disable-ATU-violation.patch | 2 +- ...hy-aquantia-enable-AQR112-and-AQR412.patch | 8 +-- ...aquantia-fix-system-side-protocol-mi.patch | 2 +- ...ntia-add-PHY_IDs-for-AQR112-variants.patch | 10 ++-- ...-r8152-add-LED-configuration-from-OF.patch | 12 ++-- .../765-mxl-gpy-control-LED-reg-from-DT.patch | 2 +- ...k-ge-add-LED-configuration-interface.patch | 4 +- .../780-usb-net-MeigLink_modem_support.patch | 4 +- .../800-GPIO-add-named-gpio-exports.patch | 24 ++++---- .../hack-6.12/901-debloat_sock_diag.patch | 14 ++--- .../generic/hack-6.12/902-debloat_proc.patch | 40 +++++++------- .../hack-6.12/904-debloat_dma_buf.patch | 4 +- .../hack-6.12/910-kobject_uevent.patch | 13 ++++- .../911-kobject_add_broadcast_uevent.patch | 8 +-- .../hack-6.12/920-device_tree_cmdline.patch | 2 +- ...vert-driver-core-Set-fw_devlink-on-b.patch | 4 +- 36 files changed, 132 insertions(+), 156 deletions(-) diff --git a/target/linux/generic/hack-6.12/204-module_strip.patch b/target/linux/generic/hack-6.12/204-module_strip.patch index 9eadd2ce16..9a070f5ddd 100644 --- a/target/linux/generic/hack-6.12/204-module_strip.patch +++ b/target/linux/generic/hack-6.12/204-module_strip.patch @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau /* For userspace: you can also call me... */ #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias) -@@ -233,12 +234,12 @@ extern void cleanup_module(void); +@@ -239,12 +240,12 @@ extern void cleanup_module(void); * Author(s), use "Name " or just "Name", for multiple * authors use multiple MODULE_AUTHOR() statements/lines. */ @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* Creates an alias so file2alias.c can find device table. */ #define MODULE_DEVICE_TABLE(type, name) \ extern typeof(name) __mod_##type##__##name##_device_table \ -@@ -265,7 +266,9 @@ extern typeof(name) __mod_##type##__##na +@@ -271,7 +272,9 @@ extern typeof(name) __mod_##type##__##na */ #if defined(MODULE) || !defined(CONFIG_SYSFS) @@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau #else #define MODULE_VERSION(_version) \ MODULE_INFO(version, _version); \ -@@ -288,7 +291,7 @@ extern typeof(name) __mod_##type##__##na +@@ -294,7 +297,7 @@ extern typeof(name) __mod_##type##__##na /* Optional firmware file (or files) needed by the module * format is simply firmware file name. Multiple firmware * files require multiple MODULE_FIRMWARE() specifiers */ @@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau --- a/kernel/module/Kconfig +++ b/kernel/module/Kconfig -@@ -389,4 +389,11 @@ config MODULES_TREE_LOOKUP +@@ -401,4 +401,11 @@ config MODULES_TREE_LOOKUP def_bool y depends on PERF_EVENTS || TRACING || CFI_CLANG @@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau endif # MODULES --- a/kernel/module/main.c +++ b/kernel/module/main.c -@@ -997,6 +997,7 @@ size_t modinfo_attrs_count = ARRAY_SIZE( +@@ -999,6 +999,7 @@ size_t modinfo_attrs_count = ARRAY_SIZE( static const char vermagic[] = VERMAGIC_STRING; @@ -110,7 +110,7 @@ Signed-off-by: Felix Fietkau int try_to_force_load(struct module *mod, const char *reason) { #ifdef CONFIG_MODULE_FORCE_LOAD -@@ -1008,6 +1009,7 @@ int try_to_force_load(struct module *mod +@@ -1010,6 +1011,7 @@ int try_to_force_load(struct module *mod return -ENOEXEC; #endif } @@ -118,7 +118,7 @@ Signed-off-by: Felix Fietkau /* Parse tag=value strings from .modinfo section */ char *module_next_tag_pair(char *string, unsigned long *secsize) -@@ -2075,9 +2077,11 @@ static void module_augment_kernel_taints +@@ -2093,9 +2095,11 @@ static void module_augment_kernel_taints static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -131,7 +131,7 @@ Signed-off-by: Felix Fietkau if (flags & MODULE_INIT_IGNORE_VERMAGIC) modmagic = NULL; -@@ -2091,6 +2095,7 @@ static int check_modinfo(struct module * +@@ -2109,6 +2113,7 @@ static int check_modinfo(struct module * info->name, modmagic, vermagic); return -ENOEXEC; } @@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau if (err) --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -1666,7 +1666,9 @@ static void read_symbols(const char *mod +@@ -1601,7 +1601,9 @@ static void read_symbols(const char *mod symname = remove_dot(info.strtab + sym->st_name); handle_symbol(mod, &info, sym, symname); @@ -151,40 +151,7 @@ Signed-off-by: Felix Fietkau } check_sec_ref(mod, &info); -@@ -1839,8 +1841,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"); -+#ifndef CONFIG_MODULE_STRIPPED - buf_printf(b, "MODULE_INFO(vermagic, VERMAGIC_STRING);\n"); - buf_printf(b, "MODULE_INFO(name, KBUILD_MODNAME);\n"); -+#endif - buf_printf(b, "\n"); - buf_printf(b, "__visible struct module __this_module\n"); - buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n"); -@@ -1854,8 +1858,10 @@ static void add_header(struct buffer *b, - buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n"); - buf_printf(b, "};\n"); - -+#ifndef CONFIG_MODULE_STRIPPED - if (!external_module) - buf_printf(b, "\nMODULE_INFO(intree, \"Y\");\n"); -+#endif - - buf_printf(b, - "\n" -@@ -1863,8 +1869,10 @@ static void add_header(struct buffer *b, - "MODULE_INFO(retpoline, \"Y\");\n" - "#endif\n"); - -+#ifndef CONFIG_MODULE_STRIPPED - if (strstarts(mod->name, "drivers/staging")) - buf_printf(b, "\nMODULE_INFO(staging, \"Y\");\n"); -+#endif - - if (strstarts(mod->name, "tools/testing")) - buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n"); -@@ -1974,11 +1982,13 @@ static void add_depends(struct buffer *b +@@ -1886,11 +1888,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -198,7 +165,7 @@ Signed-off-by: Felix Fietkau } static void write_buf(struct buffer *b, const char *fname) -@@ -2061,7 +2071,9 @@ static void write_mod_c_file(struct modu +@@ -1973,7 +1977,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.12/205-kconfig-abort-configuration-on-unset-symbol.patch b/target/linux/generic/hack-6.12/205-kconfig-abort-configuration-on-unset-symbol.patch index df18507041..d7416d81a9 100644 --- a/target/linux/generic/hack-6.12/205-kconfig-abort-configuration-on-unset-symbol.patch +++ b/target/linux/generic/hack-6.12/205-kconfig-abort-configuration-on-unset-symbol.patch @@ -19,7 +19,7 @@ Signed-off-by: David Bauer --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c -@@ -338,6 +338,9 @@ static int conf_askvalue(struct symbol * +@@ -312,6 +312,9 @@ static int conf_askvalue(struct symbol * } /* fall through */ default: @@ -29,7 +29,7 @@ Signed-off-by: David Bauer fflush(stdout); xfgets(line, sizeof(line), stdin); break; -@@ -520,6 +523,9 @@ static int conf_choice(struct menu *menu +@@ -470,6 +473,9 @@ static void conf_choice(struct menu *men } /* fall through */ case oldaskconfig: diff --git a/target/linux/generic/hack-6.12/210-darwin_scripts_include.patch b/target/linux/generic/hack-6.12/210-darwin_scripts_include.patch index b94554ffce..be59ca4fc9 100644 --- a/target/linux/generic/hack-6.12/210-darwin_scripts_include.patch +++ b/target/linux/generic/hack-6.12/210-darwin_scripts_include.patch @@ -3039,7 +3039,7 @@ Signed-off-by: Florian Fainelli main(int argc, char **argv) --- a/scripts/mod/modpost.h +++ b/scripts/mod/modpost.h -@@ -9,7 +9,11 @@ +@@ -10,7 +10,11 @@ #include #include #include @@ -3050,4 +3050,4 @@ Signed-off-by: Florian Fainelli +#endif #include "../../include/linux/module_symbol.h" - #include "list.h" + #include diff --git a/target/linux/generic/hack-6.12/230-openwrt_lzma_options.patch b/target/linux/generic/hack-6.12/230-openwrt_lzma_options.patch index ca70da7e31..20f2b29bf1 100644 --- a/target/linux/generic/hack-6.12/230-openwrt_lzma_options.patch +++ b/target/linux/generic/hack-6.12/230-openwrt_lzma_options.patch @@ -23,7 +23,7 @@ Signed-off-by: Imre Kaloz { {0x02, 0x21}, "lz4", unlz4 }, --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib -@@ -460,10 +460,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@ +@@ -359,10 +359,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@ # --------------------------------------------------------------------------- quiet_cmd_lzma = LZMA $@ diff --git a/target/linux/generic/hack-6.12/251-kconfig.patch b/target/linux/generic/hack-6.12/251-kconfig.patch index 845cfbfcc8..dd73e79453 100644 --- a/target/linux/generic/hack-6.12/251-kconfig.patch +++ b/target/linux/generic/hack-6.12/251-kconfig.patch @@ -42,8 +42,8 @@ Signed-off-by: John Crispin + tristate "SKCIPHER" select CRYPTO_SKCIPHER2 select CRYPTO_ALGAPI - -@@ -91,7 +91,7 @@ config CRYPTO_SKCIPHER2 + select CRYPTO_ECB +@@ -92,7 +92,7 @@ config CRYPTO_SKCIPHER2 select CRYPTO_ALGAPI2 config CRYPTO_HASH @@ -52,7 +52,7 @@ Signed-off-by: John Crispin select CRYPTO_HASH2 select CRYPTO_ALGAPI -@@ -100,7 +100,7 @@ config CRYPTO_HASH2 +@@ -101,7 +101,7 @@ config CRYPTO_HASH2 select CRYPTO_ALGAPI2 config CRYPTO_RNG @@ -92,7 +92,7 @@ Signed-off-by: John Crispin bool --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -460,16 +460,16 @@ config BCH_CONST_T +@@ -457,16 +457,16 @@ config BCH_CONST_T # Textsearch support is select'ed if needed # config TEXTSEARCH @@ -135,8 +135,8 @@ Signed-off-by: John Crispin config SND_SEQ_DEVICE tristate -@@ -40,7 +40,7 @@ config SND_UMP_LEGACY_RAWMIDI - The device contains 16 substreams corresponding to UMP groups. +@@ -57,7 +57,7 @@ config SND_CORE_TEST + config SND_COMPRESS_OFFLOAD - tristate @@ -146,7 +146,7 @@ Signed-off-by: John Crispin bool --- a/net/Kconfig +++ b/net/Kconfig -@@ -467,7 +467,7 @@ config NET_DEVLINK +@@ -484,7 +484,7 @@ config NET_DEVLINK default n config PAGE_POOL diff --git a/target/linux/generic/hack-6.12/253-ksmbd-config.patch b/target/linux/generic/hack-6.12/253-ksmbd-config.patch index d54b48895e..30fe9b4374 100644 --- a/target/linux/generic/hack-6.12/253-ksmbd-config.patch +++ b/target/linux/generic/hack-6.12/253-ksmbd-config.patch @@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string --- a/init/Kconfig +++ b/init/Kconfig -@@ -2002,7 +2002,7 @@ config PADATA +@@ -2054,7 +2054,7 @@ config PADATA bool config ASN1 @@ -21,7 +21,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string that can be interpreted by the ASN.1 stream decoder and used to --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -641,7 +641,7 @@ config LIBFDT +@@ -642,7 +642,7 @@ config LIBFDT bool config OID_REGISTRY diff --git a/target/linux/generic/hack-6.12/259-regmap_dynamic.patch b/target/linux/generic/hack-6.12/259-regmap_dynamic.patch index cb93c96da6..e7614d6822 100644 --- a/target/linux/generic/hack-6.12/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-6.12/259-regmap_dynamic.patch @@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3470,3 +3471,5 @@ static int __init regmap_initcall(void) +@@ -3519,3 +3520,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-6.12/260-crypto_test_dependencies.patch b/target/linux/generic/hack-6.12/260-crypto_test_dependencies.patch index 6221d0f868..ce900a87ea 100644 --- a/target/linux/generic/hack-6.12/260-crypto_test_dependencies.patch +++ b/target/linux/generic/hack-6.12/260-crypto_test_dependencies.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -148,15 +148,15 @@ config CRYPTO_MANAGER +@@ -149,15 +149,15 @@ config CRYPTO_MANAGER cbc(aes). config CRYPTO_MANAGER2 @@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau tristate "Userspace cryptographic algorithm configuration" --- a/crypto/algboss.c +++ b/crypto/algboss.c -@@ -204,6 +204,10 @@ static int cryptomgr_schedule_test(struc +@@ -203,6 +203,10 @@ static int cryptomgr_schedule_test(struc memcpy(param->alg, alg->cra_name, sizeof(param->alg)); param->type = alg->cra_flags; diff --git a/target/linux/generic/hack-6.12/261-lib-arc4-unhide.patch b/target/linux/generic/hack-6.12/261-lib-arc4-unhide.patch index af1d286208..f1e1ad4c40 100644 --- a/target/linux/generic/hack-6.12/261-lib-arc4-unhide.patch +++ b/target/linux/generic/hack-6.12/261-lib-arc4-unhide.patch @@ -13,7 +13,7 @@ from backports. --- a/lib/crypto/Kconfig +++ b/lib/crypto/Kconfig -@@ -15,7 +15,7 @@ config CRYPTO_LIB_AESGCM +@@ -20,7 +20,7 @@ config CRYPTO_LIB_AESGCM select CRYPTO_LIB_UTILS config CRYPTO_LIB_ARC4 diff --git a/target/linux/generic/hack-6.12/280-rfkill-stubs.patch b/target/linux/generic/hack-6.12/280-rfkill-stubs.patch index 7a650d132e..ff6638f7a0 100644 --- a/target/linux/generic/hack-6.12/280-rfkill-stubs.patch +++ b/target/linux/generic/hack-6.12/280-rfkill-stubs.patch @@ -26,7 +26,7 @@ Signed-off-by: John Crispin * @name: name of the struct -- the string is not copied internally --- a/net/Makefile +++ b/net/Makefile -@@ -52,7 +52,7 @@ obj-$(CONFIG_TIPC) += tipc/ +@@ -51,7 +51,7 @@ obj-$(CONFIG_TIPC) += tipc/ obj-$(CONFIG_NETLABEL) += netlabel/ obj-$(CONFIG_IUCV) += iucv/ obj-$(CONFIG_SMC) += smc/ diff --git a/target/linux/generic/hack-6.12/300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch b/target/linux/generic/hack-6.12/300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch index f21f200136..6ee98ebfa2 100644 --- a/target/linux/generic/hack-6.12/300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch +++ b/target/linux/generic/hack-6.12/300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- --- a/arch/mips/include/asm/r4kcache.h +++ b/arch/mips/include/asm/r4kcache.h -@@ -286,14 +286,46 @@ static inline void prot##extra##blast_## +@@ -290,14 +290,46 @@ static inline void prot##extra##blast_## unsigned long end) \ { \ unsigned long lsize = cpu_##desc##_line_size(); \ diff --git a/target/linux/generic/hack-6.12/402-mtd-blktrans-call-add-disks-after-mtd-device.patch b/target/linux/generic/hack-6.12/402-mtd-blktrans-call-add-disks-after-mtd-device.patch index 24b7963cbf..5ccb6bc7d8 100644 --- a/target/linux/generic/hack-6.12/402-mtd-blktrans-call-add-disks-after-mtd-device.patch +++ b/target/linux/generic/hack-6.12/402-mtd-blktrans-call-add-disks-after-mtd-device.patch @@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c -@@ -386,19 +386,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt +@@ -379,19 +379,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt if (new->readonly) set_disk_ro(gd, 1); @@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle out_free_tag_set: blk_mq_free_tag_set(new->tag_set); out_kfree_tag_set: -@@ -408,6 +397,35 @@ out_list_del: +@@ -401,6 +390,35 @@ out_list_del: return ret; } @@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle unsigned long flags; --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -33,6 +33,7 @@ +@@ -34,6 +34,7 @@ #include #include @@ -91,7 +91,7 @@ Signed-off-by: Daniel Golle #include "mtdcore.h" -@@ -1127,6 +1128,8 @@ int mtd_device_parse_register(struct mtd +@@ -1132,6 +1133,8 @@ int mtd_device_parse_register(struct mtd register_reboot_notifier(&mtd->reboot_notifier); } diff --git a/target/linux/generic/hack-6.12/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch b/target/linux/generic/hack-6.12/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch index c32d8ec184..5296541800 100644 --- a/target/linux/generic/hack-6.12/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch +++ b/target/linux/generic/hack-6.12/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch @@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -801,7 +801,8 @@ int add_mtd_device(struct mtd_info *mtd) +@@ -803,7 +803,8 @@ int add_mtd_device(struct mtd_info *mtd) mutex_unlock(&mtd_table_mutex); diff --git a/target/linux/generic/hack-6.12/421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch b/target/linux/generic/hack-6.12/421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch index 965a331a19..190fecc1a0 100644 --- a/target/linux/generic/hack-6.12/421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch +++ b/target/linux/generic/hack-6.12/421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch @@ -25,9 +25,9 @@ Signed-off-by: Ansuel Smith #include +#include - /* debug macro */ - #if 0 -@@ -323,6 +324,68 @@ static int mtdpart_setup_real(char *s) + /* special size referring to all the remaining space in a partition */ + #define SIZE_REMAINING ULLONG_MAX +@@ -315,6 +316,68 @@ static int mtdpart_setup_real(char *s) return 0; } @@ -96,7 +96,7 @@ Signed-off-by: Ansuel Smith /* * Main function to be called from the MTD mapping driver/device to * obtain the partitioning information. At this point the command line -@@ -338,6 +401,7 @@ static int parse_cmdline_partitions(stru +@@ -330,6 +393,7 @@ static int parse_cmdline_partitions(stru int i, err; struct cmdline_mtd_partition *part; const char *mtd_id = master->name; @@ -104,7 +104,7 @@ Signed-off-by: Ansuel Smith /* parse command line */ if (!cmdline_parsed) { -@@ -382,6 +446,13 @@ static int parse_cmdline_partitions(stru +@@ -374,6 +438,13 @@ static int parse_cmdline_partitions(stru sizeof(*part->parts) * (part->num_parts - i)); i--; } diff --git a/target/linux/generic/hack-6.12/600-net-enable-fraglist-GRO-by-default.patch b/target/linux/generic/hack-6.12/600-net-enable-fraglist-GRO-by-default.patch index 9633525bc4..feed2cd2e0 100644 --- a/target/linux/generic/hack-6.12/600-net-enable-fraglist-GRO-by-default.patch +++ b/target/linux/generic/hack-6.12/600-net-enable-fraglist-GRO-by-default.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdev_features.h +++ b/include/linux/netdev_features.h -@@ -243,10 +243,10 @@ static inline int find_next_netdev_featu +@@ -235,10 +235,10 @@ static inline int find_next_netdev_featu #define NETIF_F_UPPER_DISABLES NETIF_F_LRO /* changeable features with no special hardware requirements */ diff --git a/target/linux/generic/hack-6.12/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-6.12/650-netfilter-add-xt_FLOWOFFLOAD-target.patch index eca611da7e..53093daa36 100644 --- a/target/linux/generic/hack-6.12/650-netfilter-add-xt_FLOWOFFLOAD-target.patch +++ b/target/linux/generic/hack-6.12/650-netfilter-add-xt_FLOWOFFLOAD-target.patch @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -163,6 +163,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF +@@ -168,6 +168,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o @@ -758,7 +758,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -377,8 +376,7 @@ flow_offload_lookup(struct nf_flowtable +@@ -373,8 +372,7 @@ flow_offload_lookup(struct nf_flowtable } EXPORT_SYMBOL_GPL(flow_offload_lookup); @@ -768,7 +768,7 @@ Signed-off-by: Felix Fietkau void (*iter)(struct nf_flowtable *flowtable, struct flow_offload *flow, void *data), void *data) -@@ -439,6 +437,7 @@ static void nf_flow_offload_gc_step(stru +@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru nf_flow_offload_stats(flow_table, flow); } } @@ -798,7 +798,7 @@ Signed-off-by: Felix Fietkau +#endif /* _XT_FLOWOFFLOAD_H */ --- a/include/net/netfilter/nf_flow_table.h +++ b/include/net/netfilter/nf_flow_table.h -@@ -293,6 +293,11 @@ void nf_flow_table_free(struct nf_flowta +@@ -294,6 +294,11 @@ void nf_flow_table_free(struct nf_flowta void flow_offload_teardown(struct flow_offload *flow); diff --git a/target/linux/generic/hack-6.12/651-wireless_mesh_header.patch b/target/linux/generic/hack-6.12/651-wireless_mesh_header.patch index 3a2a9970bd..d3f85ea1d1 100644 --- a/target/linux/generic/hack-6.12/651-wireless_mesh_header.patch +++ b/target/linux/generic/hack-6.12/651-wireless_mesh_header.patch @@ -11,7 +11,7 @@ Signed-off-by: Imre Kaloz --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -157,8 +157,8 @@ static inline bool dev_xmit_complete(int +@@ -159,8 +159,8 @@ static inline bool dev_xmit_complete(int #if defined(CONFIG_HYPERV_NET) # define LL_MAX_HEADER 128 diff --git a/target/linux/generic/hack-6.12/660-fq_codel_defaults.patch b/target/linux/generic/hack-6.12/660-fq_codel_defaults.patch index b923a2d206..c48d72a422 100644 --- a/target/linux/generic/hack-6.12/660-fq_codel_defaults.patch +++ b/target/linux/generic/hack-6.12/660-fq_codel_defaults.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c -@@ -471,7 +471,11 @@ static int fq_codel_init(struct Qdisc *s +@@ -480,7 +480,11 @@ static int fq_codel_init(struct Qdisc *s sch->limit = 10*1024; q->flows_cnt = 1024; diff --git a/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch index 020f3f3a11..e06e5850fb 100644 --- a/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2682,7 +2682,7 @@ int nf_conntrack_init_start(void) +@@ -2631,7 +2631,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/hack-6.12/700-swconfig_switch_drivers.patch b/target/linux/generic/hack-6.12/700-swconfig_switch_drivers.patch index 4428ebbb5a..4591a42f78 100644 --- a/target/linux/generic/hack-6.12/700-swconfig_switch_drivers.patch +++ b/target/linux/generic/hack-6.12/700-swconfig_switch_drivers.patch @@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -66,6 +66,80 @@ config SFP +@@ -77,6 +77,80 @@ config SFP depends on HWMON || HWMON=n select MDIO_I2C @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau config AIR_EN8811H_PHY --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -26,6 +26,21 @@ libphy-$(CONFIG_LED_TRIGGER_PHY) += phy_ +@@ -27,6 +27,21 @@ libphy-$(CONFIG_OPEN_ALLIANCE_HELPERS) + obj-$(CONFIG_PHYLINK) += phylink.o obj-$(CONFIG_PHYLIB) += libphy.o diff --git a/target/linux/generic/hack-6.12/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch b/target/linux/generic/hack-6.12/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch index bf93a87e02..604adff32e 100644 --- a/target/linux/generic/hack-6.12/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch +++ b/target/linux/generic/hack-6.12/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch @@ -9,7 +9,7 @@ Subject: [PATCH] net/dsa/mv88e6xxx: disable ATU violation --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -3405,6 +3405,9 @@ static int mv88e6xxx_setup_port(struct m +@@ -3541,6 +3541,9 @@ static int mv88e6xxx_setup_port(struct m else reg = 1 << port; diff --git a/target/linux/generic/hack-6.12/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch b/target/linux/generic/hack-6.12/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch index 522dbaf68f..2d7edc9e75 100644 --- a/target/linux/generic/hack-6.12/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch +++ b/target/linux/generic/hack-6.12/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch @@ -15,7 +15,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -96,6 +96,29 @@ +@@ -97,6 +97,29 @@ #define AQR107_OP_IN_PROG_SLEEP 1000 #define AQR107_OP_IN_PROG_TIMEOUT 100000 @@ -45,7 +45,7 @@ Signed-off-by: Alex Marginean static int aqr107_get_sset_count(struct phy_device *phydev) { return AQR107_SGMII_STAT_SZ; -@@ -202,6 +225,51 @@ static int aqr_config_aneg(struct phy_de +@@ -203,6 +226,51 @@ static int aqr_config_aneg(struct phy_de return genphy_c45_check_and_restart_aneg(phydev, changed); } @@ -97,7 +97,7 @@ Signed-off-by: Alex Marginean static int aqr_config_intr(struct phy_device *phydev) { bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED; -@@ -854,7 +922,7 @@ static struct phy_driver aqr_driver[] = +@@ -972,7 +1040,7 @@ static struct phy_driver aqr_driver[] = PHY_ID_MATCH_MODEL(PHY_ID_AQR112), .name = "Aquantia AQR112", .probe = aqr107_probe, @@ -106,7 +106,7 @@ Signed-off-by: Alex Marginean .config_intr = aqr_config_intr, .handle_interrupt = aqr_handle_interrupt, .get_tunable = aqr107_get_tunable, -@@ -877,7 +945,7 @@ static struct phy_driver aqr_driver[] = +@@ -995,7 +1063,7 @@ static struct phy_driver aqr_driver[] = PHY_ID_MATCH_MODEL(PHY_ID_AQR412), .name = "Aquantia AQR412", .probe = aqr107_probe, diff --git a/target/linux/generic/hack-6.12/723-net-phy-aquantia-fix-system-side-protocol-mi.patch b/target/linux/generic/hack-6.12/723-net-phy-aquantia-fix-system-side-protocol-mi.patch index b0cd801601..eaeb3b6a92 100644 --- a/target/linux/generic/hack-6.12/723-net-phy-aquantia-fix-system-side-protocol-mi.patch +++ b/target/linux/generic/hack-6.12/723-net-phy-aquantia-fix-system-side-protocol-mi.patch @@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -258,10 +258,16 @@ static int aqr_config_aneg_set_prot(stru +@@ -259,10 +259,16 @@ static int aqr_config_aneg_set_prot(stru phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE, aquantia_syscfg[if_type].start_rate); diff --git a/target/linux/generic/hack-6.12/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch b/target/linux/generic/hack-6.12/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch index ed47187a3e..7443ad2f50 100644 --- a/target/linux/generic/hack-6.12/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch +++ b/target/linux/generic/hack-6.12/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch @@ -12,16 +12,16 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/aquantia/aquantia_main.c +++ b/drivers/net/phy/aquantia/aquantia_main.c -@@ -31,6 +31,8 @@ - #define PHY_ID_AQR113C 0x31c31c12 +@@ -32,6 +32,8 @@ #define PHY_ID_AQR114C 0x31c31c22 + #define PHY_ID_AQR115C 0x31c31c33 #define PHY_ID_AQR813 0x31c31cb2 +#define PHY_ID_AQR112C 0x03a1b790 +#define PHY_ID_AQR112R 0x31c31d12 #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -1061,6 +1063,30 @@ static struct phy_driver aqr_driver[] = +@@ -1205,6 +1207,30 @@ static struct phy_driver aqr_driver[] = .led_hw_control_get = aqr_phy_led_hw_control_get, .led_polarity_set = aqr_phy_led_polarity_set, }, @@ -52,9 +52,9 @@ Signed-off-by: Daniel Golle }; module_phy_driver(aqr_driver); -@@ -1081,6 +1107,8 @@ static struct mdio_device_id __maybe_unu - { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, +@@ -1226,6 +1252,8 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR114C) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR115C) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112C) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) }, diff --git a/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch index 069c682303..ca2c699368 100644 --- a/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-6.12/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -14,15 +14,15 @@ Signed-off-by: David Bauer --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c -@@ -11,6 +11,7 @@ - #include +@@ -12,6 +12,7 @@ #include + #include #include +#include #include #include #include -@@ -7044,6 +7045,22 @@ static void rtl_tally_reset(struct r8152 +@@ -7046,6 +7047,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -7085,6 +7102,8 @@ static void r8152b_init(struct r8152 *tp +@@ -7087,6 +7104,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7225,6 +7244,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7227,6 +7246,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7307,6 +7328,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7309,6 +7330,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/hack-6.12/765-mxl-gpy-control-LED-reg-from-DT.patch b/target/linux/generic/hack-6.12/765-mxl-gpy-control-LED-reg-from-DT.patch index 041f05e59b..36fdc68420 100644 --- a/target/linux/generic/hack-6.12/765-mxl-gpy-control-LED-reg-from-DT.patch +++ b/target/linux/generic/hack-6.12/765-mxl-gpy-control-LED-reg-from-DT.patch @@ -71,4 +71,4 @@ Signed-off-by: David Bauer + return gpy_led_write(phydev); } - static int gpy_probe(struct phy_device *phydev) + static int gpy21x_config_init(struct phy_device *phydev) diff --git a/target/linux/generic/hack-6.12/766-net-phy-mediatek-ge-add-LED-configuration-interface.patch b/target/linux/generic/hack-6.12/766-net-phy-mediatek-ge-add-LED-configuration-interface.patch index 3405d5c535..95134083fa 100644 --- a/target/linux/generic/hack-6.12/766-net-phy-mediatek-ge-add-LED-configuration-interface.patch +++ b/target/linux/generic/hack-6.12/766-net-phy-mediatek-ge-add-LED-configuration-interface.patch @@ -23,7 +23,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -53,6 +54,36 @@ static int mt7530_phy_config_init(struct +@@ -50,6 +51,36 @@ static int mt7530_phy_config_init(struct return 0; } @@ -60,7 +60,7 @@ Signed-off-by: David Bauer static int mt7531_phy_config_init(struct phy_device *phydev) { mtk_gephy_config_init(phydev); -@@ -65,6 +96,9 @@ static int mt7531_phy_config_init(struct +@@ -62,6 +93,9 @@ static int mt7531_phy_config_init(struct phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x13, 0x404); phy_write_mmd(phydev, MDIO_MMD_VEND1, 0x14, 0x404); diff --git a/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch index cefb9c53e8..dee4c3a686 100644 --- a/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch @@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1084,6 +1084,11 @@ static const struct usb_device_id produc +@@ -1076,6 +1076,11 @@ static const struct usb_device_id produc USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7), .driver_info = (unsigned long)&qmi_wwan_info, }, @@ -22,7 +22,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0122)}, /* Quectel RG650V */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */ -@@ -1091,6 +1096,7 @@ static const struct usb_device_id produc +@@ -1083,6 +1088,7 @@ static const struct usb_device_id produc {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */ diff --git a/target/linux/generic/hack-6.12/800-GPIO-add-named-gpio-exports.patch b/target/linux/generic/hack-6.12/800-GPIO-add-named-gpio-exports.patch index e6dcdfd92b..a68b2fe80e 100644 --- a/target/linux/generic/hack-6.12/800-GPIO-add-named-gpio-exports.patch +++ b/target/linux/generic/hack-6.12/800-GPIO-add-named-gpio-exports.patch @@ -15,7 +15,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -1129,3 +1131,73 @@ void of_gpiochip_remove(struct gpio_chip +@@ -1187,3 +1189,73 @@ void of_gpiochip_remove(struct gpio_chip { of_node_put(dev_of_node(&chip->gpiodev->dev)); } @@ -91,7 +91,7 @@ Signed-off-by: John Crispin +#endif --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h -@@ -644,7 +644,10 @@ static inline struct gpio_desc *acpi_get +@@ -628,7 +628,10 @@ static inline int devm_acpi_dev_add_driv #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) @@ -102,7 +102,7 @@ Signed-off-by: John Crispin int gpiod_export_link(struct device *dev, const char *name, struct gpio_desc *desc); void gpiod_unexport(struct gpio_desc *desc); -@@ -653,11 +656,25 @@ void gpiod_unexport(struct gpio_desc *de +@@ -637,11 +640,25 @@ void gpiod_unexport(struct gpio_desc *de #include @@ -130,25 +130,25 @@ Signed-off-by: John Crispin struct gpio_desc *desc) --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c -@@ -558,7 +558,7 @@ static struct class gpio_class = { - * - * Returns zero on success, else an error. +@@ -571,7 +571,7 @@ static struct class gpio_class = { + * Returns: + * 0 on success, or negative errno on failure. */ -int gpiod_export(struct gpio_desc *desc, bool direction_may_change) +int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name) { - struct gpio_chip *chip; - struct gpio_device *gdev; -@@ -620,6 +620,8 @@ int gpiod_export(struct gpio_desc *desc, + const char *ioname = NULL; + struct gpio_device *gdev; +@@ -629,6 +629,8 @@ int gpiod_export(struct gpio_desc *desc, offset = gpio_chip_hwgpio(desc); - if (chip->names && chip->names[offset]) - ioname = chip->names[offset]; + if (guard.gc->names && guard.gc->names[offset]) + ioname = guard.gc->names[offset]; + if (name) + ioname = name; dev = device_create_with_groups(&gpio_class, &gdev->dev, MKDEV(0, 0), data, gpio_groups, -@@ -641,8 +643,21 @@ err_unlock: +@@ -650,8 +652,21 @@ err_unlock: gpiod_dbg(desc, "%s: status %d\n", __func__, status); return status; } diff --git a/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch index 4b1ea3c5ad..440651c233 100644 --- a/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch +++ b/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau --- a/net/Kconfig +++ b/net/Kconfig -@@ -129,6 +129,9 @@ source "net/mptcp/Kconfig" +@@ -132,6 +132,9 @@ source "net/mptcp/Kconfig" endif # if INET @@ -41,8 +41,8 @@ Signed-off-by: Felix Fietkau +obj-$(CONFIG_SOCK_DIAG) += sock_diag.o obj-y += net-sysfs.o - obj-$(CONFIG_PAGE_POOL) += page_pool.o - obj-$(CONFIG_PROC_FS) += net-procfs.o + obj-y += hotdata.o + obj-y += netdev_rx_queue.o --- a/net/core/sock.c +++ b/net/core/sock.c @@ -118,6 +118,7 @@ @@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau #include -@@ -150,6 +151,7 @@ +@@ -152,6 +153,7 @@ static DEFINE_MUTEX(proto_list_mutex); static LIST_HEAD(proto_list); @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau static void sock_def_write_space_wfree(struct sock *sk); static void sock_def_write_space(struct sock *sk); -@@ -590,6 +592,21 @@ discard_and_relse: +@@ -587,6 +589,21 @@ discard_and_relse: } EXPORT_SYMBOL(__sk_receive_skb); @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *, u32)); INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *, -@@ -2239,9 +2256,11 @@ static void __sk_free(struct sock *sk) +@@ -2318,9 +2335,11 @@ static void __sk_free(struct sock *sk) if (likely(sk->sk_net_refcnt)) sock_inuse_add(sock_net(sk), -1); @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau Support for PF_PACKET sockets monitoring interface used by the ss tool. --- a/net/unix/Kconfig +++ b/net/unix/Kconfig -@@ -29,6 +29,7 @@ config AF_UNIX_OOB +@@ -24,6 +24,7 @@ config AF_UNIX_OOB config UNIX_DIAG tristate "UNIX: socket monitoring interface" depends on UNIX diff --git a/target/linux/generic/hack-6.12/902-debloat_proc.patch b/target/linux/generic/hack-6.12/902-debloat_proc.patch index 2c3eca2552..f1eae51306 100644 --- a/target/linux/generic/hack-6.12/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.12/902-debloat_proc.patch @@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau --- a/fs/locks.c +++ b/fs/locks.c -@@ -2895,6 +2895,8 @@ static const struct seq_operations locks +@@ -2971,6 +2971,8 @@ static const struct seq_operations locks static int __init proc_locks_init(void) { @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau depends on PROC_FS --- a/fs/proc/consoles.c +++ b/fs/proc/consoles.c -@@ -107,6 +107,9 @@ static const struct seq_operations conso +@@ -110,6 +110,9 @@ static const struct seq_operations conso static int __init proc_consoles_init(void) { @@ -158,7 +158,7 @@ Signed-off-by: Felix Fietkau IPC_SEM_IDS, sysvipc_sem_proc_show); --- a/ipc/shm.c +++ b/ipc/shm.c -@@ -154,6 +154,8 @@ pure_initcall(ipc_ns_init); +@@ -155,6 +155,8 @@ pure_initcall(ipc_ns_init); void __init shm_init(void) { @@ -192,7 +192,7 @@ Signed-off-by: Felix Fietkau } --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c -@@ -341,6 +341,9 @@ void register_irq_proc(unsigned int irq, +@@ -339,6 +339,9 @@ void register_irq_proc(unsigned int irq, void __maybe_unused *irqp = (void *)(unsigned long) irq; char name [MAX_NAMELEN]; @@ -202,7 +202,7 @@ Signed-off-by: Felix Fietkau if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip)) return; -@@ -394,6 +397,9 @@ void unregister_irq_proc(unsigned int ir +@@ -397,6 +400,9 @@ void unregister_irq_proc(unsigned int ir { char name [MAX_NAMELEN]; @@ -212,7 +212,7 @@ Signed-off-by: Felix Fietkau if (!root_irq_dir || !desc->dir) return; #ifdef CONFIG_SMP -@@ -432,6 +438,9 @@ void init_irq_proc(void) +@@ -435,6 +441,9 @@ void init_irq_proc(void) unsigned int irq; struct irq_desc *desc; @@ -224,7 +224,7 @@ Signed-off-by: Felix Fietkau if (!root_irq_dir) --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c -@@ -350,6 +350,8 @@ static int __init init_timer_list_procfs +@@ -354,6 +354,8 @@ static int __init init_timer_list_procfs { struct proc_dir_entry *pe; @@ -235,18 +235,18 @@ Signed-off-by: Felix Fietkau if (!pe) --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -4448,6 +4448,8 @@ static const struct seq_operations vmall - - static int __init proc_vmalloc_init(void) +@@ -5032,6 +5032,8 @@ static int __init proc_vmalloc_init(void { + void *priv_data = NULL; + + if (IS_ENABLED(CONFIG_PROC_STRIPPED)) + return 0; if (IS_ENABLED(CONFIG_NUMA)) - proc_create_seq_private("vmallocinfo", 0400, NULL, - &vmalloc_op, + priv_data = kmalloc(nr_node_ids * sizeof(unsigned int), GFP_KERNEL); + --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -2136,10 +2136,12 @@ void __init init_mm_internals(void) +@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void) start_shepherd_timer(); #endif #ifdef CONFIG_PROC_FS @@ -286,7 +286,7 @@ Signed-off-by: Felix Fietkau goto err; --- a/net/core/net-procfs.c +++ b/net/core/net-procfs.c -@@ -327,10 +327,12 @@ static int __net_init dev_proc_net_init( +@@ -295,10 +295,12 @@ static int __net_init dev_proc_net_init( if (!proc_create_net("dev", 0444, net->proc_net, &dev_seq_ops, sizeof(struct seq_net_private))) goto out; @@ -301,7 +301,7 @@ Signed-off-by: Felix Fietkau sizeof(struct seq_net_private))) goto out_softnet; -@@ -340,9 +342,11 @@ static int __net_init dev_proc_net_init( +@@ -308,9 +310,11 @@ static int __net_init dev_proc_net_init( out: return rc; out_ptype: @@ -315,7 +315,7 @@ Signed-off-by: Felix Fietkau out_dev: remove_proc_entry("dev", net->proc_net); goto out; -@@ -352,8 +356,10 @@ static void __net_exit dev_proc_net_exit +@@ -320,8 +324,10 @@ static void __net_exit dev_proc_net_exit { wext_proc_exit(net); @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -4140,6 +4140,8 @@ static __net_initdata struct pernet_oper +@@ -4248,6 +4248,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { @@ -385,7 +385,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c -@@ -557,5 +557,8 @@ static __net_initdata struct pernet_oper +@@ -563,5 +563,8 @@ static __net_initdata struct pernet_oper int __init ip_misc_proc_init(void) { @@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau } --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -381,6 +381,9 @@ static struct pernet_operations ip_rt_pr +@@ -378,6 +378,9 @@ static struct pernet_operations ip_rt_pr static int __init ip_rt_proc_init(void) { @@ -408,7 +408,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/inet_timewait_sock.c +++ b/net/ipv4/inet_timewait_sock.c -@@ -266,7 +266,7 @@ void __inet_twsk_schedule(struct inet_ti +@@ -296,7 +296,7 @@ void __inet_twsk_schedule(struct inet_ti */ if (!rearm) { diff --git a/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch b/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch index 355bd0d70c..96c870ded6 100644 --- a/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau +dma-shared-buffer-objs := $(dma-buf-objs-y) --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1731,4 +1731,5 @@ static void __exit dma_buf_deinit(void) +@@ -1743,4 +1743,5 @@ static void __exit dma_buf_deinit(void) kern_unmount(dma_buf_mnt); dma_buf_uninit_sysfs_statistics(); } @@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -4483,6 +4483,7 @@ int wake_up_state(struct task_struct *p, +@@ -4419,6 +4419,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } diff --git a/target/linux/generic/hack-6.12/910-kobject_uevent.patch b/target/linux/generic/hack-6.12/910-kobject_uevent.patch index c4c41ca400..24e6d2409a 100644 --- a/target/linux/generic/hack-6.12/910-kobject_uevent.patch +++ b/target/linux/generic/hack-6.12/910-kobject_uevent.patch @@ -9,9 +9,18 @@ Signed-off-by: Felix Fietkau lib/kobject_uevent.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) +--- a/include/linux/kobject.h ++++ b/include/linux/kobject.h +@@ -219,4 +219,6 @@ int kobject_synth_uevent(struct kobject + __printf(2, 3) + int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...); + ++u64 uevent_next_seqnum(void); ++ + #endif /* _KOBJECT_H_ */ --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c -@@ -179,6 +179,18 @@ out: +@@ -178,6 +178,18 @@ out: return r; } @@ -20,7 +29,7 @@ Signed-off-by: Felix Fietkau + u64 seq; + + mutex_lock(&uevent_sock_mutex); -+ seq = ++uevent_seqnum; ++ seq = atomic64_inc_return(&uevent_seqnum); + mutex_unlock(&uevent_sock_mutex); + + return seq; diff --git a/target/linux/generic/hack-6.12/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/hack-6.12/911-kobject_add_broadcast_uevent.patch index 372ac6fa7d..39f948a110 100644 --- a/target/linux/generic/hack-6.12/911-kobject_add_broadcast_uevent.patch +++ b/target/linux/generic/hack-6.12/911-kobject_add_broadcast_uevent.patch @@ -20,9 +20,9 @@ Signed-off-by: Felix Fietkau #ifdef CONFIG_UEVENT_HELPER /* path to the userspace helper executed on an event */ extern char uevent_helper[]; -@@ -219,4 +221,7 @@ int kobject_synth_uevent(struct kobject - __printf(2, 3) - int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...); +@@ -221,4 +223,7 @@ int add_uevent_var(struct kobj_uevent_en + + u64 uevent_next_seqnum(void); +int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group, + gfp_t allocation); @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #endif /* _KOBJECT_H_ */ --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c -@@ -706,6 +706,43 @@ int add_uevent_var(struct kobj_uevent_en +@@ -705,6 +705,43 @@ int add_uevent_var(struct kobj_uevent_en EXPORT_SYMBOL_GPL(add_uevent_var); #if defined(CONFIG_NET) diff --git a/target/linux/generic/hack-6.12/920-device_tree_cmdline.patch b/target/linux/generic/hack-6.12/920-device_tree_cmdline.patch index 1d78a9dc4d..41403cf94e 100644 --- a/target/linux/generic/hack-6.12/920-device_tree_cmdline.patch +++ b/target/linux/generic/hack-6.12/920-device_tree_cmdline.patch @@ -9,7 +9,7 @@ Subject: [PATCH] of/ftd: add device tree cmdline --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c -@@ -1186,6 +1186,9 @@ int __init early_init_dt_scan_chosen(cha +@@ -1052,6 +1052,9 @@ int __init early_init_dt_scan_chosen(cha p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); diff --git a/target/linux/generic/hack-6.12/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-6.12/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 1c5fb11ff5..a7c8a8efd2 100644 --- a/target/linux/generic/hack-6.12/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-6.12/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,11 +19,11 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1657,7 +1657,7 @@ static void device_links_purge(struct de +@@ -1653,7 +1653,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) --static u32 fw_devlink_flags = FW_DEVLINK_FLAGS_ON; +-static u32 fw_devlink_flags = FW_DEVLINK_FLAGS_RPM; +static u32 fw_devlink_flags = FW_DEVLINK_FLAGS_PERMISSIVE; static int __init fw_devlink_setup(char *arg) { -- 2.30.2