In article <63342002301010163277@antisocial.com> you wrote: > > Why can the kernel deadlock when calling e.g copy_to_user while holding a > spinlock? > I understand that the function can block, but not that it could result in a > deadlock. you hold the spinlock and schedule. another process gets scheduled and wants to grab the exact same spinlock..... grabbing spinlock is busy waiting without scheduling so the original process never ever gets a chance to release the lock.... lock doesn't get released -> you busy wait forever -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/