lkml.org 
[lkml]   [2022]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 222/229] net: ieee802154: return -EINVAL for unknown addr type
    Date
    From: Alexander Aring <aahringo@redhat.com>

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

    \
     
     \ /
      Last update: 2022-10-24 14:41    [W:3.545 / U:0.252 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site