Messages in this thread | | | From | Andy Lutomirski <> | Date | Sat, 26 Dec 2015 18:16:59 -0800 | Subject | Re: [PATCHV5 3/3] x86, ras: Add __mcsafe_copy() function to recover from machine checks |
| |
On Sat, Dec 26, 2015 at 6:15 PM, Andy Lutomirski <luto@amacapital.net> wrote: > On Sat, Dec 26, 2015 at 6:08 PM, Tony Luck <tony.luck@gmail.com> wrote: >> On Sat, Dec 26, 2015 at 6:54 AM, Andy Lutomirski <luto@amacapital.net> wrote: >>> On Dec 26, 2015 6:33 PM, "Borislav Petkov" <bp@alien8.de> wrote: >>>> Andy, why is that? It makes the exception handling much simpler this way... >>>> >>> >>> I like the idea of moving more logic into C, but I don't like >>> splitting the logic across files and adding nasty special cases like >>> this. >>> >>> But what if we generalized it? An extable entry gives a fault IP and >>> a landing pad IP. Surely we can squeeze a flag bit in there. >> >> The clever squeezers have already been here. Instead of a pair >> of 64-bit values for fault_ip and fixup_ip they managed with a pair >> of 32-bit values that are each the relative offset of the desired address >> from the table location itself. >> >> We could make one of them 31-bits (since even an "allyesconfig" kernel >> is still much smaller than a gigabyte) to free a bit for a flag. But there >> are those external tools to pre-sort exception tables that would all >> need to be fixed too.
Wait, why? The external tools sort by source address, and we'd squeeze the flag into the target address, no?
--Andy
| |