| OLD | NEW |
| (Empty) |
| 1 @hex: | |
| 2 # xchg %bp, (%rip) | |
| 3 66 87 2d 00 00 00 00 | |
| 4 # xchg %rbp, (%rip) | |
| 5 48 87 2d 00 00 00 00 | |
| 6 | |
| 7 # xchg %sp, (%rip) | |
| 8 66 87 25 00 00 00 00 | |
| 9 # xchg %rsp, (%rip) | |
| 10 48 87 25 00 00 00 00 | |
| 11 | |
| 12 # bundle alignment | |
| 13 90 90 90 90 | |
| 14 | |
| 15 # xchg %r15, (%rip) | |
| 16 4c 87 3d 00 00 00 00 | |
| 17 | |
| 18 # These sequences technically are safe, but xchg with memory is not | |
| 19 # considered zero-extending instruction, so they are rejected. | |
| 20 # xchg %ebp, (%rip) | |
| 21 87 2d 00 00 00 00 | |
| 22 # add %r15, %rbp | |
| 23 4c 01 fd | |
| 24 | |
| 25 # xchg %esp, (%rip) | |
| 26 87 25 00 00 00 00 | |
| 27 # add %r15, %rsp | |
| 28 4c 01 fc | |
| 29 @rval: | |
| 30 VALIDATOR: 0000000000000000: 66 87 2d 00 00 00 00 xchg
[%rip], %bp | |
| 31 VALIDATOR: ERROR: Changing RegBP changes the value of RegRBP | |
| 32 VALIDATOR: 0000000000000007: 48 87 2d 00 00 00 00 xchg
[%rip], %rbp | |
| 33 VALIDATOR: ERROR: Illegal change to register RBP | |
| 34 VALIDATOR: 000000000000000e: 66 87 25 00 00 00 00 xchg
[%rip], %sp | |
| 35 VALIDATOR: ERROR: Changing RegSP changes the value of RegRSP | |
| 36 VALIDATOR: 0000000000000015: 48 87 25 00 00 00 00 xchg
[%rip], %rsp | |
| 37 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 38 VALIDATOR: 0000000000000020: 4c 87 3d 00 00 00 00 xchg
[%rip], %r15 | |
| 39 VALIDATOR: ERROR: Illegal to change the value of register RegR15 | |
| 40 VALIDATOR: 000000000000002d: 4c 01 fd add
%rbp, %r15 | |
| 41 VALIDATOR: ERROR: Illegal change to register RBP | |
| 42 VALIDATOR: 0000000000000027: 87 2d 00 00 00 00 xchg
[%rip], %ebp | |
| 43 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 44 VALIDATOR: 0000000000000036: 4c 01 fc add
%rsp, %r15 | |
| 45 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 46 VALIDATOR: 0000000000000030: 87 25 00 00 00 00 xchg
[%rip], %esp | |
| 47 VALIDATOR: ERROR: Illegal assignment to ESP | |
| 48 VALIDATOR: Checking jump targets: 0 to 39 | |
| 49 VALIDATOR: Checking that basic blocks are aligned | |
| 50 *** <input> IS UNSAFE *** | |
| 51 @dis: | |
| 52 0000000000000000: 66 87 2d 00 00 00 00 xchg [%rip], %b
p | |
| 53 0000000000000007: 48 87 2d 00 00 00 00 xchg [%rip], %r
bp | |
| 54 000000000000000e: 66 87 25 00 00 00 00 xchg [%rip], %s
p | |
| 55 0000000000000015: 48 87 25 00 00 00 00 xchg [%rip], %r
sp | |
| 56 000000000000001c: 90 nop | |
| 57 000000000000001d: 90 nop | |
| 58 000000000000001e: 90 nop | |
| 59 000000000000001f: 90 nop | |
| 60 0000000000000020: 4c 87 3d 00 00 00 00 xchg [%rip], %r
15 | |
| 61 0000000000000027: 87 2d 00 00 00 00 xchg [%rip], %e
bp | |
| 62 000000000000002d: 4c 01 fd add %rbp, %r15 | |
| 63 0000000000000030: 87 25 00 00 00 00 xchg [%rip], %e
sp | |
| 64 0000000000000036: 4c 01 fc add %rsp, %r15 | |
| 65 @rdfa_output: | |
| 66 0: [0] error - %bpl or %bp is changed | |
| 67 7: [0] error - %bpl or %bp is changed | |
| 68 e: [0] error - %spl or %sp is changed | |
| 69 15: [0] error - %spl or %sp is changed | |
| 70 20: [0] error - %r15 is changed | |
| 71 27: [0] error - %bpl or %bp is changed | |
| 72 2d: [0] improper %rbp sandboxing | |
| 73 30: [0] error - %spl or %sp is changed | |
| 74 36: [0] improper %rsp sandboxing | |
| 75 return code: 1 | |
| OLD | NEW |