[lkml]   [2011]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: New vsyscall emulation breaks JITs
    On 08/05/2011 02:26 PM, Andrew Lutomirski wrote:
    > For a boot time switch, it might be nicer to just switch between the
    > current int 0xcc sequence and the older
    > mov cx, 0x<magic>
    > int 0xcc
    > ret
    > sequence.
    > That way there's a ret in the vsyscall page but no syscall instruction.

    Refresh my memory... we have what... six legacy vsyscall entry points?
    We could, hypothetically, burn six interrupt vectors with them. If we
    get them from the 0x40-0x4f range, then they are harmless standalone REX
    prefixes (and INC/DEC instructions in 32-bit mode.)

    The issue with pin as far as I understand is that it's executing an
    instruction at a different address and expecting it to have identical
    semantics, which is an incorrect assumption for trapping instructions
    (consider doing that for something like SYSENTER!).

    Now, as far as RET is concerned I don't see how it does anything that
    the INT instruction doesn't do already; ANY of the emulated instructions
    have to return to the address on the stack in order to work at all, OR
    they can return to the next address and do RET.


     \ /
      Last update: 2011-08-06 00:09    [W:0.024 / U:36.268 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site