Xen Test Framework
Data Structures | Functions | Variables
main.c File Reference

XSA-278 More...

#include <xtf.h>
+ Include dependency graph for main.c:

Go to the source code of this file.

Data Structures

struct  test
 

Functions

static exinfo_t stub_vmclear (void)
 
static exinfo_t stub_vmptrld (void)
 
static exinfo_t stub_vmptrst (void)
 
static exinfo_t stub_vmread (void)
 
static exinfo_t stub_vmwrite (void)
 
static exinfo_t stub_vmlaunch (void)
 
static exinfo_t stub_vmresume (void)
 
static exinfo_t stub_vmxoff (void)
 
static exinfo_t stub_vmxon (void)
 
static exinfo_t stub_invept (void)
 
static exinfo_t stub_invvpid (void)
 
void test_main (void)
 To be implemented by each test, as its entry point. More...
 

Variables

const char test_title [] = "XSA-278 PoC"
 The title of the test. More...
 
static const struct test tests []
 

Detailed Description

XSA-278

Definition in file main.c.

Function Documentation

◆ stub_vmclear()

static exinfo_t stub_vmclear ( void  )
static

Definition at line 28 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmptrld()

static exinfo_t stub_vmptrld ( void  )
static

Definition at line 42 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmptrst()

static exinfo_t stub_vmptrst ( void  )
static

Definition at line 56 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmread()

static exinfo_t stub_vmread ( void  )
static

Definition at line 69 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmwrite()

static exinfo_t stub_vmwrite ( void  )
static

Definition at line 83 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmlaunch()

static exinfo_t stub_vmlaunch ( void  )
static

Definition at line 96 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmresume()

static exinfo_t stub_vmresume ( void  )
static

Definition at line 108 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmxoff()

static exinfo_t stub_vmxoff ( void  )
static

Definition at line 120 of file main.c.

+ Here is the call graph for this function:

◆ stub_vmxon()

static exinfo_t stub_vmxon ( void  )
static

Definition at line 132 of file main.c.

+ Here is the call graph for this function:

◆ stub_invept()

static exinfo_t stub_invept ( void  )
static

Definition at line 146 of file main.c.

+ Here is the call graph for this function:

◆ stub_invvpid()

static exinfo_t stub_invvpid ( void  )
static

Definition at line 160 of file main.c.

+ Here is the call graph for this function:

◆ test_main()

void test_main ( void  )

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 196 of file main.c.

+ Here is the call graph for this function:

Variable Documentation

◆ test_title

const char test_title[] = "XSA-278 PoC"

The title of the test.

Definition at line 26 of file main.c.

◆ tests

const struct test tests[]
static
Initial value:
= {
{ "vmclear", stub_vmclear },
{ "vmptrld", stub_vmptrld },
{ "vmptrst", stub_vmptrst },
{ "vmread", stub_vmread },
{ "vmwrite", stub_vmwrite },
{ "vmlaunch", stub_vmlaunch },
{ "vmresume", stub_vmresume },
{ "vmxoff", stub_vmxoff },
{ "vmxon", stub_vmxon },
{ "invept", stub_invept },
{ "invvpid", stub_invvpid },
}
static exinfo_t stub_vmxon(void)
Definition: main.c:132
static exinfo_t stub_vmclear(void)
Definition: main.c:28
static exinfo_t stub_invept(void)
Definition: main.c:146
static exinfo_t stub_vmptrld(void)
Definition: main.c:42
static exinfo_t stub_vmread(void)
Definition: main.c:69
static exinfo_t stub_vmxoff(void)
Definition: main.c:120
static exinfo_t stub_vmwrite(void)
Definition: main.c:83
static exinfo_t stub_vmptrst(void)
Definition: main.c:56
static exinfo_t stub_vmresume(void)
Definition: main.c:108
static exinfo_t stub_vmlaunch(void)
Definition: main.c:96
static exinfo_t stub_invvpid(void)
Definition: main.c:160