From: Greg Kroah-Hartman Date: Mon, 17 Oct 2022 10:09:20 +0000 (+0200) Subject: 4.9-stable patches X-Git-Tag: v5.4.219~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e793fb5b3054946a77ee646eb5da2db7b0a9dae;p=thirdparty%2Fkernel%2Fstable-queue.git 4.9-stable patches added patches: net-ieee802154-return-einval-for-unknown-addr-type.patch --- diff --git a/queue-4.9/net-ieee802154-return-einval-for-unknown-addr-type.patch b/queue-4.9/net-ieee802154-return-einval-for-unknown-addr-type.patch new file mode 100644 index 00000000000..2f945a3798b --- /dev/null +++ b/queue-4.9/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.9/series b/queue-4.9/series index 51ee96f28a7..61e95c0f297 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -162,3 +162,4 @@ usb-musb-fix-musb_gadget.c-rxstate-overflow-bug.patch revert-usb-storage-add-quirk-for-samsung-fit-flash.patch usb-idmouse-fix-an-uninit-value-in-idmouse_open.patch perf-intel-pt-fix-segfault-in-intel_pt_print_info-with-uclibc.patch +net-ieee802154-return-einval-for-unknown-addr-type.patch