Can someone tell me when lock should be used to synchronize bh and user context? For examle: in tcp_accept(), lock_sock() is called to avoid any change made by net_bh during its operation. But if tcp_accept() is called, it's impossilbe that net_bh is also executing. (i think this is true for UP, what about SMP?), then why need lock_sock()? ronghua -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/