فهرست منبع

[NETFILTER]: {eb,ip6,ip}t_LOG: remove remains of LOG target overloading

All LOG targets always use their internal logging function nowadays, so
remove the incorrect error message and handle real errors (!= -EEXIST)
by failing to load.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy 18 سال پیش
والد
کامیت
3b5018d676
3فایلهای تغییر یافته به همراه12 افزوده شده و 24 حذف شده
  1. 4 8
      net/bridge/netfilter/ebt_log.c
  2. 4 8
      net/ipv4/netfilter/ipt_LOG.c
  3. 4 8
      net/ipv6/netfilter/ip6t_LOG.c

+ 4 - 8
net/bridge/netfilter/ebt_log.c

@@ -196,14 +196,10 @@ static int __init ebt_log_init(void)
 	ret = ebt_register_watcher(&log);
 	ret = ebt_register_watcher(&log);
 	if (ret < 0)
 	if (ret < 0)
 		return ret;
 		return ret;
-	if (nf_log_register(PF_BRIDGE, &ebt_log_logger) < 0) {
-		printk(KERN_WARNING "ebt_log: not logging via system console "
-		       "since somebody else already registered for PF_INET\n");
-		/* we cannot make module load fail here, since otherwise
-		 * ebtables userspace would abort */
-	}
-
-	return 0;
+	ret = nf_log_register(PF_BRIDGE, &ebt_log_logger);
+	if (ret < 0 && ret != -EEXIST)
+		ebt_unregister_watcher(&log);
+	return ret;
 }
 }
 
 
 static void __exit ebt_log_fini(void)
 static void __exit ebt_log_fini(void)

+ 4 - 8
net/ipv4/netfilter/ipt_LOG.c

@@ -477,14 +477,10 @@ static int __init ipt_log_init(void)
 	ret = xt_register_target(&ipt_log_reg);
 	ret = xt_register_target(&ipt_log_reg);
 	if (ret < 0)
 	if (ret < 0)
 		return ret;
 		return ret;
-	if (nf_log_register(PF_INET, &ipt_log_logger) < 0) {
-		printk(KERN_WARNING "ipt_LOG: not logging via system console "
-		       "since somebody else already registered for PF_INET\n");
-		/* we cannot make module load fail here, since otherwise
-		 * iptables userspace would abort */
-	}
-
-	return 0;
+	ret = nf_log_register(PF_INET, &ipt_log_logger);
+	if (ret < 0 && ret != -EEXIST)
+		xt_unregister_target(&ipt_log_reg);
+	return ret;
 }
 }
 
 
 static void __exit ipt_log_fini(void)
 static void __exit ipt_log_fini(void)

+ 4 - 8
net/ipv6/netfilter/ip6t_LOG.c

@@ -490,14 +490,10 @@ static int __init ip6t_log_init(void)
 	ret = xt_register_target(&ip6t_log_reg);
 	ret = xt_register_target(&ip6t_log_reg);
 	if (ret < 0)
 	if (ret < 0)
 		return ret;
 		return ret;
-	if (nf_log_register(PF_INET6, &ip6t_logger) < 0) {
-		printk(KERN_WARNING "ip6t_LOG: not logging via system console "
-		       "since somebody else already registered for PF_INET6\n");
-		/* we cannot make module load fail here, since otherwise
-		 * ip6tables userspace would abort */
-	}
-
-	return 0;
+	ret = nf_log_register(PF_INET6, &ip6t_logger);
+	if (ret < 0 && ret != -EEXIST)
+		xt_unregister_target(&ip6t_log_reg);
+	return ret;
 }
 }
 
 
 static void __exit ip6t_log_fini(void)
 static void __exit ip6t_log_fini(void)