Re: [PATCH v3 3/3] sched, x86: Check that we're on the right stack in schedule and __might_sleep

From: Andy Lutomirski
Date: Wed Nov 19 2014 - 14:23:36 EST


On Wed, Nov 19, 2014 at 10:40 AM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, Nov 18, 2014 at 3:15 PM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>> On x86, sleeping while on an IST or irq stack has a surprisingly
>> good chance of working, but it can also fail dramatically. Add an
>> arch hook to allow schedule and __might_sleep to catch sleeping on
>> the wrong stack.
>
> Why doesn't the normal in_interrupt() test catch this?

It catches scheduling on an irq stack, assuming that all of the
irq_count stuff is working correctly. I don't think it catches
sleeping on an IST stack.

--Andy

>
> Linus



--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/