From ce4b581df5097c34be2d0d862c5716e457bfbeee Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Sun, 21 Feb 2021 20:29:51 -0500 Subject: [PATCH] Fixes for 5.4 Signed-off-by: Sasha Levin --- ...-fix-a-warning-when-del-bridge-sysfs.patch | 72 +++++++++++++++++++ ...rtr-fix-port-id-for-control-messages.patch | 37 ++++++++++ queue-5.4/series | 2 + 3 files changed, 111 insertions(+) create mode 100644 queue-5.4/net-bridge-fix-a-warning-when-del-bridge-sysfs.patch create mode 100644 queue-5.4/net-qrtr-fix-port-id-for-control-messages.patch 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 index 00000000000..efd8de79311 --- /dev/null +++ b/queue-5.4/net-bridge-fix-a-warning-when-del-bridge-sysfs.patch @@ -0,0 +1,72 @@ +From 2587a5ba7055f1a6dc8f75f1f3605e2a27a1580d Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 11 Dec 2020 20:29:21 +0800 +Subject: net: bridge: Fix a warning when del bridge sysfs + +From: Wang Hai + +[ 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 +Signed-off-by: Wang Hai +Tested-by: Nikolay Aleksandrov +Acked-by: Nikolay Aleksandrov +Link: https://lore.kernel.org/r/20201211122921.40386-1-wanghai38@huawei.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Sasha Levin +--- + 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 index 00000000000..29aaa13477e --- /dev/null +++ b/queue-5.4/net-qrtr-fix-port-id-for-control-messages.patch @@ -0,0 +1,37 @@ +From eaf64cd5ab174ae6c054db7d3fab775e2a09aed0 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 6 Nov 2020 18:33:26 +0100 +Subject: net: qrtr: Fix port ID for control messages + +From: Loic Poulain + +[ 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 +Signed-off-by: Jakub Kicinski +Signed-off-by: Sasha Levin +--- + 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 + diff --git a/queue-5.4/series b/queue-5.4/series index ab3e73d4a3d..422a3b7fdfa 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -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 -- 2.47.3