do_ioctl is inside rtnl_lock... Remember if you need to alter the rules, you can always queue work in the current context, and have a kernel thread handle the work. The nice thing about a kernel thread is that you start with a [almost] clean state, when it comes to locks. Jeff -- Jeff Garzik | Building 1024 | Would you like a Twinkie? MandrakeSoft | - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org