kernel: bump 6.1 to 6.1.77
authorJohn Audia <therealgraysky@proton.me>
Tue, 6 Feb 2024 21:44:12 +0000 (16:44 -0500)
committerNick Hainke <vincent@systemli.org>
Thu, 8 Feb 2024 17:35:42 +0000 (18:35 +0100)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.77

Removed upstreamed:
generic/backport-6.1/707-v6.8-01-net-phy-at803x-fix-passing-the-wrong-reference-for-c.patch[1]
generic/backport-6.1/796-v6.8-ipmr-fix-kernel-panic-when-forwarding-mcast-packets.patch[2]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.77&id=7dc0fefd37dd5fb03fdac6e3e01b1c2291148ccb
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.77&id=d2f1b7fe74afd66298dbb3c7b39e7b62e4df1724

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
21 files changed:
include/kernel-6.1
target/linux/ath79/patches-6.1/910-mikrotik-rb4xx.patch
target/linux/bcm27xx/patches-6.1/950-0042-drm-Add-chroma-siting-properties.patch
target/linux/bcm27xx/patches-6.1/950-0106-Add-dwc_otg-driver.patch
target/linux/bcm27xx/patches-6.1/950-0872-mfd-Add-rp1-driver.patch
target/linux/generic/backport-6.1/707-v6.8-01-net-phy-at803x-fix-passing-the-wrong-reference-for-c.patch [deleted file]
target/linux/generic/backport-6.1/778-v6.3-02-net-dsa-qca8k-convert-to-regmap-read-write-API.patch
target/linux/generic/backport-6.1/780-v6.6-01-net-dsa-qca8k-make-learning-configurable-and-keep-of.patch
target/linux/generic/backport-6.1/780-v6.6-02-net-dsa-qca8k-limit-user-ports-access-to-the-first-C.patch
target/linux/generic/backport-6.1/780-v6.6-03-net-dsa-qca8k-move-qca8xxx-hol-fixup-to-separate-fun.patch
target/linux/generic/backport-6.1/780-v6.6-04-net-dsa-qca8k-use-dsa_for_each-macro-instead-of-for-.patch
target/linux/generic/backport-6.1/796-v6.8-ipmr-fix-kernel-panic-when-forwarding-mcast-packets.patch [deleted file]
target/linux/generic/backport-6.1/801-v6.4-02-net-dsa-qca8k-add-LEDs-basic-support.patch
target/linux/generic/pending-6.1/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/pending-6.1/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
target/linux/generic/pending-6.1/711-01-net-dsa-qca8k-implement-lag_fdb_add-del-ops.patch
target/linux/generic/pending-6.1/711-02-net-dsa-qca8k-enable-flooding-to-both-CPU-port.patch
target/linux/generic/pending-6.1/711-03-net-dsa-qca8k-add-support-for-port_change_master.patch
target/linux/generic/pending-6.1/712-net-dsa-qca8k-enable-assisted-learning-on-CPU-port.patch
target/linux/generic/pending-6.1/810-pci_disable_common_quirks.patch
target/linux/mvebu/patches-6.1/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch

index 4abd9f431083bef26193e7096f7e85c5d740d3b4..64aa8ea76bdf31615aa7f8f6b964b52aa12100d5 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.1 = .76
-LINUX_KERNEL_HASH-6.1.76 = 0580cc0e81ff9aee245f79531d8c1c5c7d711eee227cd4cf52d1ff335727b1fd
+LINUX_VERSION-6.1 = .77
+LINUX_KERNEL_HASH-6.1.77 = 3b54ec567716cdfb3618caf38c58a8aab1372cc41c16430633febe9ccdb3f91d
index b61eef0b8a88baa1093c6eca7b5a12de43a507d2..9a163e70b393f47c6f67ef4b6cc1211c3f921605 100644 (file)
@@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
-@@ -2208,6 +2208,14 @@ config RAVE_SP_CORE
+@@ -2209,6 +2209,14 @@ config RAVE_SP_CORE
          Select this to get support for the Supervisory Processor
          device found on several devices in RAVE line of hardware.
  
          Select this to get support for the Supervisory Processor
          device found on several devices in RAVE line of hardware.
  
index 7ae221e8a905f837792a9c1b9d95c0508a1fd48f..4bfb85449ab1a962a366873ff962f073c05e6704 100644 (file)
@@ -106,7 +106,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
   * @tests: bitmask of tests to run
 --- a/include/drm/drm_color_mgmt.h
 +++ b/include/drm/drm_color_mgmt.h
   * @tests: bitmask of tests to run
 --- a/include/drm/drm_color_mgmt.h
 +++ b/include/drm/drm_color_mgmt.h
-@@ -93,6 +93,9 @@ int drm_plane_create_color_properties(st
+@@ -94,6 +94,9 @@ int drm_plane_create_color_properties(st
                                      enum drm_color_encoding default_encoding,
                                      enum drm_color_range default_range);
  
                                      enum drm_color_encoding default_encoding,
                                      enum drm_color_range default_range);
  
index 635e864f99b5c6639b2ba37fb92220efb250df77..02fc0ed49a33bca799365fc0b365a5f4984d4388 100644 (file)
@@ -1185,7 +1185,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -5655,7 +5655,7 @@ static void port_event(struct usb_hub *h
+@@ -5669,7 +5669,7 @@ static void port_event(struct usb_hub *h
                port_dev->over_current_count++;
                port_over_current_notify(port_dev);
  
                port_dev->over_current_count++;
                port_over_current_notify(port_dev);
  
index dd252cba36a562946499b86ed5d867ee9e8944a4..c2044753f9e33c45aa4733b85aa863ba20a1c6d0 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
-@@ -2252,6 +2252,17 @@ config MFD_INTEL_M10_BMC
+@@ -2253,6 +2253,17 @@ config MFD_INTEL_M10_BMC
          additional drivers must be enabled in order to use the functionality
          of the device.
  
          additional drivers must be enabled in order to use the functionality
          of the device.
  
diff --git a/target/linux/generic/backport-6.1/707-v6.8-01-net-phy-at803x-fix-passing-the-wrong-reference-for-c.patch b/target/linux/generic/backport-6.1/707-v6.8-01-net-phy-at803x-fix-passing-the-wrong-reference-for-c.patch
deleted file mode 100644 (file)
index b206b18..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From f8fdbf3389f44c7026f16e36cb1f2ff017f7f5b2 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Fri, 8 Dec 2023 15:51:48 +0100
-Subject: [PATCH 01/13] net: phy: at803x: fix passing the wrong reference for
- config_intr
-
-Fix passing the wrong reference for config_initr on passing the function
-pointer, drop the wrong & from at803x_config_intr in the PHY struct.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/phy/at803x.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/net/phy/at803x.c
-+++ b/drivers/net/phy/at803x.c
-@@ -2104,7 +2104,7 @@ static struct phy_driver at803x_driver[]
-       .write_page             = at803x_write_page,
-       .get_features           = at803x_get_features,
-       .read_status            = at803x_read_status,
--      .config_intr            = &at803x_config_intr,
-+      .config_intr            = at803x_config_intr,
-       .handle_interrupt       = at803x_handle_interrupt,
-       .get_tunable            = at803x_get_tunable,
-       .set_tunable            = at803x_set_tunable,
-@@ -2134,7 +2134,7 @@ static struct phy_driver at803x_driver[]
-       .resume                 = at803x_resume,
-       .flags                  = PHY_POLL_CABLE_TEST,
-       /* PHY_BASIC_FEATURES */
--      .config_intr            = &at803x_config_intr,
-+      .config_intr            = at803x_config_intr,
-       .handle_interrupt       = at803x_handle_interrupt,
-       .cable_test_start       = at803x_cable_test_start,
-       .cable_test_get_status  = at803x_cable_test_get_status,
-@@ -2150,7 +2150,7 @@ static struct phy_driver at803x_driver[]
-       .resume                 = at803x_resume,
-       .flags                  = PHY_POLL_CABLE_TEST,
-       /* PHY_BASIC_FEATURES */
--      .config_intr            = &at803x_config_intr,
-+      .config_intr            = at803x_config_intr,
-       .handle_interrupt       = at803x_handle_interrupt,
-       .cable_test_start       = at803x_cable_test_start,
-       .cable_test_get_status  = at803x_cable_test_get_status,
index 0a631a09c1daa5a43e6e3aebf3262e093f3ba561..b8f8071b0a14f3bb31dde0ea2dd8f2d649e2d324 100644 (file)
@@ -168,7 +168,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  static int
  };
  
  static int
-@@ -2102,8 +2158,6 @@ static SIMPLE_DEV_PM_OPS(qca8k_pm_ops,
+@@ -2112,8 +2168,6 @@ static SIMPLE_DEV_PM_OPS(qca8k_pm_ops,
  
  static const struct qca8k_info_ops qca8xxx_ops = {
        .autocast_mib = qca8k_get_ethtool_stats_eth,
  
  static const struct qca8k_info_ops qca8xxx_ops = {
        .autocast_mib = qca8k_get_ethtool_stats_eth,
index 6e93491a1278d42fdb99d0d4dc00675853564eb5..d31789370e8c6b7642ae76f692984eec7751ba0f 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1894,9 +1894,8 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1905,9 +1905,8 @@ qca8k_setup(struct dsa_switch *ds)
                        if (ret)
                                return ret;
  
                        if (ret)
                                return ret;
  
@@ -44,7 +44,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                        if (ret)
                                return ret;
  
                        if (ret)
                                return ret;
  
-@@ -2002,6 +2001,8 @@ static const struct dsa_switch_ops qca8k
+@@ -2013,6 +2012,8 @@ static const struct dsa_switch_ops qca8k
        .port_change_mtu        = qca8k_port_change_mtu,
        .port_max_mtu           = qca8k_port_max_mtu,
        .port_stp_state_set     = qca8k_port_stp_state_set,
        .port_change_mtu        = qca8k_port_change_mtu,
        .port_max_mtu           = qca8k_port_max_mtu,
        .port_stp_state_set     = qca8k_port_stp_state_set,
index fdb3a8cdb9486bc5bdab765715a99a75b26793ae..4b457f67de8a6c36f08b4809fd6a768a21531efa 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1874,18 +1874,16 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1885,18 +1885,16 @@ qca8k_setup(struct dsa_switch *ds)
        if (ret)
                return ret;
  
        if (ret)
                return ret;
  
index c789fdf05ee7ccacc655f5d62869f41b799dff3d..f556628b5b5dea9ea44ea221436d69f8551292a0 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1784,6 +1784,46 @@ static int qca8k_connect_tag_protocol(st
+@@ -1795,6 +1795,46 @@ static int qca8k_connect_tag_protocol(st
        return 0;
  }
  
        return 0;
  }
  
@@ -64,7 +64,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  static int
  qca8k_setup(struct dsa_switch *ds)
  {
  static int
  qca8k_setup(struct dsa_switch *ds)
  {
-@@ -1919,42 +1959,8 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1930,42 +1970,8 @@ qca8k_setup(struct dsa_switch *ds)
                 * missing settings to improve switch stability under load condition.
                 * This problem is limited to qca8337 and other qca8k switch are not affected.
                 */
                 * missing settings to improve switch stability under load condition.
                 * This problem is limited to qca8337 and other qca8k switch are not affected.
                 */
index 4f9581235db18c64a249abff6899a21e884b426a..faa0142ca997baac001b5912725b06afcab70704 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1828,7 +1828,8 @@ static int
+@@ -1839,7 +1839,8 @@ static int
  qca8k_setup(struct dsa_switch *ds)
  {
        struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
  qca8k_setup(struct dsa_switch *ds)
  {
        struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
@@ -27,7 +27,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        u32 mask;
  
        cpu_port = qca8k_find_cpu_port(ds);
        u32 mask;
  
        cpu_port = qca8k_find_cpu_port(ds);
-@@ -1879,27 +1880,27 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1890,27 +1891,27 @@ qca8k_setup(struct dsa_switch *ds)
                dev_warn(priv->dev, "mib init failed");
  
        /* Initial setup of all ports */
                dev_warn(priv->dev, "mib init failed");
  
        /* Initial setup of all ports */
@@ -70,7 +70,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        }
  
        /* Forward all unknown frames to CPU port for Linux processing
        }
  
        /* Forward all unknown frames to CPU port for Linux processing
-@@ -1921,48 +1922,48 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1932,48 +1933,48 @@ qca8k_setup(struct dsa_switch *ds)
                return ret;
  
        /* Setup connection between CPU port & user ports
                return ret;
  
        /* Setup connection between CPU port & user ports
diff --git a/target/linux/generic/backport-6.1/796-v6.8-ipmr-fix-kernel-panic-when-forwarding-mcast-packets.patch b/target/linux/generic/backport-6.1/796-v6.8-ipmr-fix-kernel-panic-when-forwarding-mcast-packets.patch
deleted file mode 100644 (file)
index 3955690..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-From e622502c310f1069fd9f41cd38210553115f610a Mon Sep 17 00:00:00 2001
-From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
-Date: Thu, 25 Jan 2024 15:18:47 +0100
-Subject: [PATCH] ipmr: fix kernel panic when forwarding mcast packets
-
-The stacktrace was:
-[   86.305548] BUG: kernel NULL pointer dereference, address: 0000000000000092
-[   86.306815] #PF: supervisor read access in kernel mode
-[   86.307717] #PF: error_code(0x0000) - not-present page
-[   86.308624] PGD 0 P4D 0
-[   86.309091] Oops: 0000 [#1] PREEMPT SMP NOPTI
-[   86.309883] CPU: 2 PID: 3139 Comm: pimd Tainted: G     U             6.8.0-6wind-knet #1
-[   86.311027] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org 04/01/2014
-[   86.312728] RIP: 0010:ip_mr_forward (/build/work/knet/net/ipv4/ipmr.c:1985)
-[ 86.313399] Code: f9 1f 0f 87 85 03 00 00 48 8d 04 5b 48 8d 04 83 49 8d 44 c5 00 48 8b 40 70 48 39 c2 0f 84 d9 00 00 00 49 8b 46 58 48 83 e0 fe <80> b8 92 00 00 00 00 0f 84 55 ff ff ff 49 83 47 38 01 45 85 e4 0f
-[   86.316565] RSP: 0018:ffffad21c0583ae0 EFLAGS: 00010246
-[   86.317497] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
-[   86.318596] RDX: ffff9559cb46c000 RSI: 0000000000000000 RDI: 0000000000000000
-[   86.319627] RBP: ffffad21c0583b30 R08: 0000000000000000 R09: 0000000000000000
-[   86.320650] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
-[   86.321672] R13: ffff9559c093a000 R14: ffff9559cc00b800 R15: ffff9559c09c1d80
-[   86.322873] FS:  00007f85db661980(0000) GS:ffff955a79d00000(0000) knlGS:0000000000000000
-[   86.324291] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[   86.325314] CR2: 0000000000000092 CR3: 000000002f13a000 CR4: 0000000000350ef0
-[   86.326589] Call Trace:
-[   86.327036]  <TASK>
-[   86.327434] ? show_regs (/build/work/knet/arch/x86/kernel/dumpstack.c:479)
-[   86.328049] ? __die (/build/work/knet/arch/x86/kernel/dumpstack.c:421 /build/work/knet/arch/x86/kernel/dumpstack.c:434)
-[   86.328508] ? page_fault_oops (/build/work/knet/arch/x86/mm/fault.c:707)
-[   86.329107] ? do_user_addr_fault (/build/work/knet/arch/x86/mm/fault.c:1264)
-[   86.329756] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.330350] ? __irq_work_queue_local (/build/work/knet/kernel/irq_work.c:111 (discriminator 1))
-[   86.331013] ? exc_page_fault (/build/work/knet/./arch/x86/include/asm/paravirt.h:693 /build/work/knet/arch/x86/mm/fault.c:1515 /build/work/knet/arch/x86/mm/fault.c:1563)
-[   86.331702] ? asm_exc_page_fault (/build/work/knet/./arch/x86/include/asm/idtentry.h:570)
-[   86.332468] ? ip_mr_forward (/build/work/knet/net/ipv4/ipmr.c:1985)
-[   86.333183] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.333920] ipmr_mfc_add (/build/work/knet/./include/linux/rcupdate.h:782 /build/work/knet/net/ipv4/ipmr.c:1009 /build/work/knet/net/ipv4/ipmr.c:1273)
-[   86.334583] ? __pfx_ipmr_hash_cmp (/build/work/knet/net/ipv4/ipmr.c:363)
-[   86.335357] ip_mroute_setsockopt (/build/work/knet/net/ipv4/ipmr.c:1470)
-[   86.336135] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.336854] ? ip_mroute_setsockopt (/build/work/knet/net/ipv4/ipmr.c:1470)
-[   86.337679] do_ip_setsockopt (/build/work/knet/net/ipv4/ip_sockglue.c:944)
-[   86.338408] ? __pfx_unix_stream_read_actor (/build/work/knet/net/unix/af_unix.c:2862)
-[   86.339232] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.339809] ? aa_sk_perm (/build/work/knet/security/apparmor/include/cred.h:153 /build/work/knet/security/apparmor/net.c:181)
-[   86.340342] ip_setsockopt (/build/work/knet/net/ipv4/ip_sockglue.c:1415)
-[   86.340859] raw_setsockopt (/build/work/knet/net/ipv4/raw.c:836)
-[   86.341408] ? security_socket_setsockopt (/build/work/knet/security/security.c:4561 (discriminator 13))
-[   86.342116] sock_common_setsockopt (/build/work/knet/net/core/sock.c:3716)
-[   86.342747] do_sock_setsockopt (/build/work/knet/net/socket.c:2313)
-[   86.343363] __sys_setsockopt (/build/work/knet/./include/linux/file.h:32 /build/work/knet/net/socket.c:2336)
-[   86.344020] __x64_sys_setsockopt (/build/work/knet/net/socket.c:2340)
-[   86.344766] do_syscall_64 (/build/work/knet/arch/x86/entry/common.c:52 /build/work/knet/arch/x86/entry/common.c:83)
-[   86.345433] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.346161] ? syscall_exit_work (/build/work/knet/./include/linux/audit.h:357 /build/work/knet/kernel/entry/common.c:160)
-[   86.346938] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.347657] ? syscall_exit_to_user_mode (/build/work/knet/kernel/entry/common.c:215)
-[   86.348538] ? srso_return_thunk (/build/work/knet/arch/x86/lib/retpoline.S:223)
-[   86.349262] ? do_syscall_64 (/build/work/knet/./arch/x86/include/asm/cpufeature.h:171 /build/work/knet/arch/x86/entry/common.c:98)
-[   86.349971] entry_SYSCALL_64_after_hwframe (/build/work/knet/arch/x86/entry/entry_64.S:129)
-
-The original packet in ipmr_cache_report() may be queued and then forwarded
-with ip_mr_forward(). This last function has the assumption that the skb
-dst is set.
-
-After the below commit, the skb dst is dropped by ipv4_pktinfo_prepare(),
-which causes the oops.
-
-Fixes: bb7403655b3c ("ipmr: support IP_PKTINFO on cache report IGMP msg")
-Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Link: https://lore.kernel.org/r/20240125141847.1931933-1-nicolas.dichtel@6wind.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- include/net/ip.h       | 2 +-
- net/ipv4/ip_sockglue.c | 6 ++++--
- net/ipv4/ipmr.c        | 2 +-
- net/ipv4/raw.c         | 2 +-
- net/ipv4/udp.c         | 2 +-
- 5 files changed, 8 insertions(+), 6 deletions(-)
-
---- a/include/net/ip.h
-+++ b/include/net/ip.h
-@@ -752,7 +752,7 @@ int ip_options_rcv_srr(struct sk_buff *s
-  *    Functions provided by ip_sockglue.c
-  */
--void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb);
-+void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb, bool drop_dst);
- void ip_cmsg_recv_offset(struct msghdr *msg, struct sock *sk,
-                        struct sk_buff *skb, int tlen, int offset);
- int ip_cmsg_send(struct sock *sk, struct msghdr *msg,
---- a/net/ipv4/ip_sockglue.c
-+++ b/net/ipv4/ip_sockglue.c
-@@ -1406,12 +1406,13 @@ e_inval:
-  * ipv4_pktinfo_prepare - transfer some info from rtable to skb
-  * @sk: socket
-  * @skb: buffer
-+ * @drop_dst: if true, drops skb dst
-  *
-  * To support IP_CMSG_PKTINFO option, we store rt_iif and specific
-  * destination in skb->cb[] before dst drop.
-  * This way, receiver doesn't make cache line misses to read rtable.
-  */
--void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb)
-+void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb, bool drop_dst)
- {
-       struct in_pktinfo *pktinfo = PKTINFO_SKB_CB(skb);
-       bool prepare = (inet_sk(sk)->cmsg_flags & IP_CMSG_PKTINFO) ||
-@@ -1440,7 +1441,8 @@ void ipv4_pktinfo_prepare(const struct s
-               pktinfo->ipi_ifindex = 0;
-               pktinfo->ipi_spec_dst.s_addr = 0;
-       }
--      skb_dst_drop(skb);
-+      if (drop_dst)
-+              skb_dst_drop(skb);
- }
- int ip_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
---- a/net/ipv4/ipmr.c
-+++ b/net/ipv4/ipmr.c
-@@ -1073,7 +1073,7 @@ static int ipmr_cache_report(const struc
-               msg = (struct igmpmsg *)skb_network_header(skb);
-               msg->im_vif = vifi;
-               msg->im_vif_hi = vifi >> 8;
--              ipv4_pktinfo_prepare(mroute_sk, pkt);
-+              ipv4_pktinfo_prepare(mroute_sk, pkt, false);
-               memcpy(skb->cb, pkt->cb, sizeof(skb->cb));
-               /* Add our header */
-               igmp = skb_put(skb, sizeof(struct igmphdr));
---- a/net/ipv4/raw.c
-+++ b/net/ipv4/raw.c
-@@ -288,7 +288,7 @@ static int raw_rcv_skb(struct sock *sk,
- {
-       /* Charge it to the socket. */
--      ipv4_pktinfo_prepare(sk, skb);
-+      ipv4_pktinfo_prepare(sk, skb, true);
-       if (sock_queue_rcv_skb(sk, skb) < 0) {
-               kfree_skb(skb);
-               return NET_RX_DROP;
---- a/net/ipv4/udp.c
-+++ b/net/ipv4/udp.c
-@@ -2196,7 +2196,7 @@ static int udp_queue_rcv_one_skb(struct
-       udp_csum_pull_header(skb);
--      ipv4_pktinfo_prepare(sk, skb);
-+      ipv4_pktinfo_prepare(sk, skb, true);
-       return __udp_queue_rcv_skb(sk, skb);
- csum_error:
index 4bd84223ef33f1311ff82a07fa96c5b85bcd5e7f..409fe9c7a19c7990ddca29fb31d8c0c52cefc4eb 100644 (file)
@@ -71,7 +71,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  
  static void
  qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
  
  static void
  qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
-@@ -1840,6 +1841,10 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1851,6 +1852,10 @@ qca8k_setup(struct dsa_switch *ds)
        if (ret)
                return ret;
  
        if (ret)
                return ret;
  
index 2bc25eb4fa668434d3d3994941f7cb554a7860cb..b799c6fc9cb6a66a22dd39d36591b44a7f43c301 100644 (file)
@@ -275,8 +275,8 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
                         const struct tnl_ptk_info *tpi,
                         struct metadata_dst *tun_dst,
  static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
                         const struct tnl_ptk_info *tpi,
                         struct metadata_dst *tun_dst,
-@@ -840,6 +966,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
-       skb_reset_network_header(skb);
+@@ -855,6 +981,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
        memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
  
 +      if (tpi->proto == htons(ETH_P_IP) && tunnel->parms.fmrs &&
        memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
  
 +      if (tpi->proto == htons(ETH_P_IP) && tunnel->parms.fmrs &&
@@ -303,7 +303,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        __skb_tunnel_rx(skb, tunnel->dev, tunnel->net);
  
        err = dscp_ecn_decapsulate(tunnel, ipv6h, skb);
        __skb_tunnel_rx(skb, tunnel->dev, tunnel->net);
  
        err = dscp_ecn_decapsulate(tunnel, ipv6h, skb);
-@@ -987,6 +1134,7 @@ static void init_tel_txopt(struct ipv6_t
+@@ -1002,6 +1149,7 @@ static void init_tel_txopt(struct ipv6_t
        opt->ops.opt_nflen = 8;
  }
  
        opt->ops.opt_nflen = 8;
  }
  
@@ -311,7 +311,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  /**
   * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
   *   @t: the outgoing tunnel device
  /**
   * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
   *   @t: the outgoing tunnel device
-@@ -1278,6 +1426,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1293,6 +1441,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
                u8 protocol)
  {
        struct ip6_tnl *t = netdev_priv(dev);
                u8 protocol)
  {
        struct ip6_tnl *t = netdev_priv(dev);
@@ -319,7 +319,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        struct ipv6hdr *ipv6h;
        const struct iphdr  *iph;
        int encap_limit = -1;
        struct ipv6hdr *ipv6h;
        const struct iphdr  *iph;
        int encap_limit = -1;
-@@ -1377,6 +1526,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1392,6 +1541,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
        fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
        dsfield = INET_ECN_encapsulate(dsfield, orig_dsfield);
  
        fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
        dsfield = INET_ECN_encapsulate(dsfield, orig_dsfield);
  
@@ -338,7 +338,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
                return -1;
  
        if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
                return -1;
  
-@@ -1530,6 +1691,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1545,6 +1706,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
        t->parms.link = p->link;
        t->parms.proto = p->proto;
        t->parms.fwmark = p->fwmark;
        t->parms.link = p->link;
        t->parms.proto = p->proto;
        t->parms.fwmark = p->fwmark;
@@ -353,7 +353,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        dst_cache_reset(&t->dst_cache);
        ip6_tnl_link_config(t);
  }
        dst_cache_reset(&t->dst_cache);
        ip6_tnl_link_config(t);
  }
-@@ -1564,6 +1733,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1579,6 +1748,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
        p->flowinfo = u->flowinfo;
        p->link = u->link;
        p->proto = u->proto;
        p->flowinfo = u->flowinfo;
        p->link = u->link;
        p->proto = u->proto;
@@ -361,7 +361,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        memcpy(p->name, u->name, sizeof(u->name));
  }
  
        memcpy(p->name, u->name, sizeof(u->name));
  }
  
-@@ -1950,6 +2120,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1965,6 +2135,15 @@ static int ip6_tnl_validate(struct nlatt
        return 0;
  }
  
        return 0;
  }
  
@@ -377,7 +377,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  static void ip6_tnl_netlink_parms(struct nlattr *data[],
                                  struct __ip6_tnl_parm *parms)
  {
  static void ip6_tnl_netlink_parms(struct nlattr *data[],
                                  struct __ip6_tnl_parm *parms)
  {
-@@ -1987,6 +2166,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -2002,6 +2181,46 @@ static void ip6_tnl_netlink_parms(struct
  
        if (data[IFLA_IPTUN_FWMARK])
                parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
  
        if (data[IFLA_IPTUN_FWMARK])
                parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
@@ -424,7 +424,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  }
  
  static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
  }
  
  static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
-@@ -2070,6 +2289,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2085,6 +2304,12 @@ static void ip6_tnl_dellink(struct net_d
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
@@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
-@@ -2099,6 +2324,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2114,6 +2339,24 @@ static size_t ip6_tnl_get_size(const str
                nla_total_size(0) +
                /* IFLA_IPTUN_FWMARK */
                nla_total_size(4) +
                nla_total_size(0) +
                /* IFLA_IPTUN_FWMARK */
                nla_total_size(4) +
@@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
                0;
  }
  
                0;
  }
  
-@@ -2106,6 +2349,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2121,6 +2364,9 @@ static int ip6_tnl_fill_info(struct sk_b
  {
        struct ip6_tnl *tunnel = netdev_priv(dev);
        struct __ip6_tnl_parm *parm = &tunnel->parms;
  {
        struct ip6_tnl *tunnel = netdev_priv(dev);
        struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2115,9 +2361,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2130,9 +2376,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) ||
            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 <cyrus@openwrt.org>
        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) ||
        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) ||
-@@ -2157,6 +2421,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2172,6 +2436,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 },
        [IFLA_IPTUN_ENCAP_DPORT]        = { .type = NLA_U16 },
        [IFLA_IPTUN_COLLECT_METADATA]   = { .type = NLA_FLAG },
        [IFLA_IPTUN_FWMARK]             = { .type = NLA_U32 },
index 7b1571ea6ecf2257bdc046a3974320f620271a44..db95e28af3b15fc566fff58879fcfd3b3095e0a5 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -7904,7 +7904,7 @@ static int nft_register_flowtable_net_ho
+@@ -7908,7 +7908,7 @@ static int nft_register_flowtable_net_ho
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
index b03bb622d326fab1cd53061c8d2a7be3d6a95cc5..629b141572dbc7aefaf5a864a806a692fa825acb 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -2004,6 +2004,8 @@ static const struct dsa_switch_ops qca8k
+@@ -2015,6 +2015,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,
        .port_fdb_add           = qca8k_port_fdb_add,
        .port_fdb_del           = qca8k_port_fdb_del,
        .port_fdb_dump          = qca8k_port_fdb_dump,
index 8ba89ccfa59389ad54d44e7dbc73a8af03dda660..24243468a8fa83d5ce59086e23a0f14219427e55 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1893,15 +1893,12 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1904,15 +1904,12 @@ qca8k_setup(struct dsa_switch *ds)
                }
        }
  
                }
        }
  
index bf1415b939fcb814ac8ed236e1e2bb825b33a6d1..8a58e0f76e0e610c8e4e142898d0519bb64c542b 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -1730,6 +1730,117 @@ qca8k_get_tag_protocol(struct dsa_switch
+@@ -1741,6 +1741,117 @@ qca8k_get_tag_protocol(struct dsa_switch
        return DSA_TAG_PROTO_QCA;
  }
  
        return DSA_TAG_PROTO_QCA;
  }
  
@@ -144,7 +144,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  static void
  qca8k_master_change(struct dsa_switch *ds, const struct net_device *master,
                    bool operational)
  static void
  qca8k_master_change(struct dsa_switch *ds, const struct net_device *master,
                    bool operational)
-@@ -2016,8 +2127,9 @@ static const struct dsa_switch_ops qca8k
+@@ -2027,8 +2138,9 @@ static const struct dsa_switch_ops qca8k
        .phylink_mac_link_down  = qca8k_phylink_mac_link_down,
        .phylink_mac_link_up    = qca8k_phylink_mac_link_up,
        .get_phy_flags          = qca8k_get_phy_flags,
        .phylink_mac_link_down  = qca8k_phylink_mac_link_down,
        .phylink_mac_link_up    = qca8k_phylink_mac_link_up,
        .get_phy_flags          = qca8k_get_phy_flags,
index 4d0b363c379472813ec2bdbc2fccaf44200f5d97..23816fe3660cde5c1eced86ad1a6d03998e92a7e 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 
 --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -2002,6 +2002,12 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -2013,6 +2013,12 @@ qca8k_setup(struct dsa_switch *ds)
                        dev_err(priv->dev, "failed enabling QCA header mode on port %d", dp->index);
                        return ret;
                }
                        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 <ansuelsmth@gmail.com>
        }
  
        /* Forward all unknown frames to CPU port for Linux processing */
        }
  
        /* Forward all unknown frames to CPU port for Linux processing */
-@@ -2031,11 +2037,6 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -2042,11 +2048,6 @@ qca8k_setup(struct dsa_switch *ds)
                if (ret)
                        return ret;
  
                if (ret)
                        return ret;
  
@@ -45,7 +45,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                /* For port based vlans to work we need to set the
                 * default egress vid
                 */
                /* For port based vlans to work we need to set the
                 * default egress vid
                 */
-@@ -2087,6 +2088,9 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -2098,6 +2099,9 @@ qca8k_setup(struct dsa_switch *ds)
        /* Set max number of LAGs supported */
        ds->num_lag_ids = QCA8K_NUM_LAGS;
  
        /* Set max number of LAGs supported */
        ds->num_lag_ids = QCA8K_NUM_LAGS;
  
index 68ac12f996d11d7173614e917088bdf07e13428d..ba06196f7cbbff23d23ba278cb954c6c61a7a9a1 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  /*
   * The Mellanox Tavor device gives false positive parity errors.  Disable
   * parity error reporting.
  /*
   * The Mellanox Tavor device gives false positive parity errors.  Disable
   * parity error reporting.
-@@ -3390,6 +3391,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3393,6 +3394,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);
  
  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 <juhosg@openwrt.org>
  /*
   * 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
  /*
   * 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
-@@ -3415,6 +3418,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3418,6 +3421,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);
  
  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 <juhosg@openwrt.org>
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * though no one is handling them (e.g., if the i915 driver is never
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * though no one is handling them (e.g., if the i915 driver is never
-@@ -3453,6 +3458,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3456,6 +3461,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);
  
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
index d2134042500102cd2510f779cc8f0690253557f2..47d9e3a263761b02676579e40a0bfebf931c5d69 100644 (file)
@@ -26,7 +26,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
-@@ -2221,6 +2221,15 @@ config SGI_MFD_IOC3
+@@ -2222,6 +2222,15 @@ config SGI_MFD_IOC3
          If you have an SGI Origin, Octane, or a PCI IOC3 card,
          then say Y. Otherwise say N.
  
          If you have an SGI Origin, Octane, or a PCI IOC3 card,
          then say Y. Otherwise say N.