From: Greg Kroah-Hartman Date: Mon, 17 Oct 2022 10:12:59 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v5.4.219~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=454f35a508259d287e1e7be7c6a6333dfec9c0bb;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: net-ieee802154-return-einval-for-unknown-addr-type.patch --- diff --git a/queue-5.4/net-ieee802154-return-einval-for-unknown-addr-type.patch b/queue-5.4/net-ieee802154-return-einval-for-unknown-addr-type.patch new file mode 100644 index 00000000000..47c874abf74 --- /dev/null +++ b/queue-5.4/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 +@@ -185,21 +185,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-5.4/series b/queue-5.4/series index 6a79dd563ba..81f46b830d5 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -270,3 +270,4 @@ 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 io_uring-af_unix-defer-registered-files-gc-to-io_uring-release.patch +net-ieee802154-return-einval-for-unknown-addr-type.patch