ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST
authorEric Dumazet <edumazet@google.com>
Thu, 23 May 2019 01:35:16 +0000 (18:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Jun 2019 06:02:31 +0000 (08:02 +0200)
[ Upstream commit 903869bd10e6719b9df6718e785be7ec725df59f ]

ip_sf_list_clear_all() needs to be defined even if !CONFIG_IP_MULTICAST

Fixes: 3580d04aa674 ("ipv4/igmp: fix another memory leak in igmpv3_del_delrec()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/igmp.c

index 32ea8f6..d187ee8 100644 (file)
@@ -190,6 +190,17 @@ static void ip_ma_put(struct ip_mc_list *im)
             pmc != NULL;                                       \
             pmc = rtnl_dereference(pmc->next_rcu))
 
+static void ip_sf_list_clear_all(struct ip_sf_list *psf)
+{
+       struct ip_sf_list *next;
+
+       while (psf) {
+               next = psf->sf_next;
+               kfree(psf);
+               psf = next;
+       }
+}
+
 #ifdef CONFIG_IP_MULTICAST
 
 /*
@@ -635,17 +646,6 @@ static void igmpv3_clear_zeros(struct ip_sf_list **ppsf)
        }
 }
 
-static void ip_sf_list_clear_all(struct ip_sf_list *psf)
-{
-       struct ip_sf_list *next;
-
-       while (psf) {
-               next = psf->sf_next;
-               kfree(psf);
-               psf = next;
-       }
-}
-
 static void kfree_pmc(struct ip_mc_list *pmc)
 {
        ip_sf_list_clear_all(pmc->sources);