Re: [PATCH] BUG(): sched.c: Line 944

Robert Love
2002-09-16T23:53:10Z

On Mon, 2002-09-16 at 19:45, Linus Torvalds wrote:

> Ahhah! I know. You just make lock_depth 0 when you exit, without actually
> taking the kernel lock. Which fools the logic into accepting a
> preempt-disable, since it thinks that the preempt disable is due to
> holding the kernel lock.

I was this -> <- close to celebrating. Not so fast, smarty.

What about release_kernel_lock() ?

It sees task->lock_depth>=0 and calls spin_unlock() on a lock that it
does not hold.

Robert Love