From: Shiji Yang Date: Tue, 9 Jun 2026 15:42:36 +0000 (+0800) Subject: kernel: bump 6.12 to 6.12.93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=312116bda99988dc62d5b656b1fbdbbbadc2a2fa;p=thirdparty%2Fopenwrt.git kernel: bump 6.12 to 6.12.93 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.93 Manually rebased patch: - bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch[1] All other patches are automatically refreshed. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.93&id=acd55ea40d03e06f20a9986363019e0e5173990e Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/23730 Signed-off-by: Jonas Jelonek --- diff --git a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch index ae78d711acb..e26aaebab3c 100644 --- a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch @@ -295,7 +295,7 @@ SVN-Revision: 35130 &sin->sin6_addr); sin->sin6_scope_id = 0; } -@@ -853,12 +853,12 @@ int ip6_datagram_send_ctl(struct net *ne +@@ -891,12 +891,12 @@ int ip6_datagram_send_ctl(struct net *ne } if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { @@ -312,7 +312,7 @@ SVN-Revision: 35130 case IPV6_2292HOPOPTS: --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c -@@ -1004,7 +1004,7 @@ static bool ipv6_hop_jumbo(struct sk_buf +@@ -1008,7 +1008,7 @@ static bool ipv6_hop_jumbo(struct sk_buf goto drop; } diff --git a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch index 32e5eab786c..024532fb688 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch @@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644); MODULE_PARM_DESC(mousepoll, "Polling interval of mice"); -@@ -1132,7 +1132,9 @@ static int usbhid_start(struct hid_devic +@@ -1133,7 +1133,9 @@ static int usbhid_start(struct hid_devic */ switch (hid->collection->usage) { case HID_GD_MOUSE: @@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell interval = hid_mousepoll_interval; break; case HID_GD_JOYSTICK: -@@ -1144,6 +1146,7 @@ static int usbhid_start(struct hid_devic +@@ -1145,6 +1147,7 @@ static int usbhid_start(struct hid_devic interval = hid_kbpoll_interval; break; } diff --git a/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index ca24d156ad2..2ffdc269b7e 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -1951,6 +1951,16 @@ reset: +@@ -1949,6 +1949,16 @@ reset: return ret; } diff --git a/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch index 2d83ebaab14..b9bc4f09ed4 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch @@ -179,7 +179,7 @@ Signed-off-by: popcornmix if (job->perfmon) v3d_perfmon_put(job->perfmon); -@@ -199,6 +243,7 @@ v3d_job_init(struct v3d_dev *v3d, struct +@@ -217,6 +261,7 @@ v3d_job_init(struct v3d_dev *v3d, struct goto fail_deps; } @@ -187,7 +187,7 @@ Signed-off-by: popcornmix kref_init(&job->refcount); return 0; -@@ -1398,3 +1443,14 @@ fail: +@@ -1414,3 +1459,14 @@ fail: return ret; } diff --git a/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 29f8dd11886..7f8a6cd78dd 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1484,6 +1487,9 @@ +@@ -1485,6 +1488,9 @@ #define USB_VENDOR_ID_XIAOMI 0x2717 #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014 @@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -217,6 +218,7 @@ static const struct hid_device_id hid_qu +@@ -218,6 +219,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, diff --git a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch index 4fc8d935453..527494fce73 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch @@ -48,7 +48,7 @@ Signed-off-by: David Plowman #ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE unsigned int pageblock_order __read_mostly; #endif -@@ -2292,12 +2313,13 @@ __rmqueue(struct zone *zone, unsigned in +@@ -2293,12 +2314,13 @@ __rmqueue(struct zone *zone, unsigned in if (IS_ENABLED(CONFIG_CMA)) { /* * Balance movable allocations between regular and CMA areas by diff --git a/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch b/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch index 1728e95d950..c497d134dfb 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch @@ -22,52 +22,7 @@ Reviewed-by: Maíra Canal --- a/drivers/gpu/drm/v3d/v3d_submit.c +++ b/drivers/gpu/drm/v3d/v3d_submit.c -@@ -125,9 +125,9 @@ v3d_lookup_bos(struct drm_device *dev, - } - - static void --v3d_job_free(struct kref *ref) -+v3d_job_free_common(struct v3d_job *job, -+ bool is_gpu_job) - { -- struct v3d_job *job = container_of(ref, struct v3d_job, refcount); - struct v3d_dev *v3d = job->v3d; - int i; - -@@ -140,7 +140,8 @@ v3d_job_free(struct kref *ref) - dma_fence_put(job->irq_fence); - dma_fence_put(job->done_fence); - -- v3d_clock_up_put(v3d); -+ if (is_gpu_job) -+ v3d_clock_up_put(v3d); - - if (job->perfmon) - v3d_perfmon_put(job->perfmon); -@@ -149,6 +150,22 @@ v3d_job_free(struct kref *ref) - } - - static void -+v3d_job_free(struct kref *ref) -+{ -+ struct v3d_job *job = container_of(ref, struct v3d_job, refcount); -+ -+ v3d_job_free_common(job, true); -+} -+ -+static void -+v3d_cpu_job_free(struct kref *ref) -+{ -+ struct v3d_job *job = container_of(ref, struct v3d_job, refcount); -+ -+ v3d_job_free_common(job, false); -+} -+ -+static void - v3d_render_job_free(struct kref *ref) - { - struct v3d_render_job *job = container_of(ref, struct v3d_render_job, -@@ -242,8 +259,9 @@ v3d_job_init(struct v3d_dev *v3d, struct +@@ -260,8 +260,9 @@ v3d_job_init(struct v3d_dev *v3d, struct if (ret && ret != -ENOENT) goto fail_deps; } @@ -78,12 +33,3 @@ Reviewed-by: Maíra Canal kref_init(&job->refcount); return 0; -@@ -1355,7 +1373,7 @@ v3d_submit_cpu_ioctl(struct drm_device * - trace_v3d_submit_cpu_ioctl(&v3d->drm, cpu_job->job_type); - - ret = v3d_job_init(v3d, file_priv, &cpu_job->base, -- v3d_job_free, 0, &se, V3D_CPU); -+ v3d_cpu_job_free, 0, &se, V3D_CPU); - if (ret) { - v3d_job_deallocate((void *)&cpu_job); - goto fail; diff --git a/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch b/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch index c3a564e583f..b346b6575c9 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch @@ -120,7 +120,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris +} --- a/drivers/gpu/drm/v3d/v3d_sched.c +++ b/drivers/gpu/drm/v3d/v3d_sched.c -@@ -120,11 +120,19 @@ v3d_cpu_job_free(struct drm_sched_job *s +@@ -106,11 +106,19 @@ v3d_performance_query_info_free(struct v static void v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) { @@ -145,7 +145,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris static void --- a/drivers/gpu/drm/v3d/v3d_submit.c +++ b/drivers/gpu/drm/v3d/v3d_submit.c -@@ -1049,6 +1049,11 @@ v3d_submit_cl_ioctl(struct drm_device *d +@@ -1050,6 +1050,11 @@ v3d_submit_cl_ioctl(struct drm_device *d goto fail; if (args->perfmon_id) { @@ -157,7 +157,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris render->base.perfmon = v3d_perfmon_find(v3d_priv, args->perfmon_id); -@@ -1264,6 +1269,11 @@ v3d_submit_csd_ioctl(struct drm_device * +@@ -1265,6 +1270,11 @@ v3d_submit_csd_ioctl(struct drm_device * goto fail; if (args->perfmon_id) { diff --git a/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch b/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch index 9cb1524aa04..620f208543e 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch @@ -35,7 +35,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20250113154741.67520-2-mcana --- a/drivers/gpu/drm/v3d/v3d_sched.c +++ b/drivers/gpu/drm/v3d/v3d_sched.c -@@ -677,8 +677,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc +@@ -663,8 +663,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc struct v3d_cpu_job *job = to_cpu_job(sched_job); struct v3d_dev *v3d = job->base.v3d; diff --git a/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch b/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch index 069cb5628e4..7940e20a5de 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch @@ -33,7 +33,7 @@ Signed-off-by: Maíra Canal --- a/drivers/gpu/drm/v3d/v3d_sched.c +++ b/drivers/gpu/drm/v3d/v3d_sched.c -@@ -230,8 +230,12 @@ static struct dma_fence *v3d_bin_job_run +@@ -216,8 +216,12 @@ static struct dma_fence *v3d_bin_job_run struct dma_fence *fence; unsigned long irqflags; @@ -47,7 +47,7 @@ Signed-off-by: Maíra Canal /* Lock required around bin_job update vs * v3d_overflow_mem_work(). -@@ -285,8 +289,10 @@ static struct dma_fence *v3d_render_job_ +@@ -271,8 +275,10 @@ static struct dma_fence *v3d_render_job_ struct drm_device *dev = &v3d->drm; struct dma_fence *fence; @@ -59,7 +59,7 @@ Signed-off-by: Maíra Canal v3d->render_job = job; -@@ -331,8 +337,10 @@ v3d_tfu_job_run(struct drm_sched_job *sc +@@ -317,8 +323,10 @@ v3d_tfu_job_run(struct drm_sched_job *sc struct drm_device *dev = &v3d->drm; struct dma_fence *fence; @@ -71,7 +71,7 @@ Signed-off-by: Maíra Canal v3d->tfu_job = job; -@@ -377,8 +385,10 @@ v3d_csd_job_run(struct drm_sched_job *sc +@@ -363,8 +371,10 @@ v3d_csd_job_run(struct drm_sched_job *sc struct dma_fence *fence; int i, csd_cfg0_reg; diff --git a/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch b/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch index 6a57329bfa6..6ea273ac098 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch @@ -444,7 +444,7 @@ Signed-off-by: Maíra Canal } --- a/drivers/gpu/drm/v3d/v3d_sched.c +++ b/drivers/gpu/drm/v3d/v3d_sched.c -@@ -361,11 +361,11 @@ v3d_tfu_job_run(struct drm_sched_job *sc +@@ -347,11 +347,11 @@ v3d_tfu_job_run(struct drm_sched_job *sc V3D_WRITE(V3D_TFU_ICA(v3d->ver), job->args.ica); V3D_WRITE(V3D_TFU_IUA(v3d->ver), job->args.iua); V3D_WRITE(V3D_TFU_IOA(v3d->ver), job->args.ioa); @@ -458,7 +458,7 @@ Signed-off-by: Maíra Canal V3D_WRITE(V3D_TFU_COEF1(v3d->ver), job->args.coef[1]); V3D_WRITE(V3D_TFU_COEF2(v3d->ver), job->args.coef[2]); V3D_WRITE(V3D_TFU_COEF3(v3d->ver), job->args.coef[3]); -@@ -416,7 +416,7 @@ v3d_csd_job_run(struct drm_sched_job *sc +@@ -402,7 +402,7 @@ v3d_csd_job_run(struct drm_sched_job *sc * * XXX: Set the CFG7 register */ diff --git a/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch b/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch index 1081663db16..f54f471ab6b 100644 --- a/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch +++ b/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch @@ -502,7 +502,7 @@ Signed-off-by: Jakub Kicinski { } --- a/drivers/net/phy/mscc/mscc_main.c +++ b/drivers/net/phy/mscc/mscc_main.c -@@ -2710,7 +2710,7 @@ static struct phy_driver vsc85xx_driver[ +@@ -2695,7 +2695,7 @@ static struct phy_driver vsc85xx_driver[ module_phy_driver(vsc85xx_driver); diff --git a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch index 4cdc71e4434..99ced70bbef 100644 --- a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch @@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -3274,6 +3274,10 @@ static inline int pskb_trim(struct sk_bu +@@ -3276,6 +3276,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -3439,16 +3443,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -3441,16 +3445,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12 index 7c860e73950..2c776bd716f 100644 --- a/target/linux/generic/kernel-6.12 +++ b/target/linux/generic/kernel-6.12 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.12 = .92 -LINUX_KERNEL_HASH-6.12.92 = 0fe376b7db3cac4456b38291bee4faa7091cb8befaa6f9870314f5d1282f9e3e +LINUX_VERSION-6.12 = .93 +LINUX_KERNEL_HASH-6.12.93 = 492648a87c0b69c5ac7f43be64792b9000e3439550d4e82e4a14710c49094fa3 diff --git a/target/linux/generic/pending-6.12/655-increase_skb_pad.patch b/target/linux/generic/pending-6.12/655-increase_skb_pad.patch index 7e2d3dcfbc5..8bdb26f25dd 100644 --- a/target/linux/generic/pending-6.12/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-6.12/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( +@@ -3243,7 +3243,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.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 7e99fae6b80..861090d31ea 100644 --- a/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -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] +@@ -1089,6 +1103,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 +@@ -1124,6 +1139,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 +@@ -4612,6 +4631,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_ +@@ -5103,7 +5133,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 +@@ -6376,6 +6407,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 +@@ -6387,6 +6420,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 +@@ -6582,6 +6616,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 +@@ -6592,11 +6628,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: +@@ -6623,6 +6669,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 +@@ -6642,6 +6690,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 +@@ -6725,6 +6774,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/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch index 7749edd3ffd..5eec671d67f 100644 --- a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch +++ b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch @@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier +#endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -4850,6 +4850,9 @@ enum skb_ext_id { +@@ -4852,6 +4852,9 @@ enum skb_ext_id { #if IS_ENABLED(CONFIG_MCTP_FLOWS) SKB_EXT_MCTP, #endif @@ -136,7 +136,7 @@ Signed-off-by: Maxime Chevallier #include #include #include -@@ -5074,6 +5078,9 @@ static const u8 skb_ext_type_len[] = { +@@ -5097,6 +5101,9 @@ static const u8 skb_ext_type_len[] = { #if IS_ENABLED(CONFIG_MCTP_FLOWS) [SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow), #endif