6

The title is pretty much the question...

I am writing some code that uses a spinlock to help in list management. The documentation on spinlocks are pretty clear about not making a call to anything that would sleep. I know there are ways to allocate memory that are "atomic", but I haven't seen anything about kfree or freeing the memory.

Intuition tells me it shouldn't ever sleep, but I haven't found were that is explicit.

Gabe
  • 847
  • 1
  • 9
  • 16

1 Answers1

6

No, it never sleeps. It's safe to call kfree from arbitrary context. The only exception is the NMI oopser and similar arch code.

pratik
  • 434
  • 2
  • 8