> - I can't see any locking in your code, and I don't think it's SMP safe A question on this. I've just read through Rusty's Unreliable Guide To Locking: http://www.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/ I mostly understand, but I'm not quite sure what kind of code the match() function is. I think it's a softirq, which means (by the "Softirq A vs. Softirq A" entry in the table in 5.1) that the appropriate spinlock to use is spin_lock(), right? But the only type of spin lock currently used in net/ipv4/netfilter/*.c currently is spin_lock_bh(), so I'm not at all sure what to do. -matthew