patch-2.4.27 linux-2.4.27/net/ipv6/netfilter/ip6t_owner.c

Next file: linux-2.4.27/net/ipv6/raw.c
Previous file: linux-2.4.27/net/ipv6/netfilter/ip6_tables.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.26/net/ipv6/netfilter/ip6t_owner.c linux-2.4.27/net/ipv6/netfilter/ip6t_owner.c
@@ -137,7 +137,14 @@
 
 	if (matchsize != IP6T_ALIGN(sizeof(struct ip6t_owner_info)))
 		return 0;
-
+#ifdef CONFIG_SMP
+	/* files->file_lock can not be used in a BH */
+	if (((struct ip6t_owner_info *)matchinfo)->match
+	    & (IP6T_OWNER_PID|IP6T_OWNER_SID)) {
+		printk("ip6t_owner: pid and sid matching is broken on SMP.\n");
+		return 0;
+	}
+#endif
 	return 1;
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)