XSA-213
More...
#include <xtf.h>
Go to the source code of this file.
XSA-213
Definition in file main.c.
◆ IRET_IDENTIFIER
#define IRET_IDENTIFIER 0xdead |
◆ recover_from_iret()
void recover_from_iret |
( |
void |
| ) |
|
◆ asm() [1/2]
asm |
( |
".align 16;" "recover_from_iret:" "mov % |
dr0, |
|
|
%" _ASM_SP ";" "jmp multicall_return;" |
|
|
) |
| |
◆ iret_entry()
◆ asm() [2/2]
◆ multi_iret_call()
◆ test_main()
To be implemented by each test, as its entry point.
- Todo:
- Implement better command line infrastructure, but this will do for now.
At the time of writing, Xen doesn't correctly handle invlpg
while running in shadow mode on AMD Gen1 hardware lacking decode assistance. For this test, we simply care that Xen doesn't crash.
Definition at line 120 of file main.c.
◆ test_title
const char test_title[] = "XSA-213 PoC" |
The title of the test.
Definition at line 25 of file main.c.
◆ idte
Initial value:= {
.cs = __KERN_CS,
.dpl = 3,
}
#define _u(v)
Express an arbitrary value v as unsigned long.
void recover_from_iret(void)
Definition at line 37 of file main.c.
◆ multi
Initial value:= {
{
},
{
.args = {
},
},
}
#define __HYPERVISOR_iret
#define __HYPERVISOR_xen_version
Definition at line 107 of file main.c.