Messages in this thread | | | Date | Wed, 19 Nov 2014 15:23:16 -0800 | Subject | Re: [PATCH v3 3/3] sched, x86: Check that we're on the right stack in schedule and __might_sleep | From | Linus Torvalds <> |
| |
On Wed, Nov 19, 2014 at 3:04 PM, Andy Lutomirski <luto@amacapital.net> wrote: > > Does that include nmi? I'm a bit afraid of touching that code.
NMI is kind of special, since it's really not supposed to touch 'current' or anything like that, and that's how we do preempt-count (and that's where irq-count is) right now.
I would prefer to have preempt_count be a percpu variable rather than a per-thread one, but there are historical reasons for that horror. Oh well.
> It's certainly easy enough to bump irq_count in the paranoid entries.
It definitely shouldn't be done from the assembly code. Usually it's "irq_enter/exit()" that does it, but for NMI you'd presumably just do it explicitly from do_nmi() or similar. But NMI really is nastier than other cases, see above.
(That said, I thought we did it anyway, but now that I look I can't find it. So I was probably just smoking something)
Linus
| |