lkml.org 
[lkml]   [2020]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 007/158] ipv6: Fix error path to cancel the meseage
    Date
    From: Zhang Qilong <zhangqilong3@huawei.com>

    [ Upstream commit ceb736e1d45c253f5e86b185ca9b497cdd43063f ]

    genlmsg_cancel() needs to be called in the error path of
    inet6_fill_ifmcaddr and inet6_fill_ifacaddr to cancel
    the message.

    Fixes: 6ecf4c37eb3e ("ipv6: enable IFA_TARGET_NETNSID for RTM_GETADDR")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
    Link: https://lore.kernel.org/r/20201112080950.1476302-1-zhangqilong3@huawei.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv6/addrconf.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    --- a/net/ipv6/addrconf.c
    +++ b/net/ipv6/addrconf.c
    @@ -4984,8 +4984,10 @@ static int inet6_fill_ifmcaddr(struct sk
    return -EMSGSIZE;

    if (args->netnsid >= 0 &&
    - nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid))
    + nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid)) {
    + nlmsg_cancel(skb, nlh);
    return -EMSGSIZE;
    + }

    put_ifaddrmsg(nlh, 128, IFA_F_PERMANENT, scope, ifindex);
    if (nla_put_in6_addr(skb, IFA_MULTICAST, &ifmca->mca_addr) < 0 ||
    @@ -5016,8 +5018,10 @@ static int inet6_fill_ifacaddr(struct sk
    return -EMSGSIZE;

    if (args->netnsid >= 0 &&
    - nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid))
    + nla_put_s32(skb, IFA_TARGET_NETNSID, args->netnsid)) {
    + nlmsg_cancel(skb, nlh);
    return -EMSGSIZE;
    + }

    put_ifaddrmsg(nlh, 128, IFA_F_PERMANENT, scope, ifindex);
    if (nla_put_in6_addr(skb, IFA_ANYCAST, &ifaca->aca_addr) < 0 ||

    \
     
     \ /
      Last update: 2020-11-23 14:09    [W:2.651 / U:0.308 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site