diff --git a/target/linux/generic/pending-6.18/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch b/target/linux/generic/pending-6.18/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch index 725e223495b..28c2807004f 100644 --- a/target/linux/generic/pending-6.18/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch +++ b/target/linux/generic/pending-6.18/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch @@ -11,16 +11,16 @@ Signed-off-by: Felix Fietkau --- a/include/linux/compiler.h +++ b/include/linux/compiler.h -@@ -191,6 +191,8 @@ void ftrace_likely_update(struct ftrace_ - __v; \ - }) +@@ -246,6 +246,8 @@ void ftrace_likely_update(struct ftrace_ + # define TYPEOF_UNQUAL(exp) __typeof__(exp) + #endif +#include + #endif /* __KERNEL__ */ - /** -@@ -298,6 +300,4 @@ static inline void *offset_to_ptr(const + #if defined(CONFIG_CFI) && !defined(__DISABLE_EXPORTS) && !defined(BUILD_VDSO) +@@ -379,6 +381,4 @@ static inline void *offset_to_ptr(const */ #define prevent_tail_call_optimization() mb() diff --git a/target/linux/generic/pending-6.18/103-kbuild-export-SUBARCH.patch b/target/linux/generic/pending-6.18/103-kbuild-export-SUBARCH.patch index 0cedbeca40b..3cac693cb2e 100644 --- a/target/linux/generic/pending-6.18/103-kbuild-export-SUBARCH.patch +++ b/target/linux/generic/pending-6.18/103-kbuild-export-SUBARCH.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -589,7 +589,7 @@ export RUSTC_BOOTSTRAP := 1 +@@ -625,7 +625,7 @@ export RUSTC_BOOTSTRAP := 1 # Allows finding `.clippy.toml` in out-of-srctree builds. export CLIPPY_CONF_DIR := $(srctree) diff --git a/target/linux/generic/pending-6.18/142-jffs2-add-splice-ops.patch b/target/linux/generic/pending-6.18/142-jffs2-add-splice-ops.patch index ea57158cc22..1115419fe3c 100644 --- a/target/linux/generic/pending-6.18/142-jffs2-add-splice-ops.patch +++ b/target/linux/generic/pending-6.18/142-jffs2-add-splice-ops.patch @@ -9,12 +9,12 @@ Signed-off-by: Felix Fietkau --- a/fs/jffs2/file.c +++ b/fs/jffs2/file.c -@@ -53,6 +53,8 @@ const struct file_operations jffs2_file_ +@@ -55,6 +55,8 @@ const struct file_operations jffs2_file_ .open = generic_file_open, .read_iter = generic_file_read_iter, .write_iter = generic_file_write_iter, + .splice_read = filemap_splice_read, + .splice_write = iter_file_splice_write, .unlocked_ioctl=jffs2_ioctl, - .mmap = generic_file_readonly_mmap, + .mmap_prepare = generic_file_readonly_mmap_prepare, .fsync = jffs2_fsync, diff --git a/target/linux/generic/pending-6.18/150-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/pending-6.18/150-bridge_allow_receiption_on_disabled_port.patch index 530f2c3a388..e4855b44e95 100644 --- a/target/linux/generic/pending-6.18/150-bridge_allow_receiption_on_disabled_port.patch +++ b/target/linux/generic/pending-6.18/150-bridge_allow_receiption_on_disabled_port.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c -@@ -245,6 +245,9 @@ static void __br_handle_local_finish(str +@@ -258,6 +258,9 @@ static void __br_handle_local_finish(str /* note: already called with rcu_read_lock */ static int br_handle_local_finish(struct net *net, struct sock *sk, struct sk_buff *skb) { @@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau __br_handle_local_finish(skb); /* return 1 to signal the okfn() was called so it's ok to use the skb */ -@@ -416,6 +419,17 @@ forward: +@@ -433,6 +436,17 @@ forward: goto defer_stp_filtering; switch (p->state) { diff --git a/target/linux/generic/pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch b/target/linux/generic/pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch index 3abeacaffb8..12fb7bc17af 100644 --- a/target/linux/generic/pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch +++ b/target/linux/generic/pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/net/bridge/br_arp_nd_proxy.c +++ b/net/bridge/br_arp_nd_proxy.c -@@ -204,7 +204,10 @@ void br_do_proxy_suppress_arp(struct sk_ +@@ -207,7 +207,10 @@ void br_do_proxy_suppress_arp(struct sk_ if ((p && (p->flags & BR_PROXYARP)) || (f->dst && (f->dst->flags & BR_PROXYARP_WIFI)) || br_is_neigh_suppress_enabled(f->dst, vid)) { @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau br_arp_send(br, p, skb->dev, sip, tip, sha, n->ha, sha, 0, 0); else -@@ -212,7 +215,6 @@ void br_do_proxy_suppress_arp(struct sk_ +@@ -215,7 +218,6 @@ void br_do_proxy_suppress_arp(struct sk_ sha, n->ha, sha, skb->vlan_proto, skb_vlan_tag_get(skb)); diff --git a/target/linux/generic/pending-6.18/205-backtrace_module_info.patch b/target/linux/generic/pending-6.18/205-backtrace_module_info.patch index de9f8602eef..9b283c44480 100644 --- a/target/linux/generic/pending-6.18/205-backtrace_module_info.patch +++ b/target/linux/generic/pending-6.18/205-backtrace_module_info.patch @@ -14,7 +14,7 @@ Signed-off-by: Maksim Dmitrichenko --- a/lib/vsprintf.c +++ b/lib/vsprintf.c -@@ -983,8 +983,12 @@ char *symbol_string(char *buf, char *end +@@ -990,8 +990,12 @@ char *symbol_string(char *buf, char *end struct printf_spec spec, const char *fmt) { unsigned long value; @@ -28,7 +28,7 @@ Signed-off-by: Maksim Dmitrichenko #endif if (fmt[1] == 'R') -@@ -1005,8 +1009,16 @@ char *symbol_string(char *buf, char *end +@@ -1012,8 +1016,16 @@ char *symbol_string(char *buf, char *end return string_nocheck(buf, end, sym, spec); #else diff --git a/target/linux/generic/pending-6.18/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch b/target/linux/generic/pending-6.18/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch index 5255a9cd762..fcb4a8401c7 100644 --- a/target/linux/generic/pending-6.18/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch +++ b/target/linux/generic/pending-6.18/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch @@ -26,7 +26,7 @@ Signed-off-by: Hauke Mehrtens --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -123,7 +123,7 @@ +@@ -126,7 +126,7 @@ /* * Minimum number of threads to boot the kernel */ diff --git a/target/linux/generic/pending-6.18/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-6.18/300-mips_expose_boot_raw.patch index ca8d0103465..ab4517652d9 100644 --- a/target/linux/generic/pending-6.18/300-mips_expose_boot_raw.patch +++ b/target/linux/generic/pending-6.18/300-mips_expose_boot_raw.patch @@ -9,7 +9,7 @@ Acked-by: Rob Landley --- --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1055,9 +1055,6 @@ config FW_ARC +@@ -1101,9 +1101,6 @@ config FW_ARC config ARCH_MAY_HAVE_PC_FDC bool @@ -19,7 +19,7 @@ Acked-by: Rob Landley config CEVT_BCM1480 bool -@@ -2990,6 +2987,18 @@ choice +@@ -3005,6 +3002,18 @@ choice bool "Extend builtin kernel arguments with bootloader arguments" endchoice diff --git a/target/linux/generic/pending-6.18/308-mips32r2_tune.patch b/target/linux/generic/pending-6.18/308-mips32r2_tune.patch index b9bd6104a42..19a716c9de0 100644 --- a/target/linux/generic/pending-6.18/308-mips32r2_tune.patch +++ b/target/linux/generic/pending-6.18/308-mips32r2_tune.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -153,7 +153,7 @@ cflags-$(CONFIG_CPU_R4300) += $(call cc- +@@ -149,7 +149,7 @@ cflags-$(CONFIG_CPU_R4300) += $(call cc- cflags-$(CONFIG_CPU_R4X00) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_TX49XX) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,--trap diff --git a/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch b/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch index 2c9808de2a3..002db0d57e8 100644 --- a/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch +++ b/target/linux/generic/pending-6.18/333-arc-enable-unaligned-access-in-kernel-mode.patch @@ -13,8 +13,8 @@ Signed-off-by: Alexey Brodkin --- a/arch/arc/kernel/unaligned.c +++ b/arch/arc/kernel/unaligned.c -@@ -203,7 +203,7 @@ int misaligned_fixup(unsigned long addre - char buf[TASK_COMM_LEN]; +@@ -202,7 +202,7 @@ int misaligned_fixup(unsigned long addre + struct disasm_state state; /* handle user mode only and only if enabled by sysadmin */ - if (!user_mode(regs) || !unaligned_enabled) diff --git a/target/linux/generic/pending-6.18/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch b/target/linux/generic/pending-6.18/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch index c812a08b91d..f67c689efd6 100644 --- a/target/linux/generic/pending-6.18/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch +++ b/target/linux/generic/pending-6.18/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch @@ -14,7 +14,7 @@ Signed-off-by: Pawel Dembicki --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig -@@ -254,7 +254,7 @@ config PPC +@@ -263,7 +263,7 @@ config PPC select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE select HAVE_KERNEL_LZO if DEFAULT_UIMAGE diff --git a/target/linux/generic/pending-6.18/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch b/target/linux/generic/pending-6.18/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch index e8ad2043373..7e998113440 100644 --- a/target/linux/generic/pending-6.18/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch +++ b/target/linux/generic/pending-6.18/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch @@ -193,7 +193,7 @@ Reported-by: Dan Carpenter default y --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1158,6 +1158,8 @@ static u8 spi_nor_convert_3to4_erase(u8 +@@ -1157,6 +1157,8 @@ static u8 spi_nor_convert_3to4_erase(u8 static bool spi_nor_has_uniform_erase(const struct spi_nor *nor) { @@ -202,7 +202,7 @@ Reported-by: Dan Carpenter return !!nor->params->erase_map.uniform_region.erase_mask; } -@@ -2516,6 +2518,7 @@ static int spi_nor_select_erase(struct s +@@ -2634,6 +2636,7 @@ static int spi_nor_select_erase(struct s { struct spi_nor_erase_map *map = &nor->params->erase_map; const struct spi_nor_erase_type *erase = NULL; @@ -210,7 +210,7 @@ Reported-by: Dan Carpenter struct mtd_info *mtd = &nor->mtd; int i; -@@ -2542,8 +2545,9 @@ static int spi_nor_select_erase(struct s +@@ -2660,8 +2663,9 @@ static int spi_nor_select_erase(struct s */ for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) { if (map->erase_type[i].size) { @@ -222,7 +222,7 @@ Reported-by: Dan Carpenter } } -@@ -2551,6 +2555,9 @@ static int spi_nor_select_erase(struct s +@@ -2669,6 +2673,9 @@ static int spi_nor_select_erase(struct s return -EINVAL; mtd->erasesize = erase->size; diff --git a/target/linux/generic/pending-6.18/450-block-allow-setting-partition-of_node.patch b/target/linux/generic/pending-6.18/450-block-allow-setting-partition-of_node.patch index a3c8abc1d9d..8544f71a105 100644 --- a/target/linux/generic/pending-6.18/450-block-allow-setting-partition-of_node.patch +++ b/target/linux/generic/pending-6.18/450-block-allow-setting-partition-of_node.patch @@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle #include #include "check.h" -@@ -290,7 +291,8 @@ static const DEVICE_ATTR(whole_disk, 044 +@@ -292,7 +293,8 @@ static const DEVICE_ATTR(whole_disk, 044 */ static struct block_device *add_partition(struct gendisk *disk, int partno, sector_t start, sector_t len, int flags, @@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle { dev_t devt = MKDEV(0, 0); struct device *ddev = disk_to_dev(disk); -@@ -339,6 +341,7 @@ static struct block_device *add_partitio +@@ -341,6 +343,7 @@ static struct block_device *add_partitio pdev->class = &block_class; pdev->type = &part_type; pdev->parent = ddev; @@ -97,7 +97,7 @@ Signed-off-by: Daniel Golle /* in consecutive minor range? */ if (bdev_partno(bdev) < disk->minors) { -@@ -445,7 +448,7 @@ int bdev_add_partition(struct gendisk *d +@@ -447,7 +450,7 @@ int bdev_add_partition(struct gendisk *d } part = add_partition(disk, partno, start, length, @@ -106,7 +106,7 @@ Signed-off-by: Daniel Golle ret = PTR_ERR_OR_ZERO(part); out: mutex_unlock(&disk->open_mutex); -@@ -559,8 +562,13 @@ static bool blk_add_partition(struct gen +@@ -561,8 +564,13 @@ static bool blk_add_partition(struct gen size = get_capacity(disk) - from; } diff --git a/target/linux/generic/pending-6.18/454-block-add-support-for-notifications.patch b/target/linux/generic/pending-6.18/454-block-add-support-for-notifications.patch index 6a5abef682f..b6ee4b53bd1 100644 --- a/target/linux/generic/pending-6.18/454-block-add-support-for-notifications.patch +++ b/target/linux/generic/pending-6.18/454-block-add-support-for-notifications.patch @@ -29,10 +29,10 @@ Signed-off-by: Daniel Golle + source "block/partitions/Kconfig" - config BLK_MQ_PCI + config BLK_PM --- a/block/Makefile +++ b/block/Makefile -@@ -38,3 +38,4 @@ obj-$(CONFIG_BLK_INLINE_ENCRYPTION) += b +@@ -36,3 +36,4 @@ obj-$(CONFIG_BLK_INLINE_ENCRYPTION) += b blk-crypto-sysfs.o obj-$(CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK) += blk-crypto-fallback.o obj-$(CONFIG_BLOCK_HOLDER_DEPRECATED) += holder.o @@ -149,7 +149,7 @@ Signed-off-by: Daniel Golle +device_initcall(blk_notifications_init); --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h -@@ -1753,4 +1753,12 @@ static inline bool bdev_can_atomic_write +@@ -1875,4 +1875,12 @@ static inline int bio_split_rw_at(struct #define DEFINE_IO_COMP_BATCH(name) struct io_comp_batch name = { } diff --git a/target/linux/generic/pending-6.18/456-nvmem-implement-block-NVMEM-provider.patch b/target/linux/generic/pending-6.18/456-nvmem-implement-block-NVMEM-provider.patch index 563b9f1259d..c50d3959142 100644 --- a/target/linux/generic/pending-6.18/456-nvmem-implement-block-NVMEM-provider.patch +++ b/target/linux/generic/pending-6.18/456-nvmem-implement-block-NVMEM-provider.patch @@ -18,9 +18,9 @@ Signed-off-by: Daniel Golle --- a/drivers/nvmem/Kconfig +++ b/drivers/nvmem/Kconfig -@@ -40,6 +40,17 @@ config NVMEM_APPLE_EFUSES - This driver can also be built as a module. If so, the module will - be called nvmem-apple-efuses. +@@ -63,6 +63,17 @@ config NVMEM_APPLE_SPMI + This driver can also be built as a module. If so, the module + will be called apple-nvmem-spmi. +config NVMEM_BLOCK + tristate "Block device NVMEM provider" @@ -38,8 +38,8 @@ Signed-off-by: Daniel Golle depends on ARCH_BCM_IPROC || COMPILE_TEST --- a/drivers/nvmem/Makefile +++ b/drivers/nvmem/Makefile -@@ -14,6 +14,8 @@ obj-$(CONFIG_NVMEM_APPLE_EFUSES) += nvme - nvmem-apple-efuses-y := apple-efuses.o +@@ -18,6 +18,8 @@ obj-$(CONFIG_NVMEM_APPLE_SPMI) += apple + apple_nvmem_spmi-y := apple-spmi-nvmem.o obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o nvmem-bcm-ocotp-y := bcm-ocotp.o +obj-$(CONFIG_NVMEM_BLOCK) += nvmem-block.o diff --git a/target/linux/generic/pending-6.18/457-mmc-block-set-GENHD_FL_NVMEM.patch b/target/linux/generic/pending-6.18/457-mmc-block-set-GENHD_FL_NVMEM.patch index 955fa6676e9..76f142ae87c 100644 --- a/target/linux/generic/pending-6.18/457-mmc-block-set-GENHD_FL_NVMEM.patch +++ b/target/linux/generic/pending-6.18/457-mmc-block-set-GENHD_FL_NVMEM.patch @@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c -@@ -2644,6 +2644,7 @@ static struct mmc_blk_data *mmc_blk_allo +@@ -2607,6 +2607,7 @@ static struct mmc_blk_data *mmc_blk_allo md->disk->major = MMC_BLOCK_MAJOR; md->disk->minors = perdev_minors; md->disk->first_minor = devidx * perdev_minors; diff --git a/target/linux/generic/pending-6.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-6.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch index 059d9673dcb..8b66725036e 100644 --- a/target/linux/generic/pending-6.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch +++ b/target/linux/generic/pending-6.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch @@ -7,7 +7,7 @@ Signed-off-by: George Kashperko 1 file changed, 1 insertion(+) --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2050,6 +2050,7 @@ static int __xipram do_write_buffer(stru +@@ -2048,6 +2048,7 @@ static int __xipram do_write_buffer(stru /* Write Buffer Load */ map_write(map, CMD(0x25), cmd_adr); diff --git a/target/linux/generic/pending-6.18/479-mtd-spi-nor-add-xtx-xt25f128b.patch b/target/linux/generic/pending-6.18/479-mtd-spi-nor-add-xtx-xt25f128b.patch index be8bafa76af..06741bceb69 100644 --- a/target/linux/generic/pending-6.18/479-mtd-spi-nor-add-xtx-xt25f128b.patch +++ b/target/linux/generic/pending-6.18/479-mtd-spi-nor-add-xtx-xt25f128b.patch @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau +}; --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c -@@ -1979,6 +1979,7 @@ static const struct spi_nor_manufacturer +@@ -1956,6 +1956,7 @@ static const struct spi_nor_manufacturer &spi_nor_sst, &spi_nor_winbond, &spi_nor_xmc, @@ -74,7 +74,7 @@ Signed-off-by: Felix Fietkau static const struct flash_info spi_nor_generic_flash = { --- a/drivers/mtd/spi-nor/core.h +++ b/drivers/mtd/spi-nor/core.h -@@ -593,6 +593,7 @@ extern const struct spi_nor_manufacturer +@@ -598,6 +598,7 @@ extern const struct spi_nor_manufacturer extern const struct spi_nor_manufacturer spi_nor_sst; extern const struct spi_nor_manufacturer spi_nor_winbond; extern const struct spi_nor_manufacturer spi_nor_xmc; diff --git a/target/linux/generic/pending-6.18/510-block-add-uImage.FIT-subimage-block-driver.patch b/target/linux/generic/pending-6.18/510-block-add-uImage.FIT-subimage-block-driver.patch index 74b079aa9b9..9d7d2cd7db5 100644 --- a/target/linux/generic/pending-6.18/510-block-add-uImage.FIT-subimage-block-driver.patch +++ b/target/linux/generic/pending-6.18/510-block-add-uImage.FIT-subimage-block-driver.patch @@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -23677,6 +23677,12 @@ F: Documentation/filesystems/ubifs-authe +@@ -26274,6 +26274,12 @@ F: Documentation/filesystems/ubifs-authe F: Documentation/filesystems/ubifs.rst F: fs/ubifs/ @@ -51,9 +51,9 @@ Signed-off-by: Daniel Golle L: linux-block@vger.kernel.org --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig -@@ -363,6 +363,18 @@ config BLK_DEV_RUST_NULL - - If unsure, say N. +@@ -312,6 +312,18 @@ config VIRTIO_BLK + This is the virtual block driver for virtio. It can be used with + QEMU based VMMs (like KVM or Xen). Say Y or M. +config UIMAGE_FIT_BLK + bool "uImage.FIT block driver" @@ -72,9 +72,9 @@ Signed-off-by: Daniel Golle depends on INET && BLOCK --- a/drivers/block/Makefile +++ b/drivers/block/Makefile -@@ -42,4 +42,6 @@ obj-$(CONFIG_BLK_DEV_NULL_BLK) += null_b - +@@ -40,4 +40,6 @@ obj-$(CONFIG_BLK_DEV_RUST_NULL) += rnull obj-$(CONFIG_BLK_DEV_UBLK) += ublk_drv.o + obj-$(CONFIG_BLK_DEV_ZONED_LOOP) += zloop.o +obj-$(CONFIG_UIMAGE_FIT_BLK) += fitblk.o + diff --git a/target/linux/generic/pending-6.18/600-netfilter_conntrack_flush.patch b/target/linux/generic/pending-6.18/600-netfilter_conntrack_flush.patch index 52e97e46efd..2731b49862f 100644 --- a/target/linux/generic/pending-6.18/600-netfilter_conntrack_flush.patch +++ b/target/linux/generic/pending-6.18/600-netfilter_conntrack_flush.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau #include #ifdef CONFIG_SYSCTL #include -@@ -458,6 +459,58 @@ static int ct_cpu_seq_show(struct seq_fi +@@ -473,6 +474,58 @@ static int ct_cpu_seq_show(struct seq_fi return 0; } @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static const struct seq_operations ct_cpu_seq_ops = { .start = ct_cpu_seq_start, .next = ct_cpu_seq_next, -@@ -471,8 +524,9 @@ static int nf_conntrack_standalone_init_ +@@ -486,8 +539,9 @@ static int nf_conntrack_standalone_init_ kuid_t root_uid; kgid_t root_gid; diff --git a/target/linux/generic/pending-6.18/611-netfilter_match_bypass_default_table.patch b/target/linux/generic/pending-6.18/611-netfilter_match_bypass_default_table.patch index 9f0efe4ec41..8185a8b0dfa 100644 --- a/target/linux/generic/pending-6.18/611-netfilter_match_bypass_default_table.patch +++ b/target/linux/generic/pending-6.18/611-netfilter_match_bypass_default_table.patch @@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau /* Switch to alternate jumpstack if we're being invoked via TEE. @@ -298,7 +326,16 @@ ipt_do_table(void *priv, if (static_key_false(&xt_tee_enabled)) - jumpstack += private->stacksize * __this_cpu_read(nf_skb_duplicated); + jumpstack += private->stacksize * current->in_nf_duplicate; - e = get_entry(table_base, private->hook_entry[hook]); + /* We handle fragments by dealing with the first fragment as diff --git a/target/linux/generic/pending-6.18/630-packet_socket_type.patch b/target/linux/generic/pending-6.18/630-packet_socket_type.patch index 769696e404a..36961fc0daa 100644 --- a/target/linux/generic/pending-6.18/630-packet_socket_type.patch +++ b/target/linux/generic/pending-6.18/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1911,6 +1911,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1858,6 +1858,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1918,6 +1919,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1865,6 +1866,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1930,7 +1932,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1877,7 +1879,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2175,12 +2177,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2122,12 +2124,12 @@ static int packet_rcv(struct sk_buff *sk int skb_len = skb->len; unsigned int snaplen, res; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2304,12 +2306,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2251,12 +2253,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3429,6 +3431,7 @@ static int packet_create(struct net *net +@@ -3375,6 +3377,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -4096,6 +4099,16 @@ packet_setsockopt(struct socket *sock, i +@@ -4043,6 +4046,16 @@ packet_setsockopt(struct socket *sock, i packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val); return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -4158,6 +4171,13 @@ static int packet_getsockopt(struct sock +@@ -4105,6 +4118,13 @@ static int packet_getsockopt(struct sock case PACKET_COPY_THRESH: val = READ_ONCE(pkt_sk(sk)->copy_thresh); break; @@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau break; --- a/net/packet/internal.h +++ b/net/packet/internal.h -@@ -131,6 +131,7 @@ struct packet_sock { +@@ -126,6 +126,7 @@ struct packet_sock { struct net_device __rcu *cached_dev; struct packet_type prot_hook ____cacheline_aligned_in_smp; atomic_t tp_drops ____cacheline_aligned_in_smp; diff --git a/target/linux/generic/pending-6.18/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch b/target/linux/generic/pending-6.18/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch index 8271e062ff0..bf8af7c3f9f 100644 --- a/target/linux/generic/pending-6.18/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch +++ b/target/linux/generic/pending-6.18/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau --- a/net/bridge/br_switchdev.c +++ b/net/bridge/br_switchdev.c -@@ -571,10 +571,18 @@ static void br_switchdev_host_mdb(struct +@@ -576,10 +576,18 @@ static void br_switchdev_host_mdb(struct struct net_bridge_mdb_entry *mp, int type) { struct net_device *lower_dev; diff --git a/target/linux/generic/pending-6.18/650-net-pppoe-implement-GRO-support.patch b/target/linux/generic/pending-6.18/650-net-pppoe-implement-GRO-support.patch index 2aa55f84b99..9c50b0b1f97 100644 --- a/target/linux/generic/pending-6.18/650-net-pppoe-implement-GRO-support.patch +++ b/target/linux/generic/pending-6.18/650-net-pppoe-implement-GRO-support.patch @@ -212,7 +212,7 @@ Signed-off-by: Felix Fietkau unregister_pernet_device(&pppoe_net_ops); --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1546,6 +1546,7 @@ out: +@@ -1531,6 +1531,7 @@ out: return pp; } @@ -220,7 +220,7 @@ Signed-off-by: Felix Fietkau static struct sk_buff *ipip_gro_receive(struct list_head *head, struct sk_buff *skb) -@@ -1631,6 +1632,7 @@ int inet_gro_complete(struct sk_buff *sk +@@ -1616,6 +1617,7 @@ int inet_gro_complete(struct sk_buff *sk out: return err; } diff --git a/target/linux/generic/pending-6.18/655-increase_skb_pad.patch b/target/linux/generic/pending-6.18/655-increase_skb_pad.patch index 7e2d3dcfbc5..95555cac143 100644 --- a/target/linux/generic/pending-6.18/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-6.18/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -3241,7 +3241,7 @@ static inline int pskb_network_may_pull( +@@ -3299,7 +3299,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.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index 951e7f7e240..ab9f013eca7 100644 --- a/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-6.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -79,7 +79,7 @@ Signed-off-by: Steven Barth */ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -@@ -68,9 +71,9 @@ static bool log_ecn_error = true; +@@ -69,9 +72,9 @@ static bool log_ecn_error = true; module_param(log_ecn_error, bool, 0644); MODULE_PARM_DESC(log_ecn_error, "Log packets received with corrupted ECN"); @@ -91,7 +91,7 @@ Signed-off-by: Steven Barth return hash_32(hash, IP6_TUNNEL_HASH_SIZE_SHIFT); } -@@ -115,17 +118,33 @@ static struct ip6_tnl * +@@ -116,17 +119,33 @@ static struct ip6_tnl * ip6_tnl_lookup(struct net *net, int link, const struct in6_addr *remote, const struct in6_addr *local) { @@ -127,7 +127,7 @@ Signed-off-by: Steven Barth if (link == t->parms.link) return t; else -@@ -133,7 +152,7 @@ ip6_tnl_lookup(struct net *net, int link +@@ -134,7 +153,7 @@ ip6_tnl_lookup(struct net *net, int link } memset(&any, 0, sizeof(any)); @@ -136,7 +136,7 @@ Signed-off-by: Steven Barth for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) { if (!ipv6_addr_equal(local, &t->parms.laddr) || !ipv6_addr_any(&t->parms.raddr) || -@@ -146,7 +165,7 @@ ip6_tnl_lookup(struct net *net, int link +@@ -147,7 +166,7 @@ ip6_tnl_lookup(struct net *net, int link cand = t; } @@ -145,7 +145,7 @@ Signed-off-by: Steven Barth for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) { if (!ipv6_addr_equal(remote, &t->parms.raddr) || !ipv6_addr_any(&t->parms.laddr) || -@@ -195,7 +214,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n, +@@ -196,7 +215,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n, if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) { prio = 1; @@ -353,7 +353,7 @@ Signed-off-by: Steven Barth dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); } -@@ -1579,6 +1748,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1590,6 +1759,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ p->flowinfo = u->flowinfo; p->link = u->link; p->proto = u->proto; @@ -361,7 +361,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1962,6 +2132,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1973,6 +2143,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -377,7 +377,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1999,6 +2178,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -2010,6 +2189,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_FWMARK]) parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); @@ -423,8 +423,8 @@ Signed-off-by: Steven Barth + } } - static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev, -@@ -2083,6 +2302,12 @@ static void ip6_tnl_dellink(struct net_d + static int ip6_tnl_newlink(struct net_device *dev, +@@ -2118,6 +2337,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -437,7 +437,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2112,6 +2337,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2147,6 +2372,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + @@ -462,7 +462,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2119,6 +2362,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2154,6 +2397,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -472,7 +472,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2128,9 +2374,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2163,9 +2409,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || @@ -501,7 +501,7 @@ Signed-off-by: Steven Barth if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2170,6 +2434,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2205,6 +2469,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, diff --git a/target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 7e99fae6b80..9a660b9f105 100644 --- a/target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -20,7 +20,7 @@ Signed-off-by: Jonas Gorski --- a/include/net/netns/ipv6.h +++ b/include/net/netns/ipv6.h -@@ -86,6 +86,7 @@ struct netns_ipv6 { +@@ -87,6 +87,7 @@ struct netns_ipv6 { unsigned int fib6_routes_require_src; #endif struct rt6_info *ip6_prohibit_entry; @@ -30,7 +30,7 @@ Signed-off-by: Jonas Gorski struct fib_rules_ops *fib6_rules_ops; --- a/include/uapi/linux/fib_rules.h +++ b/include/uapi/linux/fib_rules.h -@@ -83,6 +83,10 @@ enum { +@@ -88,6 +88,10 @@ enum { FR_ACT_BLACKHOLE, /* Drop without notification */ FR_ACT_UNREACHABLE, /* Drop with ENETUNREACH */ FR_ACT_PROHIBIT, /* Drop with EACCES */ @@ -43,7 +43,7 @@ Signed-off-by: Jonas Gorski --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h -@@ -265,6 +265,7 @@ enum { +@@ -273,6 +273,7 @@ enum { RTN_THROW, /* Not in this table */ RTN_NAT, /* Translate this address */ RTN_XRESOLVE, /* Use external resolver */ @@ -53,7 +53,7 @@ Signed-off-by: Jonas Gorski --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c -@@ -145,6 +145,10 @@ const struct fib_prop fib_props[RTN_MAX +@@ -134,6 +134,10 @@ const struct fib_prop fib_props[RTN_MAX .error = -EINVAL, .scope = RT_SCOPE_NOWHERE, }, @@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski static void rt_fibinfo_free(struct rtable __rcu **rtp) --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -2763,6 +2763,7 @@ static const char *const rtn_type_names[ +@@ -2757,6 +2757,7 @@ static const char *const rtn_type_names[ [RTN_THROW] = "THROW", [RTN_NAT] = "NAT", [RTN_XRESOLVE] = "XRESOLVE", @@ -76,7 +76,7 @@ Signed-off-by: Jonas Gorski static inline const char *rtn_type(char *buf, size_t len, unsigned int t) --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c -@@ -191,6 +191,7 @@ static int ipmr_rule_action(struct fib_r +@@ -192,6 +192,7 @@ static int ipmr_rule_action(struct fib_r case FR_ACT_UNREACHABLE: return -ENETUNREACH; case FR_ACT_PROHIBIT: @@ -86,7 +86,7 @@ Signed-off-by: Jonas Gorski default: --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c -@@ -222,6 +222,10 @@ static int __fib6_rule_action(struct fib +@@ -225,6 +225,10 @@ static int __fib6_rule_action(struct fib err = -EACCES; rt = net->ipv6.ip6_prohibit_entry; goto discard_pkt; @@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__rcuref = RCUREF_INIT(1), -@@ -1086,6 +1100,7 @@ static const int fib6_prop[RTN_MAX + 1] +@@ -1085,6 +1099,7 @@ static const int fib6_prop[RTN_MAX + 1] [RTN_BLACKHOLE] = -EINVAL, [RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_PROHIBIT] = -EACCES, @@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski [RTN_THROW] = -EAGAIN, [RTN_NAT] = -EINVAL, [RTN_XRESOLVE] = -EINVAL, -@@ -1121,6 +1136,10 @@ static void ip6_rt_init_dst_reject(struc +@@ -1120,6 +1135,10 @@ static void ip6_rt_init_dst_reject(struc rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -4609,6 +4628,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -4654,6 +4673,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -5100,7 +5130,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -5206,7 +5236,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6371,6 +6402,8 @@ static int ip6_route_dev_notify(struct n +@@ -6475,6 +6506,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6382,6 +6415,7 @@ static int ip6_route_dev_notify(struct n +@@ -6486,6 +6519,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6577,6 +6611,8 @@ static int __net_init ip6_route_net_init +@@ -6681,6 +6715,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6587,11 +6623,21 @@ static int __net_init ip6_route_net_init +@@ -6691,11 +6727,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6618,6 +6664,8 @@ out: +@@ -6722,6 +6768,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6637,6 +6685,7 @@ static void __net_exit ip6_route_net_exi +@@ -6741,6 +6789,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6720,6 +6769,9 @@ void __init ip6_route_init_special_entri +@@ -6824,6 +6873,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-6.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch b/target/linux/generic/pending-6.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch index 7057d364dbc..33a6023dbc7 100644 --- a/target/linux/generic/pending-6.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch +++ b/target/linux/generic/pending-6.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch @@ -17,7 +17,7 @@ Signed-off-by: Jonas Gorski --- a/include/uapi/linux/fib_rules.h +++ b/include/uapi/linux/fib_rules.h -@@ -90,6 +90,8 @@ enum { +@@ -95,6 +95,8 @@ enum { __FR_ACT_MAX, }; @@ -39,7 +39,7 @@ Signed-off-by: Jonas Gorski */ --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h -@@ -269,6 +269,8 @@ enum { +@@ -277,6 +277,8 @@ enum { __RTN_MAX }; diff --git a/target/linux/generic/pending-6.18/690-net-add-missing-check-for-TCP-fraglist-GRO.patch b/target/linux/generic/pending-6.18/690-net-add-missing-check-for-TCP-fraglist-GRO.patch index 4684e045d2d..9de4a6056e8 100644 --- a/target/linux/generic/pending-6.18/690-net-add-missing-check-for-TCP-fraglist-GRO.patch +++ b/target/linux/generic/pending-6.18/690-net-add-missing-check-for-TCP-fraglist-GRO.patch @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/tcp_offload.c +++ b/net/ipv4/tcp_offload.c -@@ -355,6 +355,7 @@ struct sk_buff *tcp_gro_receive(struct l +@@ -359,6 +359,7 @@ struct sk_buff *tcp_gro_receive(struct l flush |= (__force int)(flags ^ tcp_flag_word(th2)); flush |= skb->ip_summed != p->ip_summed; flush |= skb->csum_level != p->csum_level; diff --git a/target/linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch b/target/linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch index 59868b2a535..d37fbd7c221 100644 --- a/target/linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch +++ b/target/linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch @@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c -@@ -658,6 +658,23 @@ static struct pernet_operations nf_flow_ +@@ -805,6 +805,23 @@ static struct pernet_operations nf_flow_ .exit_batch = nf_flow_table_pernet_exit, }; @@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso static int __init nf_flow_table_module_init(void) { int ret; -@@ -674,6 +691,10 @@ static int __init nf_flow_table_module_i +@@ -821,6 +838,10 @@ static int __init nf_flow_table_module_i if (ret) goto out_bpf; @@ -45,7 +45,7 @@ Signed-off-by: Pablo Neira Ayuso return 0; out_bpf: -@@ -685,6 +706,7 @@ out_offload: +@@ -832,6 +853,7 @@ out_offload: static void __exit nf_flow_table_module_exit(void) { diff --git a/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch b/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch index 2fdb59d1d84..4b29cc00100 100644 --- a/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch +++ b/target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -5157,6 +5157,8 @@ static int mtk_probe(struct platform_dev +@@ -5298,6 +5298,8 @@ static int mtk_probe(struct platform_dev dev_err(eth->dev, "failed to allocated dummy device\n"); goto err_unreg_netdev; } diff --git a/target/linux/generic/pending-6.18/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-6.18/703-phy-add-detach-callback-to-struct-phy_driver.patch index 4e00118e533..97f7d3f3da7 100644 --- a/target/linux/generic/pending-6.18/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-6.18/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -2037,6 +2037,9 @@ void phy_detach(struct phy_device *phyde +@@ -1836,6 +1836,9 @@ void phy_detach(struct phy_device *phyde phydev->devlink = NULL; } @@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos sysfs_remove_link(&dev->dev.kobj, "phydev"); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -1037,6 +1037,12 @@ struct phy_driver { +@@ -1013,6 +1013,12 @@ struct phy_driver { /** @handle_interrupt: Override default interrupt handling */ irqreturn_t (*handle_interrupt)(struct phy_device *phydev); diff --git a/target/linux/generic/pending-6.18/706-net-phy-populate-host_interfaces-when-attaching-PHY.patch b/target/linux/generic/pending-6.18/706-net-phy-populate-host_interfaces-when-attaching-PHY.patch index dea84c70797..5823744ff44 100644 --- a/target/linux/generic/pending-6.18/706-net-phy-populate-host_interfaces-when-attaching-PHY.patch +++ b/target/linux/generic/pending-6.18/706-net-phy-populate-host_interfaces-when-attaching-PHY.patch @@ -20,7 +20,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c -@@ -2273,7 +2273,7 @@ int phylink_fwnode_phy_connect(struct ph +@@ -2279,7 +2279,7 @@ int phylink_fwnode_phy_connect(struct ph { struct fwnode_handle *phy_fwnode; struct phy_device *phy_dev; @@ -29,7 +29,7 @@ Signed-off-by: Daniel Golle /* Fixed links and 802.3z are handled without needing a PHY */ if (pl->cfg_link_an_mode == MLO_AN_FIXED || -@@ -2303,6 +2303,25 @@ int phylink_fwnode_phy_connect(struct ph +@@ -2309,6 +2309,25 @@ int phylink_fwnode_phy_connect(struct ph if (pl->config->mac_requires_rxc) flags |= PHY_F_RXC_ALWAYS_ON; diff --git a/target/linux/generic/pending-6.18/711-01-net-dsa-qca8k-implement-lag_fdb_add-del-ops.patch b/target/linux/generic/pending-6.18/711-01-net-dsa-qca8k-implement-lag_fdb_add-del-ops.patch index 0e8915903f7..385cd5f6c15 100644 --- a/target/linux/generic/pending-6.18/711-01-net-dsa-qca8k-implement-lag_fdb_add-del-ops.patch +++ b/target/linux/generic/pending-6.18/711-01-net-dsa-qca8k-implement-lag_fdb_add-del-ops.patch @@ -16,7 +16,7 @@ Signed-off-by: Christian Marangi --- a/drivers/net/dsa/qca/qca8k-8xxx.c +++ b/drivers/net/dsa/qca/qca8k-8xxx.c -@@ -2031,6 +2031,8 @@ static const struct dsa_switch_ops qca8k +@@ -2030,6 +2030,8 @@ static const struct dsa_switch_ops qca8k .port_fdb_add = qca8k_port_fdb_add, .port_fdb_del = qca8k_port_fdb_del, .port_fdb_dump = qca8k_port_fdb_dump, @@ -27,7 +27,7 @@ Signed-off-by: Christian Marangi .port_mirror_add = qca8k_port_mirror_add, --- a/drivers/net/dsa/qca/qca8k-common.c +++ b/drivers/net/dsa/qca/qca8k-common.c -@@ -1234,6 +1234,42 @@ int qca8k_port_lag_leave(struct dsa_swit +@@ -1227,6 +1227,42 @@ int qca8k_port_lag_leave(struct dsa_swit return qca8k_lag_refresh_portmap(ds, port, lag, true); } @@ -72,7 +72,7 @@ Signed-off-by: Christian Marangi u32 val; --- a/drivers/net/dsa/qca/qca8k.h +++ b/drivers/net/dsa/qca/qca8k.h -@@ -592,5 +592,11 @@ int qca8k_port_lag_join(struct dsa_switc +@@ -591,5 +591,11 @@ int qca8k_port_lag_join(struct dsa_switc struct netlink_ext_ack *extack); int qca8k_port_lag_leave(struct dsa_switch *ds, int port, struct dsa_lag lag); diff --git a/target/linux/generic/pending-6.18/711-02-net-dsa-qca8k-enable-flooding-to-both-CPU-port.patch b/target/linux/generic/pending-6.18/711-02-net-dsa-qca8k-enable-flooding-to-both-CPU-port.patch index d10bbcf8029..18db0a43438 100644 --- a/target/linux/generic/pending-6.18/711-02-net-dsa-qca8k-enable-flooding-to-both-CPU-port.patch +++ b/target/linux/generic/pending-6.18/711-02-net-dsa-qca8k-enable-flooding-to-both-CPU-port.patch @@ -14,7 +14,7 @@ Signed-off-by: Christian Marangi --- a/drivers/net/dsa/qca/qca8k-8xxx.c +++ b/drivers/net/dsa/qca/qca8k-8xxx.c -@@ -1913,15 +1913,12 @@ qca8k_setup(struct dsa_switch *ds) +@@ -1912,15 +1912,12 @@ qca8k_setup(struct dsa_switch *ds) } } diff --git a/target/linux/generic/pending-6.18/711-03-net-dsa-qca8k-add-support-for-port_change_master.patch b/target/linux/generic/pending-6.18/711-03-net-dsa-qca8k-add-support-for-port_change_master.patch index 25c6ae3f78b..65d3b7916da 100644 --- a/target/linux/generic/pending-6.18/711-03-net-dsa-qca8k-add-support-for-port_change_master.patch +++ b/target/linux/generic/pending-6.18/711-03-net-dsa-qca8k-add-support-for-port_change_master.patch @@ -26,7 +26,7 @@ Signed-off-by: Christian Marangi --- a/drivers/net/dsa/qca/qca8k-8xxx.c +++ b/drivers/net/dsa/qca/qca8k-8xxx.c -@@ -1750,6 +1750,117 @@ qca8k_get_tag_protocol(struct dsa_switch +@@ -1749,6 +1749,117 @@ qca8k_get_tag_protocol(struct dsa_switch return DSA_TAG_PROTO_QCA; } @@ -144,7 +144,7 @@ Signed-off-by: Christian Marangi static void qca8k_conduit_change(struct dsa_switch *ds, const struct net_device *conduit, bool operational) -@@ -2039,8 +2150,9 @@ static const struct dsa_switch_ops qca8k +@@ -2038,8 +2149,9 @@ static const struct dsa_switch_ops qca8k .port_vlan_del = qca8k_port_vlan_del, .phylink_get_caps = qca8k_phylink_get_caps, .get_phy_flags = qca8k_get_phy_flags, diff --git a/target/linux/generic/pending-6.18/712-net-dsa-qca8k-enable-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-6.18/712-net-dsa-qca8k-enable-assisted-learning-on-CPU-port.patch index 03cf2db6b60..c34dff809dd 100644 --- a/target/linux/generic/pending-6.18/712-net-dsa-qca8k-enable-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-6.18/712-net-dsa-qca8k-enable-assisted-learning-on-CPU-port.patch @@ -20,7 +20,7 @@ Signed-off-by: Christian Marangi --- a/drivers/net/dsa/qca/qca8k-8xxx.c +++ b/drivers/net/dsa/qca/qca8k-8xxx.c -@@ -2022,6 +2022,12 @@ qca8k_setup(struct dsa_switch *ds) +@@ -2021,6 +2021,12 @@ qca8k_setup(struct dsa_switch *ds) dev_err(priv->dev, "failed enabling QCA header mode on port %d", dp->index); return ret; } @@ -33,7 +33,7 @@ Signed-off-by: Christian Marangi } /* Forward all unknown frames to CPU port for Linux processing */ -@@ -2051,11 +2057,6 @@ qca8k_setup(struct dsa_switch *ds) +@@ -2050,11 +2056,6 @@ qca8k_setup(struct dsa_switch *ds) if (ret) return ret; @@ -45,7 +45,7 @@ Signed-off-by: Christian Marangi /* For port based vlans to work we need to set the * default egress vid */ -@@ -2107,6 +2108,9 @@ qca8k_setup(struct dsa_switch *ds) +@@ -2106,6 +2107,9 @@ qca8k_setup(struct dsa_switch *ds) /* Set max number of LAGs supported */ ds->num_lag_ids = QCA8K_NUM_LAGS; diff --git a/target/linux/generic/pending-6.18/713-net-phy-c45-check-validity-of-10GbE-link-partner.patch b/target/linux/generic/pending-6.18/713-net-phy-c45-check-validity-of-10GbE-link-partner.patch index 5870dfb2ba3..706a3da72ca 100644 --- a/target/linux/generic/pending-6.18/713-net-phy-c45-check-validity-of-10GbE-link-partner.patch +++ b/target/linux/generic/pending-6.18/713-net-phy-c45-check-validity-of-10GbE-link-partner.patch @@ -11,7 +11,7 @@ unless both of them are set. Signed-off-by: Daniel Golle --- a/include/linux/mdio.h +++ b/include/linux/mdio.h -@@ -323,8 +323,14 @@ static inline u32 linkmode_adv_to_mii_10 +@@ -303,8 +303,14 @@ static inline u32 linkmode_adv_to_mii_10 * to linkmode advertisement settings. Other bits in advertising aren't changed. */ static inline void mii_10gbt_stat_mod_linkmode_lpa_t(unsigned long *advertising, diff --git a/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch b/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch index 50d3403772d..fb893419cca 100644 --- a/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch +++ b/target/linux/generic/pending-6.18/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch @@ -17,7 +17,7 @@ Signed-off-by: Christian Marangi --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2224,7 +2224,7 @@ struct net_device { +@@ -2301,7 +2301,7 @@ struct net_device { #if IS_ENABLED(CONFIG_AX25) struct ax25_dev __rcu *ax25_ptr; #endif @@ -28,7 +28,7 @@ Signed-off-by: Christian Marangi #if IS_ENABLED(CONFIG_IEEE802154) || IS_ENABLED(CONFIG_6LOWPAN) --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c -@@ -309,7 +309,7 @@ static bool batadv_is_cfg80211_netdev(st +@@ -310,7 +310,7 @@ static bool batadv_is_cfg80211_netdev(st if (!net_device) return false; @@ -39,7 +39,7 @@ Signed-off-by: Christian Marangi return true; --- a/net/wireless/Kconfig +++ b/net/wireless/Kconfig -@@ -26,6 +26,7 @@ config CFG80211 +@@ -23,6 +23,7 @@ config CFG80211 # using a different algorithm, though right now they shouldn't # (this is here rather than below to allow it to be a module) select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS @@ -47,7 +47,7 @@ Signed-off-by: Christian Marangi help cfg80211 is the Linux wireless LAN (802.11) configuration API. Enable this if you have a wireless device. -@@ -36,6 +37,9 @@ config CFG80211 +@@ -33,6 +34,9 @@ config CFG80211 When built as a module it will be called cfg80211. diff --git a/target/linux/generic/pending-6.18/732-00-net-ethernet-mtk_eth_soc-compile-out-netsys-v2-code-.patch b/target/linux/generic/pending-6.18/732-00-net-ethernet-mtk_eth_soc-compile-out-netsys-v2-code-.patch index ec6ed6e035d..3f6ce79c160 100644 --- a/target/linux/generic/pending-6.18/732-00-net-ethernet-mtk_eth_soc-compile-out-netsys-v2-code-.patch +++ b/target/linux/generic/pending-6.18/732-00-net-ethernet-mtk_eth_soc-compile-out-netsys-v2-code-.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -@@ -1344,6 +1344,22 @@ struct mtk_mac { +@@ -1383,6 +1383,22 @@ struct mtk_mac { /* the struct describing the SoC. these are declared in the soc_xyz.c files */ extern const struct of_device_id of_mtk_match[]; @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau static inline bool mtk_is_netsys_v1(struct mtk_eth *eth) { return eth->soc->version == 1; -@@ -1358,6 +1374,7 @@ static inline bool mtk_is_netsys_v3_or_g +@@ -1397,6 +1413,7 @@ static inline bool mtk_is_netsys_v3_or_g { return eth->soc->version > 2; } diff --git a/target/linux/generic/pending-6.18/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch b/target/linux/generic/pending-6.18/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch index 71b20b9c960..8e2e869fd6c 100644 --- a/target/linux/generic/pending-6.18/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch +++ b/target/linux/generic/pending-6.18/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch @@ -22,9 +22,9 @@ Signed-off-by: Felix Fietkau #include +#include #include + #include - #include "mtk_eth_soc.h" -@@ -1607,12 +1608,28 @@ static void mtk_wake_queue(struct mtk_et +@@ -1752,12 +1753,28 @@ static void mtk_wake_queue(struct mtk_et } } @@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau bool gso = false; int tx_num; -@@ -1641,6 +1658,18 @@ static netdev_tx_t mtk_start_xmit(struct +@@ -1786,6 +1803,18 @@ static netdev_tx_t mtk_start_xmit(struct return NETDEV_TX_BUSY; } @@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau /* TSO: fill MSS info in tcp checksum field */ if (skb_is_gso(skb)) { if (skb_cow_head(skb, 0)) { -@@ -1656,8 +1685,14 @@ static netdev_tx_t mtk_start_xmit(struct +@@ -1801,8 +1830,14 @@ static netdev_tx_t mtk_start_xmit(struct } } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau netif_tx_stop_all_queues(dev); --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -@@ -278,7 +278,7 @@ +@@ -280,7 +280,7 @@ #define MTK_CHK_DDONE_EN BIT(28) #define MTK_DMAD_WR_WDONE BIT(26) #define MTK_WCOMP_EN BIT(24) diff --git a/target/linux/generic/pending-6.18/732-04-net-ethernet-mtk_eth_soc-shrink-struct-mtk_tx_buf.patch b/target/linux/generic/pending-6.18/732-04-net-ethernet-mtk_eth_soc-shrink-struct-mtk_tx_buf.patch index a2dd04b3788..3cbcade7ed2 100644 --- a/target/linux/generic/pending-6.18/732-04-net-ethernet-mtk_eth_soc-shrink-struct-mtk_tx_buf.patch +++ b/target/linux/generic/pending-6.18/732-04-net-ethernet-mtk_eth_soc-shrink-struct-mtk_tx_buf.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -1246,32 +1246,19 @@ static int txd_to_idx(struct mtk_tx_ring +@@ -1391,32 +1391,19 @@ static int txd_to_idx(struct mtk_tx_ring static void mtk_tx_unmap(struct mtk_eth *eth, struct mtk_tx_buf *tx_buf, struct xdp_frame_bulk *bq, bool napi) { @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau } if (tx_buf->data && tx_buf->data != (void *)MTK_DMA_DUMMY_DESC) { -@@ -1293,7 +1280,6 @@ static void mtk_tx_unmap(struct mtk_eth +@@ -1438,7 +1425,6 @@ static void mtk_tx_unmap(struct mtk_eth xdp_return_frame(xdpf); } } @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau tx_buf->data = NULL; } -@@ -1458,7 +1444,6 @@ static int mtk_tx_map(struct sk_buff *sk +@@ -1603,7 +1589,6 @@ static int mtk_tx_map(struct sk_buff *sk mtk_tx_set_dma_desc(dev, itxd, &txd_info); @@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau itx_buf->mac_id = mac->id; setup_tx_buf(eth, itx_buf, itxd_pdma, txd_info.addr, txd_info.size, k++); -@@ -1506,7 +1491,6 @@ static int mtk_tx_map(struct sk_buff *sk +@@ -1651,7 +1636,6 @@ static int mtk_tx_map(struct sk_buff *sk if (new_desc) memset(tx_buf, 0, sizeof(*tx_buf)); tx_buf->data = (void *)MTK_DMA_DUMMY_DESC; @@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau tx_buf->mac_id = mac->id; setup_tx_buf(eth, tx_buf, txd_pdma, txd_info.addr, -@@ -1839,8 +1823,6 @@ static int mtk_xdp_frame_map(struct mtk_ +@@ -1984,8 +1968,6 @@ static int mtk_xdp_frame_map(struct mtk_ txd_info->size, DMA_TO_DEVICE); if (unlikely(dma_mapping_error(eth->dma_dev, txd_info->addr))) return -ENOMEM; @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -@@ -701,14 +701,6 @@ struct mtk_hw_stats { +@@ -728,14 +728,6 @@ struct mtk_hw_stats { struct u64_stats_sync syncp; }; @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau /* This enum allows us to identify how the clock is defined on the array of the * clock in the order */ -@@ -881,13 +873,12 @@ enum mtk_tx_buf_type { +@@ -908,13 +900,12 @@ enum mtk_tx_buf_type { */ struct mtk_tx_buf { enum mtk_tx_buf_type type; diff --git a/target/linux/generic/pending-6.18/732-05-net-ethernet-mtk_eth_soc-add-support-for-sending-fra.patch b/target/linux/generic/pending-6.18/732-05-net-ethernet-mtk_eth_soc-add-support-for-sending-fra.patch index 8dad080fa62..6b641380e10 100644 --- a/target/linux/generic/pending-6.18/732-05-net-ethernet-mtk_eth_soc-add-support-for-sending-fra.patch +++ b/target/linux/generic/pending-6.18/732-05-net-ethernet-mtk_eth_soc-add-support-for-sending-fra.patch @@ -28,9 +28,9 @@ Signed-off-by: Felix Fietkau #include +#include #include + #include - #include "mtk_eth_soc.h" -@@ -1404,119 +1407,251 @@ static void mtk_tx_set_dma_desc(struct n +@@ -1549,119 +1552,251 @@ static void mtk_tx_set_dma_desc(struct n mtk_tx_set_dma_desc_v1(dev, txd, info); } @@ -358,7 +358,7 @@ Signed-off-by: Felix Fietkau /* make sure that all changes to the dma ring are flushed before we * continue -@@ -1525,11 +1660,11 @@ static int mtk_tx_map(struct sk_buff *sk +@@ -1670,11 +1805,11 @@ static int mtk_tx_map(struct sk_buff *sk if (MTK_HAS_CAPS(soc->caps, MTK_QDMA)) { if (netif_xmit_stopped(txq) || !netdev_xmit_more()) @@ -372,7 +372,7 @@ Signed-off-by: Felix Fietkau ring->dma_size); mtk_w32(eth, next_idx, MT7628_TX_CTX_IDX0); } -@@ -1538,18 +1673,20 @@ static int mtk_tx_map(struct sk_buff *sk +@@ -1683,18 +1818,20 @@ static int mtk_tx_map(struct sk_buff *sk err_dma: do { @@ -397,7 +397,7 @@ Signed-off-by: Felix Fietkau return -ENOMEM; } -@@ -1569,6 +1706,9 @@ static int mtk_cal_txd_req(struct mtk_et +@@ -1714,6 +1851,9 @@ static int mtk_cal_txd_req(struct mtk_et nfrags += skb_shinfo(skb)->nr_frags; } @@ -407,7 +407,7 @@ Signed-off-by: Felix Fietkau return nfrags; } -@@ -1609,9 +1749,29 @@ static bool mtk_skb_has_small_frag(struc +@@ -1754,9 +1894,29 @@ static bool mtk_skb_has_small_frag(struc if (skb_frag_size(&skb_shinfo(skb)->frags[i]) < min_size) return true; @@ -437,7 +437,7 @@ Signed-off-by: Felix Fietkau static netdev_tx_t mtk_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct mtk_mac *mac = netdev_priv(dev); -@@ -1619,6 +1779,7 @@ static netdev_tx_t mtk_start_xmit(struct +@@ -1764,6 +1924,7 @@ static netdev_tx_t mtk_start_xmit(struct struct mtk_tx_ring *ring = ð->tx_ring; struct net_device_stats *stats = &dev->stats; struct sk_buff *segs, *next; @@ -445,7 +445,7 @@ Signed-off-by: Felix Fietkau bool gso = false; int tx_num; -@@ -1647,37 +1808,42 @@ static netdev_tx_t mtk_start_xmit(struct +@@ -1792,37 +1953,42 @@ static netdev_tx_t mtk_start_xmit(struct return NETDEV_TX_BUSY; } diff --git a/target/linux/generic/pending-6.18/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch b/target/linux/generic/pending-6.18/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch index f87315ac957..3879834808a 100644 --- a/target/linux/generic/pending-6.18/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch +++ b/target/linux/generic/pending-6.18/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2312,7 +2312,7 @@ static int mtk_poll_rx(struct napi_struc +@@ -2457,7 +2457,7 @@ static int mtk_poll_rx(struct napi_struc if (ret != XDP_PASS) goto skip_rx; @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau if (unlikely(!skb)) { page_pool_put_full_page(ring->page_pool, page, true); -@@ -2350,7 +2350,7 @@ static int mtk_poll_rx(struct napi_struc +@@ -2498,7 +2498,7 @@ static int mtk_poll_rx(struct napi_struc dma_unmap_single(eth->dma_dev, ((u64)trxd.rxd1 | addr64), ring->buf_size, DMA_FROM_DEVICE); diff --git a/target/linux/generic/pending-6.18/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch b/target/linux/generic/pending-6.18/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch index 8d0f0b98025..f283300b2a5 100644 --- a/target/linux/generic/pending-6.18/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch +++ b/target/linux/generic/pending-6.18/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch @@ -15,7 +15,7 @@ Signed-off-by: Chad Monroe --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -@@ -282,6 +282,7 @@ +@@ -284,6 +284,7 @@ #define MTK_WCOMP_EN BIT(24) #define MTK_RESV_BUF (0x80 << 16) #define MTK_MUTLI_CNT (0x4 << 12) @@ -25,7 +25,7 @@ Signed-off-by: Chad Monroe /* QDMA Flow Control Register */ --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -3483,12 +3483,14 @@ static int mtk_start_dma(struct mtk_eth +@@ -3657,12 +3657,14 @@ static int mtk_start_dma(struct mtk_eth MTK_TX_BT_32DWORDS | MTK_NDP_CO_PRO | MTK_RX_2B_OFFSET | MTK_TX_WB_DDONE; diff --git a/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch b/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch index 95abd9459bc..ff2e26f01f4 100644 --- a/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch +++ b/target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -5656,7 +5656,7 @@ static const struct mtk_soc_data mt2701_ +@@ -5715,7 +5715,7 @@ static const struct mtk_soc_data mt2701_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5684,7 +5684,7 @@ static const struct mtk_soc_data mt7621_ +@@ -5743,7 +5743,7 @@ static const struct mtk_soc_data mt7621_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5714,7 +5714,7 @@ static const struct mtk_soc_data mt7622_ +@@ -5773,7 +5773,7 @@ static const struct mtk_soc_data mt7622_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -57,7 +57,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5743,7 +5743,7 @@ static const struct mtk_soc_data mt7623_ +@@ -5802,7 +5802,7 @@ static const struct mtk_soc_data mt7623_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5769,7 +5769,7 @@ static const struct mtk_soc_data mt7629_ +@@ -5828,7 +5828,7 @@ static const struct mtk_soc_data mt7629_ DESC_SIZE(struct mtk_rx_dma), .irq_done_mask = MTK_RX_DONE_INT, .dma_l4_valid = RX_DMA_L4_VALID, @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, }, -@@ -5801,7 +5801,7 @@ static const struct mtk_soc_data mt7981_ +@@ -5860,7 +5860,7 @@ static const struct mtk_soc_data mt7981_ .dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau }, }; -@@ -5831,7 +5831,7 @@ static const struct mtk_soc_data mt7986_ +@@ -5890,7 +5890,7 @@ static const struct mtk_soc_data mt7986_ .dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, @@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau }, }; -@@ -5884,7 +5884,7 @@ static const struct mtk_soc_data rt5350_ +@@ -5943,7 +5943,7 @@ static const struct mtk_soc_data rt5350_ .dma_l4_valid = RX_DMA_L4_VALID_PDMA, .dma_max_len = MTK_TX_DMA_BUF_LEN, .dma_len_offset = 16, diff --git a/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch b/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch index 53216caeaa0..cfe358c43d6 100644 --- a/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch +++ b/target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch @@ -15,9 +15,9 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/Kconfig +++ b/drivers/net/ethernet/mediatek/Kconfig -@@ -26,7 +26,6 @@ config NET_MEDIATEK_SOC - select PHYLINK +@@ -19,7 +19,6 @@ config NET_MEDIATEK_SOC select DIMLIB + select GENERIC_ALLOCATOR select PAGE_POOL - select PAGE_POOL_STATS select PCS_MTK_LYNXI @@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau help --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -4756,6 +4756,7 @@ static int mtk_get_sset_count(struct net +@@ -4845,6 +4845,7 @@ static int mtk_get_sset_count(struct net static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data) { @@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau struct page_pool_stats stats = {}; int i; -@@ -4768,6 +4769,7 @@ static void mtk_ethtool_pp_stats(struct +@@ -4857,6 +4858,7 @@ static void mtk_ethtool_pp_stats(struct page_pool_get_stats(ring->page_pool, &stats); } page_pool_ethtool_stats_get(data, &stats); diff --git a/target/linux/generic/pending-6.18/741-net-phy-broadcom-update-dependency-condition.patch b/target/linux/generic/pending-6.18/741-net-phy-broadcom-update-dependency-condition.patch index 7a52bd55213..03e70b64938 100644 --- a/target/linux/generic/pending-6.18/741-net-phy-broadcom-update-dependency-condition.patch +++ b/target/linux/generic/pending-6.18/741-net-phy-broadcom-update-dependency-condition.patch @@ -24,7 +24,7 @@ Signed-off-by: David Bauer --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -151,7 +151,7 @@ config BROADCOM_PHY +@@ -156,7 +156,7 @@ config BROADCOM_PHY tristate "Broadcom 54XX PHYs" select BCM_NET_PHYLIB select BCM_NET_PHYPTP if NETWORK_PHY_TIMESTAMPING diff --git a/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch b/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch index fc2d26cb1c0..e2d45649fdf 100644 --- a/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch +++ b/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch @@ -16,7 +16,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -557,6 +557,7 @@ static const struct sfp_quirk sfp_quirks +@@ -564,6 +564,7 @@ static const struct sfp_quirk sfp_quirks SFP_QUIRK_S("OEM", "SFP-2.5G-BX10-U", sfp_quirk_2500basex), SFP_QUIRK_F("OEM", "RTSFP-10", sfp_fixup_rollball_cc), SFP_QUIRK_F("OEM", "RTSFP-10G", sfp_fixup_rollball_cc), diff --git a/target/linux/generic/pending-6.18/760-01-net-dsa-move-dsa_bridge_ports-helper-to-dsa.h.patch b/target/linux/generic/pending-6.18/760-01-net-dsa-move-dsa_bridge_ports-helper-to-dsa.h.patch index c0e77d17152..843ca14b644 100644 --- a/target/linux/generic/pending-6.18/760-01-net-dsa-move-dsa_bridge_ports-helper-to-dsa.h.patch +++ b/target/linux/generic/pending-6.18/760-01-net-dsa-move-dsa_bridge_ports-helper-to-dsa.h.patch @@ -16,7 +16,7 @@ Signed-off-by: Daniel Golle --- a/include/net/dsa.h +++ b/include/net/dsa.h -@@ -832,6 +832,19 @@ dsa_tree_offloads_bridge_dev(struct dsa_ +@@ -833,6 +833,19 @@ dsa_tree_offloads_bridge_dev(struct dsa_ return false; } diff --git a/target/linux/generic/pending-6.18/760-02-net-dsa-add-bridge-member-iteration-macro.patch b/target/linux/generic/pending-6.18/760-02-net-dsa-add-bridge-member-iteration-macro.patch index 37891ffe39a..af90028b983 100644 --- a/target/linux/generic/pending-6.18/760-02-net-dsa-add-bridge-member-iteration-macro.patch +++ b/target/linux/generic/pending-6.18/760-02-net-dsa-add-bridge-member-iteration-macro.patch @@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle --- a/include/net/dsa.h +++ b/include/net/dsa.h -@@ -832,15 +832,18 @@ dsa_tree_offloads_bridge_dev(struct dsa_ +@@ -833,15 +833,18 @@ dsa_tree_offloads_bridge_dev(struct dsa_ return false; } diff --git a/target/linux/generic/pending-6.18/760-19-net-dsa-wire-flash_update-devlink-callback-to-driver.patch b/target/linux/generic/pending-6.18/760-19-net-dsa-wire-flash_update-devlink-callback-to-driver.patch index 19da9a0010a..98144a4c0d4 100644 --- a/target/linux/generic/pending-6.18/760-19-net-dsa-wire-flash_update-devlink-callback-to-driver.patch +++ b/target/linux/generic/pending-6.18/760-19-net-dsa-wire-flash_update-devlink-callback-to-driver.patch @@ -16,7 +16,7 @@ Signed-off-by: Daniel Golle --- a/include/net/dsa.h +++ b/include/net/dsa.h -@@ -1185,6 +1185,9 @@ struct dsa_switch_ops { +@@ -1172,6 +1172,9 @@ struct dsa_switch_ops { int (*devlink_info_get)(struct dsa_switch *ds, struct devlink_info_req *req, struct netlink_ext_ack *extack); diff --git a/target/linux/generic/pending-6.18/790-bus-mhi-core-add-SBL-state-callback.patch b/target/linux/generic/pending-6.18/790-bus-mhi-core-add-SBL-state-callback.patch index 80d13061158..071627ea7dd 100644 --- a/target/linux/generic/pending-6.18/790-bus-mhi-core-add-SBL-state-callback.patch +++ b/target/linux/generic/pending-6.18/790-bus-mhi-core-add-SBL-state-callback.patch @@ -20,7 +20,7 @@ Signed-off-by: Robert Marko --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c -@@ -916,6 +916,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_ +@@ -917,6 +917,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_ switch (event) { case MHI_EE_SBL: st = DEV_ST_TRANSITION_SBL; diff --git a/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch b/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch index 5181041ec01..3b923418e07 100644 --- a/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch +++ b/target/linux/generic/pending-6.18/791-tg3-Fix-DMA-allocations-on-57766-devices.patch @@ -17,7 +17,7 @@ Signed-off-by: Pavan Chebbi --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -17799,8 +17799,10 @@ static int tg3_init_one(struct pci_dev * +@@ -17828,8 +17828,10 @@ static int tg3_init_one(struct pci_dev * } else persist_dma_mask = dma_mask = DMA_BIT_MASK(64); diff --git a/target/linux/generic/pending-6.18/804-nvmem-core-support-mac-base-fixed-layout-cells.patch b/target/linux/generic/pending-6.18/804-nvmem-core-support-mac-base-fixed-layout-cells.patch index 8f2706e6b42..d87aae845ef 100644 --- a/target/linux/generic/pending-6.18/804-nvmem-core-support-mac-base-fixed-layout-cells.patch +++ b/target/linux/generic/pending-6.18/804-nvmem-core-support-mac-base-fixed-layout-cells.patch @@ -33,7 +33,7 @@ string. #include #include #include -@@ -811,6 +814,62 @@ static int nvmem_validate_keepouts(struc +@@ -786,6 +789,62 @@ static int nvmem_validate_keepouts(struc return 0; } @@ -96,7 +96,7 @@ string. static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np) { struct device *dev = &nvmem->dev; -@@ -852,6 +911,25 @@ static int nvmem_add_cells_from_dt(struc +@@ -827,6 +886,25 @@ static int nvmem_add_cells_from_dt(struc if (nvmem->fixup_dt_cell_info) nvmem->fixup_dt_cell_info(nvmem, &info); diff --git a/target/linux/generic/pending-6.18/809-01-nvmem-core-generalize-mac-base-cells-handling.patch b/target/linux/generic/pending-6.18/809-01-nvmem-core-generalize-mac-base-cells-handling.patch index 94d43e0ce09..a603d86ab09 100644 --- a/target/linux/generic/pending-6.18/809-01-nvmem-core-generalize-mac-base-cells-handling.patch +++ b/target/linux/generic/pending-6.18/809-01-nvmem-core-generalize-mac-base-cells-handling.patch @@ -38,7 +38,7 @@ Signed-off-by: Christian Marangi #include #include #include -@@ -814,62 +811,6 @@ static int nvmem_validate_keepouts(struc +@@ -789,62 +786,6 @@ static int nvmem_validate_keepouts(struc return 0; } @@ -101,7 +101,7 @@ Signed-off-by: Christian Marangi static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np) { struct device *dev = &nvmem->dev; -@@ -911,24 +852,8 @@ static int nvmem_add_cells_from_dt(struc +@@ -886,24 +827,8 @@ static int nvmem_add_cells_from_dt(struc if (nvmem->fixup_dt_cell_info) nvmem->fixup_dt_cell_info(nvmem, &info); @@ -228,7 +228,7 @@ Signed-off-by: Christian Marangi return of_driver_match_device(dev, drv); --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h -@@ -242,6 +242,8 @@ static inline void nvmem_layout_unregist +@@ -218,6 +218,8 @@ static inline void nvmem_layout_unregist #if IS_ENABLED(CONFIG_NVMEM) && IS_ENABLED(CONFIG_OF) @@ -237,7 +237,7 @@ Signed-off-by: Christian Marangi /** * of_nvmem_layout_get_container() - Get OF node of layout container * -@@ -254,6 +256,8 @@ struct device_node *of_nvmem_layout_get_ +@@ -230,6 +232,8 @@ struct device_node *of_nvmem_layout_get_ #else /* CONFIG_NVMEM && CONFIG_OF */ diff --git a/target/linux/generic/pending-6.18/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-6.18/810-pci_disable_common_quirks.patch index 89dcbc27861..c95d0df015e 100644 --- a/target/linux/generic/pending-6.18/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-6.18/810-pci_disable_common_quirks.patch @@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig -@@ -118,6 +118,13 @@ config XEN_PCIDEV_FRONTEND +@@ -119,6 +119,13 @@ config XEN_PCIDEV_FRONTEND The PCI device frontend driver allows the kernel to import arbitrary PCI devices from a PCI backend to support PCI driver domains. @@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -313,6 +313,7 @@ static void quirk_mmio_always_on(struct +@@ -316,6 +316,7 @@ static void quirk_mmio_always_on(struct DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos /* * The Mellanox Tavor device gives false positive parity errors. Disable * parity error reporting. -@@ -3509,6 +3510,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -3519,6 +3520,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * To work around this, query the size it should be configured to by the -@@ -3534,6 +3537,8 @@ static void quirk_intel_ntb(struct pci_d +@@ -3544,6 +3547,8 @@ static void quirk_intel_ntb(struct pci_d DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); @@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos /* * Some BIOS implementations leave the Intel GPU interrupts enabled, even * though no one is handling them (e.g., if the i915 driver is never -@@ -3572,6 +3577,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3582,6 +3587,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/generic/pending-6.18/834-ledtrig-libata.patch b/target/linux/generic/pending-6.18/834-ledtrig-libata.patch index 4b497d9fbf8..e2954e3bb75 100644 --- a/target/linux/generic/pending-6.18/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-6.18/834-ledtrig-libata.patch @@ -63,7 +63,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @qc: Metadata associated with the taskfile to build -@@ -4807,6 +4818,9 @@ void __ata_qc_complete(struct ata_queued +@@ -4867,6 +4878,9 @@ void __ata_qc_complete(struct ata_queued link->active_tag = ATA_TAG_POISON; ap->nr_active_links--; } @@ -73,7 +73,7 @@ Signed-off-by: Daniel Golle /* clear exclusive status */ if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL && -@@ -5536,6 +5550,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5596,6 +5610,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); ata_force_pflags(ap); -@@ -5552,6 +5569,12 @@ void ata_port_free(struct ata_port *ap) +@@ -5612,6 +5629,12 @@ void ata_port_free(struct ata_port *ap) kfree(ap->pmp_link); kfree(ap->slave_link); ida_free(&ata_ida, ap->print_id); @@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle kfree(ap); } EXPORT_SYMBOL_GPL(ata_port_free); -@@ -5956,7 +5979,23 @@ int ata_host_register(struct ata_host *h +@@ -6016,7 +6039,23 @@ int ata_host_register(struct ata_host *h WARN_ON(1); return -EINVAL; } @@ -132,7 +132,7 @@ Signed-off-by: Daniel Golle /* * Define if arch has non-standard setup. This is a _PCI_ standard -@@ -937,6 +940,10 @@ struct ata_port { +@@ -939,6 +942,10 @@ struct ata_port { #ifdef CONFIG_ATA_ACPI struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ #endif diff --git a/target/linux/generic/pending-6.18/910-crypto-testmgr-Add-test-vectors-for-authenc-hmac-md5.patch b/target/linux/generic/pending-6.18/910-crypto-testmgr-Add-test-vectors-for-authenc-hmac-md5.patch index 2d33d2ad59d..c79f93a5a85 100644 --- a/target/linux/generic/pending-6.18/910-crypto-testmgr-Add-test-vectors-for-authenc-hmac-md5.patch +++ b/target/linux/generic/pending-6.18/910-crypto-testmgr-Add-test-vectors-for-authenc-hmac-md5.patch @@ -17,7 +17,7 @@ Signed-off-by: Aleksander Jan Bajkowski --- a/crypto/testmgr.c +++ b/crypto/testmgr.c -@@ -4375,6 +4375,13 @@ static const struct alg_test_desc alg_te +@@ -4177,6 +4177,13 @@ static const struct alg_test_desc alg_te .cprng = __VECS(ansi_cprng_aes_tv_template) } }, { @@ -33,7 +33,7 @@ Signed-off-by: Aleksander Jan Bajkowski .test = alg_test_aead, --- a/crypto/testmgr.h +++ b/crypto/testmgr.h -@@ -17133,6 +17133,261 @@ static const struct cipher_testvec aes_c +@@ -15826,6 +15826,261 @@ static const struct cipher_testvec aes_c }, }; diff --git a/target/linux/generic/pending-6.18/920-mangle_bootargs.patch b/target/linux/generic/pending-6.18/920-mangle_bootargs.patch index 3bf2fce4fbe..506b7ff19cb 100644 --- a/target/linux/generic/pending-6.18/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-6.18/920-mangle_bootargs.patch @@ -13,9 +13,9 @@ Signed-off-by: Imre Kaloz --- a/init/Kconfig +++ b/init/Kconfig -@@ -1888,6 +1888,15 @@ config ARCH_HAS_MEMBARRIER_CALLBACKS - config ARCH_HAS_MEMBARRIER_SYNC_CORE - bool +@@ -2012,6 +2012,15 @@ config ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPIN + For complete descriptions of memory sealing, please see + Documentation/userspace-api/mseal.rst +config MANGLE_BOOTARGS + bool "Rename offending bootargs" @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -633,6 +633,29 @@ static inline void setup_nr_cpu_ids(void +@@ -635,6 +635,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -939,6 +962,7 @@ void start_kernel(void) +@@ -934,6 +957,7 @@ void start_kernel(void) jump_label_init(); static_call_init(); early_security_init();