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 <aahringo@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 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,