mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
ipv6: Fix error path to cancel the meseage
[ Upstream commitceb736e1d4] genlmsg_cancel() needs to be called in the error path of inet6_fill_ifmcaddr and inet6_fill_ifacaddr to cancel the message. Fixes:6ecf4c37eb("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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0e8b0213dc
commit
88a5a3e153
@@ -4984,8 +4984,10 @@ static int inet6_fill_ifmcaddr(struct sk_buff *skb, struct ifmcaddr6 *ifmca,
|
||||
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_buff *skb, struct ifacaddr6 *ifaca,
|
||||
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 ||
|
||||
|
||||
Reference in New Issue
Block a user