]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 4.14
authorSasha Levin <sashal@kernel.org>
Mon, 17 Jul 2023 01:01:22 +0000 (21:01 -0400)
committerSasha Levin <sashal@kernel.org>
Thu, 20 Jul 2023 15:36:36 +0000 (11:36 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.14/ipv6-addrconf-fix-a-potential-refcount-underflow-for.patch [new file with mode: 0644]
queue-4.14/net-mvneta-fix-txq_map-in-case-of-txq_number-1.patch [new file with mode: 0644]
queue-4.14/net-sched-make-psched_mtu-rtnl-less-safe.patch [new file with mode: 0644]
queue-4.14/ntb-amd-fix-error-handling-in-amd_ntb_pci_driver_ini.patch [new file with mode: 0644]
queue-4.14/ntb-idt-fix-error-handling-in-idt_pci_driver_init.patch [new file with mode: 0644]
queue-4.14/ntb-intel-fix-error-handling-in-intel_ntb_pci_driver.patch [new file with mode: 0644]
queue-4.14/ntb-ntb_transport-fix-possible-memory-leak-while-dev.patch [new file with mode: 0644]
queue-4.14/series
queue-4.14/udp6-fix-udp6_ehashfn-typo.patch [new file with mode: 0644]
queue-4.14/wifi-airo-avoid-uninitialized-warning-in-airo_get_ra.patch [new file with mode: 0644]

diff --git a/queue-4.14/ipv6-addrconf-fix-a-potential-refcount-underflow-for.patch b/queue-4.14/ipv6-addrconf-fix-a-potential-refcount-underflow-for.patch
new file mode 100644 (file)
index 0000000..e0aaf0f
--- /dev/null
@@ -0,0 +1,53 @@
+From efb0a2b5d1896beed319a1b35adca84329d92410 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 8 Jul 2023 14:59:10 +0800
+Subject: ipv6/addrconf: fix a potential refcount underflow for idev
+
+From: Ziyang Xuan <william.xuanziyang@huawei.com>
+
+[ Upstream commit 06a0716949c22e2aefb648526580671197151acc ]
+
+Now in addrconf_mod_rs_timer(), reference idev depends on whether
+rs_timer is not pending. Then modify rs_timer timeout.
+
+There is a time gap in [1], during which if the pending rs_timer
+becomes not pending. It will miss to hold idev, but the rs_timer
+is activated. Thus rs_timer callback function addrconf_rs_timer()
+will be executed and put idev later without holding idev. A refcount
+underflow issue for idev can be caused by this.
+
+       if (!timer_pending(&idev->rs_timer))
+               in6_dev_hold(idev);
+                 <--------------[1]
+       mod_timer(&idev->rs_timer, jiffies + when);
+
+To fix the issue, hold idev if mod_timer() return 0.
+
+Fixes: b7b1bfce0bb6 ("ipv6: split duplicate address detection and router solicitation timer")
+Suggested-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com>
+Reviewed-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/ipv6/addrconf.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
+index 0d3e76b160a5b..6703a5b65e4a6 100644
+--- a/net/ipv6/addrconf.c
++++ b/net/ipv6/addrconf.c
+@@ -325,9 +325,8 @@ static void addrconf_del_dad_work(struct inet6_ifaddr *ifp)
+ static void addrconf_mod_rs_timer(struct inet6_dev *idev,
+                                 unsigned long when)
+ {
+-      if (!timer_pending(&idev->rs_timer))
++      if (!mod_timer(&idev->rs_timer, jiffies + when))
+               in6_dev_hold(idev);
+-      mod_timer(&idev->rs_timer, jiffies + when);
+ }
+ static void addrconf_mod_dad_work(struct inet6_ifaddr *ifp,
+-- 
+2.39.2
+
diff --git a/queue-4.14/net-mvneta-fix-txq_map-in-case-of-txq_number-1.patch b/queue-4.14/net-mvneta-fix-txq_map-in-case-of-txq_number-1.patch
new file mode 100644 (file)
index 0000000..59eca8d
--- /dev/null
@@ -0,0 +1,48 @@
+From 64b36917f1cd006357f7c39b8a6e839a6e55022a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 5 Jul 2023 07:37:12 +0200
+Subject: net: mvneta: fix txq_map in case of txq_number==1
+
+From: Klaus Kudielka <klaus.kudielka@gmail.com>
+
+[ Upstream commit 21327f81db6337c8843ce755b01523c7d3df715b ]
+
+If we boot with mvneta.txq_number=1, the txq_map is set incorrectly:
+MVNETA_CPU_TXQ_ACCESS(1) refers to TX queue 1, but only TX queue 0 is
+initialized. Fix this.
+
+Fixes: 50bf8cb6fc9c ("net: mvneta: Configure XPS support")
+Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
+Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
+Link: https://lore.kernel.org/r/20230705053712.3914-1-klaus.kudielka@gmail.com
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/ethernet/marvell/mvneta.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
+index dbed8fbedd8a8..eff7c65fbe3c7 100644
+--- a/drivers/net/ethernet/marvell/mvneta.c
++++ b/drivers/net/ethernet/marvell/mvneta.c
+@@ -1402,7 +1402,7 @@ static void mvneta_defaults_set(struct mvneta_port *pp)
+                        */
+                       if (txq_number == 1)
+                               txq_map = (cpu == pp->rxq_def) ?
+-                                      MVNETA_CPU_TXQ_ACCESS(1) : 0;
++                                      MVNETA_CPU_TXQ_ACCESS(0) : 0;
+               } else {
+                       txq_map = MVNETA_CPU_TXQ_ACCESS_ALL_MASK;
+@@ -3387,7 +3387,7 @@ static void mvneta_percpu_elect(struct mvneta_port *pp)
+                */
+               if (txq_number == 1)
+                       txq_map = (cpu == elected_cpu) ?
+-                              MVNETA_CPU_TXQ_ACCESS(1) : 0;
++                              MVNETA_CPU_TXQ_ACCESS(0) : 0;
+               else
+                       txq_map = mvreg_read(pp, MVNETA_CPU_MAP(cpu)) &
+                               MVNETA_CPU_TXQ_ACCESS_ALL_MASK;
+-- 
+2.39.2
+
diff --git a/queue-4.14/net-sched-make-psched_mtu-rtnl-less-safe.patch b/queue-4.14/net-sched-make-psched_mtu-rtnl-less-safe.patch
new file mode 100644 (file)
index 0000000..d81b5b8
--- /dev/null
@@ -0,0 +1,49 @@
+From b6c132433f1d835573ee3121e095aff6539d2a8c Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 10 Jul 2023 23:16:34 -0300
+Subject: net/sched: make psched_mtu() RTNL-less safe
+
+From: Pedro Tammela <pctammela@mojatatu.com>
+
+[ Upstream commit 150e33e62c1fa4af5aaab02776b6c3812711d478 ]
+
+Eric Dumazet says[1]:
+-------
+Speaking of psched_mtu(), I see that net/sched/sch_pie.c is using it
+without holding RTNL, so dev->mtu can be changed underneath.
+KCSAN could issue a warning.
+-------
+
+Annotate dev->mtu with READ_ONCE() so KCSAN don't issue a warning.
+
+[1] https://lore.kernel.org/all/CANn89iJoJO5VtaJ-2=_d2aOQhb0Xw8iBT_Cxqp2HyuS-zj6azw@mail.gmail.com/
+
+v1 -> v2: Fix commit message
+
+Fixes: d4b36210c2e6 ("net: pkt_sched: PIE AQM scheme")
+Suggested-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
+Reviewed-by: Simon Horman <simon.horman@corigine.com>
+Link: https://lore.kernel.org/r/20230711021634.561598-1-pctammela@mojatatu.com
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/net/pkt_sched.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
+index 85e059d3bc233..7b6024f2d4eaa 100644
+--- a/include/net/pkt_sched.h
++++ b/include/net/pkt_sched.h
+@@ -133,7 +133,7 @@ extern const struct nla_policy rtm_tca_policy[TCA_MAX + 1];
+  */
+ static inline unsigned int psched_mtu(const struct net_device *dev)
+ {
+-      return dev->mtu + dev->hard_header_len;
++      return READ_ONCE(dev->mtu) + dev->hard_header_len;
+ }
+ static inline bool is_classid_clsact_ingress(u32 classid)
+-- 
+2.39.2
+
diff --git a/queue-4.14/ntb-amd-fix-error-handling-in-amd_ntb_pci_driver_ini.patch b/queue-4.14/ntb-amd-fix-error-handling-in-amd_ntb_pci_driver_ini.patch
new file mode 100644 (file)
index 0000000..47c6f19
--- /dev/null
@@ -0,0 +1,64 @@
+From 228e20785a039ed281240f51e0e776c45b0c193d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 5 Nov 2022 09:43:09 +0000
+Subject: NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
+
+From: Yuan Can <yuancan@huawei.com>
+
+[ Upstream commit 98af0a33c1101c29b3ce4f0cf4715fd927c717f9 ]
+
+A problem about ntb_hw_amd create debugfs failed is triggered with the
+following log given:
+
+ [  618.431232] AMD(R) PCI-E Non-Transparent Bridge Driver 1.0
+ [  618.433284] debugfs: Directory 'ntb_hw_amd' with parent '/' already present!
+
+The reason is that amd_ntb_pci_driver_init() returns pci_register_driver()
+directly without checking its return value, if pci_register_driver()
+failed, it returns without destroy the newly created debugfs, resulting
+the debugfs of ntb_hw_amd can never be created later.
+
+ amd_ntb_pci_driver_init()
+   debugfs_create_dir() # create debugfs directory
+   pci_register_driver()
+     driver_register()
+       bus_add_driver()
+         priv = kzalloc(...) # OOM happened
+   # return without destroy debugfs directory
+
+Fix by removing debugfs when pci_register_driver() returns error.
+
+Fixes: a1b3695820aa ("NTB: Add support for AMD PCI-Express Non-Transparent Bridge")
+Signed-off-by: Yuan Can <yuancan@huawei.com>
+Signed-off-by: Jon Mason <jdmason@kudzu.us>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/ntb/hw/amd/ntb_hw_amd.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_amd.c
+index 72a7981ef73fb..05693edaba11b 100644
+--- a/drivers/ntb/hw/amd/ntb_hw_amd.c
++++ b/drivers/ntb/hw/amd/ntb_hw_amd.c
+@@ -1135,12 +1135,17 @@ static struct pci_driver amd_ntb_pci_driver = {
+ static int __init amd_ntb_pci_driver_init(void)
+ {
++      int ret;
+       pr_info("%s %s\n", NTB_DESC, NTB_VER);
+       if (debugfs_initialized())
+               debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL);
+-      return pci_register_driver(&amd_ntb_pci_driver);
++      ret = pci_register_driver(&amd_ntb_pci_driver);
++      if (ret)
++              debugfs_remove_recursive(debugfs_dir);
++
++      return ret;
+ }
+ module_init(amd_ntb_pci_driver_init);
+-- 
+2.39.2
+
diff --git a/queue-4.14/ntb-idt-fix-error-handling-in-idt_pci_driver_init.patch b/queue-4.14/ntb-idt-fix-error-handling-in-idt_pci_driver_init.patch
new file mode 100644 (file)
index 0000000..b649253
--- /dev/null
@@ -0,0 +1,66 @@
+From 304a44f7c6326a4c06ac4b7002f5dbe8091d06e2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 5 Nov 2022 09:43:01 +0000
+Subject: ntb: idt: Fix error handling in idt_pci_driver_init()
+
+From: Yuan Can <yuancan@huawei.com>
+
+[ Upstream commit c012968259b451dc4db407f2310fe131eaefd800 ]
+
+A problem about ntb_hw_idt create debugfs failed is triggered with the
+following log given:
+
+ [ 1236.637636] IDT PCI-E Non-Transparent Bridge Driver 2.0
+ [ 1236.639292] debugfs: Directory 'ntb_hw_idt' with parent '/' already present!
+
+The reason is that idt_pci_driver_init() returns pci_register_driver()
+directly without checking its return value, if pci_register_driver()
+failed, it returns without destroy the newly created debugfs, resulting
+the debugfs of ntb_hw_idt can never be created later.
+
+ idt_pci_driver_init()
+   debugfs_create_dir() # create debugfs directory
+   pci_register_driver()
+     driver_register()
+       bus_add_driver()
+         priv = kzalloc(...) # OOM happened
+   # return without destroy debugfs directory
+
+Fix by removing debugfs when pci_register_driver() returns error.
+
+Fixes: bf2a952d31d2 ("NTB: Add IDT 89HPESxNTx PCIe-switches support")
+Signed-off-by: Yuan Can <yuancan@huawei.com>
+Signed-off-by: Jon Mason <jdmason@kudzu.us>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/ntb/hw/idt/ntb_hw_idt.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/ntb/hw/idt/ntb_hw_idt.c b/drivers/ntb/hw/idt/ntb_hw_idt.c
+index b68e2cad74cc7..d6f68a17bbd91 100644
+--- a/drivers/ntb/hw/idt/ntb_hw_idt.c
++++ b/drivers/ntb/hw/idt/ntb_hw_idt.c
+@@ -2689,6 +2689,7 @@ static struct pci_driver idt_pci_driver = {
+ static int __init idt_pci_driver_init(void)
+ {
++      int ret;
+       pr_info("%s %s\n", NTB_DESC, NTB_VER);
+       /* Create the top DebugFS directory if the FS is initialized */
+@@ -2696,7 +2697,11 @@ static int __init idt_pci_driver_init(void)
+               dbgfs_topdir = debugfs_create_dir(KBUILD_MODNAME, NULL);
+       /* Register the NTB hardware driver to handle the PCI device */
+-      return pci_register_driver(&idt_pci_driver);
++      ret = pci_register_driver(&idt_pci_driver);
++      if (ret)
++              debugfs_remove_recursive(dbgfs_topdir);
++
++      return ret;
+ }
+ module_init(idt_pci_driver_init);
+-- 
+2.39.2
+
diff --git a/queue-4.14/ntb-intel-fix-error-handling-in-intel_ntb_pci_driver.patch b/queue-4.14/ntb-intel-fix-error-handling-in-intel_ntb_pci_driver.patch
new file mode 100644 (file)
index 0000000..f09cf28
--- /dev/null
@@ -0,0 +1,65 @@
+From 429118da81c9f29e126a6de55cd1f9d0d1335b85 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 5 Nov 2022 09:43:22 +0000
+Subject: ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
+
+From: Yuan Can <yuancan@huawei.com>
+
+[ Upstream commit 4c3c796aca02883ad35bb117468938cc4022ca41 ]
+
+A problem about ntb_hw_intel create debugfs failed is triggered with the
+following log given:
+
+ [  273.112733] Intel(R) PCI-E Non-Transparent Bridge Driver 2.0
+ [  273.115342] debugfs: Directory 'ntb_hw_intel' with parent '/' already present!
+
+The reason is that intel_ntb_pci_driver_init() returns
+pci_register_driver() directly without checking its return value, if
+pci_register_driver() failed, it returns without destroy the newly created
+debugfs, resulting the debugfs of ntb_hw_intel can never be created later.
+
+ intel_ntb_pci_driver_init()
+   debugfs_create_dir() # create debugfs directory
+   pci_register_driver()
+     driver_register()
+       bus_add_driver()
+         priv = kzalloc(...) # OOM happened
+   # return without destroy debugfs directory
+
+Fix by removing debugfs when pci_register_driver() returns error.
+
+Fixes: e26a5843f7f5 ("NTB: Split ntb_hw_intel and ntb_transport drivers")
+Signed-off-by: Yuan Can <yuancan@huawei.com>
+Acked-by: Dave Jiang <dave.jiang@intel.com>
+Signed-off-by: Jon Mason <jdmason@kudzu.us>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/ntb/hw/intel/ntb_hw_intel.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c
+index 58068f1447bb2..6b1484b4351d8 100644
+--- a/drivers/ntb/hw/intel/ntb_hw_intel.c
++++ b/drivers/ntb/hw/intel/ntb_hw_intel.c
+@@ -3041,12 +3041,17 @@ static struct pci_driver intel_ntb_pci_driver = {
+ static int __init intel_ntb_pci_driver_init(void)
+ {
++      int ret;
+       pr_info("%s %s\n", NTB_DESC, NTB_VER);
+       if (debugfs_initialized())
+               debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL);
+-      return pci_register_driver(&intel_ntb_pci_driver);
++      ret = pci_register_driver(&intel_ntb_pci_driver);
++      if (ret)
++              debugfs_remove_recursive(debugfs_dir);
++
++      return ret;
+ }
+ module_init(intel_ntb_pci_driver_init);
+-- 
+2.39.2
+
diff --git a/queue-4.14/ntb-ntb_transport-fix-possible-memory-leak-while-dev.patch b/queue-4.14/ntb-ntb_transport-fix-possible-memory-leak-while-dev.patch
new file mode 100644 (file)
index 0000000..f6b4d2c
--- /dev/null
@@ -0,0 +1,42 @@
+From b8a902d10adf9b89e0d697a60c0b4b209fe4a334 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 10 Nov 2022 23:19:17 +0800
+Subject: NTB: ntb_transport: fix possible memory leak while device_register()
+ fails
+
+From: Yang Yingliang <yangyingliang@huawei.com>
+
+[ Upstream commit 8623ccbfc55d962e19a3537652803676ad7acb90 ]
+
+If device_register() returns error, the name allocated by
+dev_set_name() need be freed. As comment of device_register()
+says, it should use put_device() to give up the reference in
+the error path. So fix this by calling put_device(), then the
+name can be freed in kobject_cleanup(), and client_dev is freed
+in ntb_transport_client_release().
+
+Fixes: fce8a7bb5b4b ("PCI-Express Non-Transparent Bridge Support")
+Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
+Reviewed-by: Dave Jiang <dave.jiang@intel.com>
+Signed-off-by: Jon Mason <jdmason@kudzu.us>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/ntb/ntb_transport.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
+index 18339b7e88a46..a58ced5d60433 100644
+--- a/drivers/ntb/ntb_transport.c
++++ b/drivers/ntb/ntb_transport.c
+@@ -395,7 +395,7 @@ int ntb_transport_register_client_dev(char *device_name)
+               rc = device_register(dev);
+               if (rc) {
+-                      kfree(client_dev);
++                      put_device(dev);
+                       goto err;
+               }
+-- 
+2.39.2
+
index 5adb1884d921712d74f9204482825b6bb89d0afb..9f44e177d62b0133d4791f9bd09631f132ae57dc 100644 (file)
@@ -89,3 +89,12 @@ netfilter-nf_tables-add-nft_trans_prepare_error-to-deal-with-bound-set-chain.pat
 netfilter-nf_tables-unbind-non-anonymous-set-if-rule-construction-fails.patch
 netfilter-conntrack-avoid-nf_ct_helper_hash-uses-after-free.patch
 netfilter-nf_tables-prevent-oob-access-in-nft_byteorder_eval.patch
+net-mvneta-fix-txq_map-in-case-of-txq_number-1.patch
+udp6-fix-udp6_ehashfn-typo.patch
+ntb-idt-fix-error-handling-in-idt_pci_driver_init.patch
+ntb-amd-fix-error-handling-in-amd_ntb_pci_driver_ini.patch
+ntb-intel-fix-error-handling-in-intel_ntb_pci_driver.patch
+ntb-ntb_transport-fix-possible-memory-leak-while-dev.patch
+ipv6-addrconf-fix-a-potential-refcount-underflow-for.patch
+wifi-airo-avoid-uninitialized-warning-in-airo_get_ra.patch
+net-sched-make-psched_mtu-rtnl-less-safe.patch
diff --git a/queue-4.14/udp6-fix-udp6_ehashfn-typo.patch b/queue-4.14/udp6-fix-udp6_ehashfn-typo.patch
new file mode 100644 (file)
index 0000000..fbfe6df
--- /dev/null
@@ -0,0 +1,40 @@
+From 2927d67c624afeb44315f11920007eaa63c4fff7 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 8 Jul 2023 08:29:58 +0000
+Subject: udp6: fix udp6_ehashfn() typo
+
+From: Eric Dumazet <edumazet@google.com>
+
+[ Upstream commit 51d03e2f2203e76ed02d33fb5ffbb5fc85ffaf54 ]
+
+Amit Klein reported that udp6_ehash_secret was initialized but never used.
+
+Fixes: 1bbdceef1e53 ("inet: convert inet_ehash_secret and ipv6_hash_secret to net_get_random_once")
+Reported-by: Amit Klein <aksecurity@gmail.com>
+Signed-off-by: Eric Dumazet <edumazet@google.com>
+Cc: Willy Tarreau <w@1wt.eu>
+Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
+Cc: David Ahern <dsahern@kernel.org>
+Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/ipv6/udp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
+index ea681360a522f..3fee10cc5d5dc 100644
+--- a/net/ipv6/udp.c
++++ b/net/ipv6/udp.c
+@@ -99,7 +99,7 @@ static u32 udp6_ehashfn(const struct net *net,
+       fhash = __ipv6_addr_jhash(faddr, udp_ipv6_hash_secret);
+       return __inet6_ehashfn(lhash, lport, fhash, fport,
+-                             udp_ipv6_hash_secret + net_hash_mix(net));
++                             udp6_ehash_secret + net_hash_mix(net));
+ }
+ static u32 udp6_portaddr_hash(const struct net *net,
+-- 
+2.39.2
+
diff --git a/queue-4.14/wifi-airo-avoid-uninitialized-warning-in-airo_get_ra.patch b/queue-4.14/wifi-airo-avoid-uninitialized-warning-in-airo_get_ra.patch
new file mode 100644 (file)
index 0000000..75c1afd
--- /dev/null
@@ -0,0 +1,47 @@
+From 43182c3eb375b8f03b25d7831c442b9753b1a3cd Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 9 Jul 2023 06:31:54 -0700
+Subject: wifi: airo: avoid uninitialized warning in airo_get_rate()
+
+From: Randy Dunlap <rdunlap@infradead.org>
+
+[ Upstream commit 9373771aaed17f5c2c38485f785568abe3a9f8c1 ]
+
+Quieten a gcc (11.3.0) build error or warning by checking the function
+call status and returning -EBUSY if the function call failed.
+This is similar to what several other wireless drivers do for the
+SIOCGIWRATE ioctl call when there is a locking problem.
+
+drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]
+
+Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
+Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
+Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Link: https://lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org
+Link: https://lore.kernel.org/r/20230709133154.26206-1-rdunlap@infradead.org
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/wireless/cisco/airo.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
+index d06dc446a3931..ca4a3330337d7 100644
+--- a/drivers/net/wireless/cisco/airo.c
++++ b/drivers/net/wireless/cisco/airo.c
+@@ -6102,8 +6102,11 @@ static int airo_get_rate(struct net_device *dev,
+ {
+       struct airo_info *local = dev->ml_priv;
+       StatusRid status_rid;           /* Card status info */
++      int ret;
+-      readStatusRid(local, &status_rid, 1);
++      ret = readStatusRid(local, &status_rid, 1);
++      if (ret)
++              return -EBUSY;
+       vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
+       /* If more than one rate, set auto */
+-- 
+2.39.2
+