aboutsummaryrefslogtreecommitdiffstats
path: root/openvswitch-change-type-of-upcall_pid-attribute-to-nla_unspec.patch
diff options
context:
space:
mode:
Diffstat (limited to 'openvswitch-change-type-of-upcall_pid-attribute-to-nla_unspec.patch')
-rw-r--r--openvswitch-change-type-of-upcall_pid-attribute-to-nla_unspec.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/openvswitch-change-type-of-upcall_pid-attribute-to-nla_unspec.patch b/openvswitch-change-type-of-upcall_pid-attribute-to-nla_unspec.patch
new file mode 100644
index 0000000..6cb7bd2
--- /dev/null
+++ b/openvswitch-change-type-of-upcall_pid-attribute-to-nla_unspec.patch
@@ -0,0 +1,40 @@
+From foo@baz Tue 01 Oct 2019 04:24:08 PM CEST
+From: Li RongQing <lirongqing@baidu.com>
+Date: Tue, 24 Sep 2019 19:11:52 +0800
+Subject: openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC
+
+From: Li RongQing <lirongqing@baidu.com>
+
+[ Upstream commit ea8564c865299815095bebeb4b25bef474218e4c ]
+
+userspace openvswitch patch "(dpif-linux: Implement the API
+functions to allow multiple handler threads read upcall)"
+changes its type from U32 to UNSPEC, but leave the kernel
+unchanged
+
+and after kernel 6e237d099fac "(netlink: Relax attr validation
+for fixed length types)", this bug is exposed by the below
+warning
+
+ [ 57.215841] netlink: 'ovs-vswitchd': attribute type 5 has an invalid length.
+
+Fixes: 5cd667b0a456 ("openvswitch: Allow each vport to have an array of 'port_id's")
+Signed-off-by: Li RongQing <lirongqing@baidu.com>
+Acked-by: Pravin B Shelar <pshelar@ovn.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/openvswitch/datapath.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/openvswitch/datapath.c
++++ b/net/openvswitch/datapath.c
+@@ -1974,7 +1974,7 @@ static const struct nla_policy vport_pol
+ [OVS_VPORT_ATTR_STATS] = { .len = sizeof(struct ovs_vport_stats) },
+ [OVS_VPORT_ATTR_PORT_NO] = { .type = NLA_U32 },
+ [OVS_VPORT_ATTR_TYPE] = { .type = NLA_U32 },
+- [OVS_VPORT_ATTR_UPCALL_PID] = { .type = NLA_U32 },
++ [OVS_VPORT_ATTR_UPCALL_PID] = { .type = NLA_UNSPEC },
+ [OVS_VPORT_ATTR_OPTIONS] = { .type = NLA_NESTED },
+ };
+