Weird. When mdmon exits, the kernel seems to think that it is in_atomic() and in_interrupt(), which it shouldn't be. I cannot think of any way that this could happen. You aren't using oprofile are you? That could make the 'exit' handling a little more complex, but I still doubt it would change the "preempt_count" variable, which stores the in_atomic and in_interrupt status.