Chapter 5. Recipes for Deadlock

You cannot call any routines which may sleep, unless:

Note that some functions may sleep implicitly: common ones are the user space access functions (*_user) and memory allocation functions without GFP_ATOMIC.

You will eventually lock up your box if you break these rules.

Really.