Messages in this thread | | | Date | Mon, 17 Nov 2014 19:50:30 +0100 | From | Borislav Petkov <> | Subject | Re: [RFC PATCH] x86, entry: Switch stacks on a paranoid entry from userspace |
| |
On Fri, Nov 14, 2014 at 09:56:38PM +0000, Luck, Tony wrote: > ... > But I think that means we need more than one of these structures ... > we may not be done with one before a new machine check occurs. So > we'd have to make an NMI-safe allocator to grab one for use inside > do_machine_check()
Well, I think we might do something with a lockless list as it is being done in ghes.c.
It allocates entries from its own pool in the NMI handler and llist_add's them to a list.
Then, in user context it does llist_del_all and then looks at each of the elements at leisure and stress-free :-)
Pool alloc/free is NMI-safe too so we should be good. It looks pretty clean, I'd give it a try.
> General testing note - one thing I did see was that if inject 1000 > errors at 0.3s interval from my ssh'd login ... the serial console > keeps streaming messages for about 40 seconds after my test says it is > all done. This might be a factor in the other tests I've been running > against the stack-switching code (especially with extra debug) ... at > some point __log_buf must get full - what happens then?
Start gets overwritten AFAICR.
-- Regards/Gruss, Boris.
Sent from a fat crate under my desk. Formatting is fine. --
| |