From d82b3ac080620b676bd83cb0aee033055acaf77f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 17 Oct 2022 12:12:50 +0200 Subject: [PATCH] 4.19-stable patches added patches: net-ieee802154-return-einval-for-unknown-addr-type.patch --- ...-return-einval-for-unknown-addr-type.patch | 54 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 55 insertions(+) create mode 100644 queue-4.19/net-ieee802154-return-einval-for-unknown-addr-type.patch diff --git a/queue-4.19/net-ieee802154-return-einval-for-unknown-addr-type.patch b/queue-4.19/net-ieee802154-return-einval-for-unknown-addr-type.patch new file mode 100644 index 00000000000..2f945a3798b --- /dev/null +++ b/queue-4.19/net-ieee802154-return-einval-for-unknown-addr-type.patch @@ -0,0 +1,54 @@ +From 30393181fdbc1608cc683b4ee99dcce05ffcc8c7 Mon Sep 17 00:00:00 2001 +From: Alexander Aring +Date: Wed, 5 Oct 2022 22:02:37 -0400 +Subject: net: ieee802154: return -EINVAL for unknown addr type + +From: Alexander Aring + +commit 30393181fdbc1608cc683b4ee99dcce05ffcc8c7 upstream. + +This patch adds handling to return -EINVAL for an unknown addr type. The +current behaviour is to return 0 as successful but the size of an +unknown addr type is not defined and should return an error like -EINVAL. + +Fixes: 94160108a70c ("net/ieee802154: fix uninit value bug in dgram_sendmsg") +Signed-off-by: Alexander Aring +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + include/net/ieee802154_netdev.h | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- a/include/net/ieee802154_netdev.h ++++ b/include/net/ieee802154_netdev.h +@@ -193,21 +193,27 @@ static inline int + ieee802154_sockaddr_check_size(struct sockaddr_ieee802154 *daddr, int len) + { + struct ieee802154_addr_sa *sa; ++ int ret = 0; + + sa = &daddr->addr; + if (len < IEEE802154_MIN_NAMELEN) + return -EINVAL; + switch (sa->addr_type) { ++ case IEEE802154_ADDR_NONE: ++ break; + case IEEE802154_ADDR_SHORT: + if (len < IEEE802154_NAMELEN_SHORT) +- return -EINVAL; ++ ret = -EINVAL; + break; + case IEEE802154_ADDR_LONG: + if (len < IEEE802154_NAMELEN_LONG) +- return -EINVAL; ++ ret = -EINVAL; ++ break; ++ default: ++ ret = -EINVAL; + break; + } +- return 0; ++ return ret; + } + + static inline void ieee802154_addr_from_sa(struct ieee802154_addr *a, diff --git a/queue-4.19/series b/queue-4.19/series index 17cf952a4c6..31ff7ff34b8 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -241,3 +241,4 @@ usb-idmouse-fix-an-uninit-value-in-idmouse_open.patch fsi-master-ast-cf-fix-missing-of_node_put-in-fsi_mas.patch clk-bcm2835-make-peripheral-pllc-critical.patch perf-intel-pt-fix-segfault-in-intel_pt_print_info-with-uclibc.patch +net-ieee802154-return-einval-for-unknown-addr-type.patch -- 2.47.2