patch-2.4.27 linux-2.4.27/net/ipv4/netfilter/ipt_owner.c

Next file: linux-2.4.27/net/ipv4/netfilter/ipt_unclean.c
Previous file: linux-2.4.27/net/ipv4/netfilter/ipt_helper.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.26/net/ipv4/netfilter/ipt_owner.c linux-2.4.27/net/ipv4/netfilter/ipt_owner.c
@@ -171,7 +171,15 @@
 
 	if (matchsize != IPT_ALIGN(sizeof(struct ipt_owner_info)))
 		return 0;
-
+#ifdef CONFIG_SMP
+	/* files->file_lock can not be used in a BH */
+	if (((struct ipt_owner_info *)matchinfo)->match
+	    & (IPT_OWNER_PID|IPT_OWNER_SID|IPT_OWNER_COMM)) {
+		printk("ipt_owner: pid, sid and command 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)