mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
30 lines
462 B
ArmAsm
30 lines
462 B
ArmAsm
#include <lkmc.h>
|
|
|
|
.global main
|
|
main:
|
|
/* Do the svc. */
|
|
svc 0
|
|
|
|
/* Confirm that svc was called and modified myvar. */
|
|
ldr x0, myvar
|
|
ldr x1, mynewvar
|
|
cmp x0, x1
|
|
beq 1f
|
|
bl lkmc_assert_fail
|
|
1:
|
|
|
|
/* Go home. */
|
|
ret
|
|
|
|
LKMC_GLOBAL(lkmc_vector_trap_handler)
|
|
/* Modify myvar as a visible side effect. */
|
|
ldr x0, mynewvar
|
|
ldr x1, =myvar
|
|
str x0, [x1]
|
|
ret
|
|
|
|
myvar:
|
|
.quad 0x0
|
|
mynewvar:
|
|
.quad 0x12346789ABCDEF0
|