diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index d3a65343c417..0b129af769a8 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -1163,6 +1163,7 @@ static void igmpv3_del_delrec(struct in_device *in_dev, struct ip_mc_list *im) psf->sf_crcount = im->crcount; } in_dev_put(pmc->interface); + kfree(pmc); } spin_unlock_bh(&im->lock); } diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 85622e6919ce..73775c3b2e22 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -798,6 +798,7 @@ static void mld_del_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im) psf->sf_crcount = im->mca_crcount; } in6_dev_put(pmc->idev); + kfree(pmc); } spin_unlock_bh(&im->mca_lock); }