]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.4
authorSasha Levin <sashal@kernel.org>
Mon, 22 Feb 2021 01:29:51 +0000 (20:29 -0500)
committerSasha Levin <sashal@kernel.org>
Mon, 22 Feb 2021 01:29:51 +0000 (20:29 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.4/net-bridge-fix-a-warning-when-del-bridge-sysfs.patch [new file with mode: 0644]
queue-5.4/net-qrtr-fix-port-id-for-control-messages.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/net-bridge-fix-a-warning-when-del-bridge-sysfs.patch b/queue-5.4/net-bridge-fix-a-warning-when-del-bridge-sysfs.patch
new file mode 100644 (file)
index 0000000..efd8de7
--- /dev/null
@@ -0,0 +1,72 @@
+From 2587a5ba7055f1a6dc8f75f1f3605e2a27a1580d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 11 Dec 2020 20:29:21 +0800
+Subject: net: bridge: Fix a warning when del bridge sysfs
+
+From: Wang Hai <wanghai38@huawei.com>
+
+[ Upstream commit 989a1db06eb18ff605377eec87e18d795e0ec74b ]
+
+I got a warining report:
+
+br_sysfs_addbr: can't create group bridge4/bridge
+------------[ cut here ]------------
+sysfs group 'bridge' not found for kobject 'bridge4'
+WARNING: CPU: 2 PID: 9004 at fs/sysfs/group.c:279 sysfs_remove_group fs/sysfs/group.c:279 [inline]
+WARNING: CPU: 2 PID: 9004 at fs/sysfs/group.c:279 sysfs_remove_group+0x153/0x1b0 fs/sysfs/group.c:270
+Modules linked in: iptable_nat
+...
+Call Trace:
+  br_dev_delete+0x112/0x190 net/bridge/br_if.c:384
+  br_dev_newlink net/bridge/br_netlink.c:1381 [inline]
+  br_dev_newlink+0xdb/0x100 net/bridge/br_netlink.c:1362
+  __rtnl_newlink+0xe11/0x13f0 net/core/rtnetlink.c:3441
+  rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3500
+  rtnetlink_rcv_msg+0x385/0x980 net/core/rtnetlink.c:5562
+  netlink_rcv_skb+0x134/0x3d0 net/netlink/af_netlink.c:2494
+  netlink_unicast_kernel net/netlink/af_netlink.c:1304 [inline]
+  netlink_unicast+0x4a0/0x6a0 net/netlink/af_netlink.c:1330
+  netlink_sendmsg+0x793/0xc80 net/netlink/af_netlink.c:1919
+  sock_sendmsg_nosec net/socket.c:651 [inline]
+  sock_sendmsg+0x139/0x170 net/socket.c:671
+  ____sys_sendmsg+0x658/0x7d0 net/socket.c:2353
+  ___sys_sendmsg+0xf8/0x170 net/socket.c:2407
+  __sys_sendmsg+0xd3/0x190 net/socket.c:2440
+  do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46
+  entry_SYSCALL_64_after_hwframe+0x44/0xa9
+
+In br_device_event(), if the bridge sysfs fails to be added,
+br_device_event() should return error. This can prevent warining
+when removing bridge sysfs that do not exist.
+
+Fixes: bb900b27a2f4 ("bridge: allow creating bridge devices with netlink")
+Reported-by: Hulk Robot <hulkci@huawei.com>
+Signed-off-by: Wang Hai <wanghai38@huawei.com>
+Tested-by: Nikolay Aleksandrov <nikolay@nvidia.com>
+Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
+Link: https://lore.kernel.org/r/20201211122921.40386-1-wanghai38@huawei.com
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/bridge/br.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/net/bridge/br.c b/net/bridge/br.c
+index 8a8f9e5f264f2..cccbb9bf3ca4e 100644
+--- a/net/bridge/br.c
++++ b/net/bridge/br.c
+@@ -43,7 +43,10 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
+               if (event == NETDEV_REGISTER) {
+                       /* register of bridge completed, add sysfs entries */
+-                      br_sysfs_addbr(dev);
++                      err = br_sysfs_addbr(dev);
++                      if (err)
++                              return notifier_from_errno(err);
++
+                       return NOTIFY_DONE;
+               }
+       }
+-- 
+2.27.0
+
diff --git a/queue-5.4/net-qrtr-fix-port-id-for-control-messages.patch b/queue-5.4/net-qrtr-fix-port-id-for-control-messages.patch
new file mode 100644 (file)
index 0000000..29aaa13
--- /dev/null
@@ -0,0 +1,37 @@
+From eaf64cd5ab174ae6c054db7d3fab775e2a09aed0 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 6 Nov 2020 18:33:26 +0100
+Subject: net: qrtr: Fix port ID for control messages
+
+From: Loic Poulain <loic.poulain@linaro.org>
+
+[ Upstream commit ae068f561baa003d260475c3e441ca454b186726 ]
+
+The port ID for control messages was uncorrectly set with broadcast
+node ID value, causing message to be dropped on remote side since
+not passing packet filtering (cb->dst_port != QRTR_PORT_CTRL).
+
+Fixes: d27e77a3de28 ("net: qrtr: Reset the node and port ID of broadcast messages")
+Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/qrtr/qrtr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c
+index d6d2736ec9273..ef602976bb2c8 100644
+--- a/net/qrtr/qrtr.c
++++ b/net/qrtr/qrtr.c
+@@ -187,7 +187,7 @@ static int qrtr_node_enqueue(struct qrtr_node *node, struct sk_buff *skb,
+       hdr->src_port_id = cpu_to_le32(from->sq_port);
+       if (to->sq_port == QRTR_PORT_CTRL) {
+               hdr->dst_node_id = cpu_to_le32(node->nid);
+-              hdr->dst_port_id = cpu_to_le32(QRTR_NODE_BCAST);
++              hdr->dst_port_id = cpu_to_le32(QRTR_PORT_CTRL);
+       } else {
+               hdr->dst_node_id = cpu_to_le32(to->sq_node);
+               hdr->dst_port_id = cpu_to_le32(to->sq_port);
+-- 
+2.27.0
+
index ab3e73d4a3d635c33971bb9e02c4516e04ca5070..422a3b7fdfaf9b3e807585e1a5a76ac6e54a9ca1 100644 (file)
@@ -1 +1,3 @@
 kvm-sev-fix-double-locking-due-to-incorrect-backport.patch
+net-qrtr-fix-port-id-for-control-messages.patch
+net-bridge-fix-a-warning-when-del-bridge-sysfs.patch