The backtrace is corrupted so I'm not convinced this is valid; I think
something's smashing the stack after cleanup(). But I don't have an
SMP machine to test.
Perhaps smp_num_cpus is not yet correct during the ip_fw_init() call.
What do you get during boot if you apply this patch:
--- linux/net/ipv4/ip_fw.c.~1~ Tue Oct 13 14:02:32 1998
+++ linux/net/ipv4/ip_fw.c Thu Dec 3 13:04:22 1998
@@ -1685,6 +1685,7 @@
fwc_wlocks = fwc_rlocks = 0;
#endif
+ printk("Number of cpus = %i.\n", smp_num_cpus);
IP_FW_INPUT_CHAIN = ip_init_chain(IP_FW_LABEL_INPUT, 1, FW_ACCEPT);
IP_FW_FORWARD_CHAIN = ip_init_chain(IP_FW_LABEL_FORWARD, 1, FW_ACCEPT);
IP_FW_OUTPUT_CHAIN = ip_init_chain(IP_FW_LABEL_OUTPUT, 1, FW_ACCEPT);
If this prints 1, that's the problem.
In need of an SMP box... and a sparc...
Rusty.
-- .sig lost in the mail.- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/