From 0a86411e46b20ccd057daa28e0835b29f29c9aa5 Mon Sep 17 00:00:00 2001 From: Aaron Kaiser Date: Mon, 22 Apr 2024 09:30:14 +0200 Subject: [PATCH] Fix bugs --- src/agent.jazz | 10 +++++++++- syscall/jasmin_syscall.c | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/agent.jazz b/src/agent.jazz index ba5c3c0..da52bce 100644 --- a/src/agent.jazz +++ b/src/agent.jazz @@ -1,5 +1,13 @@ from Jade require "crypto_scalarmult/curve25519/amd64/mulx/curve25519.jinc" +inline fn extract_ipc_id(reg u64 sync_mem) -> reg u64 { + reg u64 id; + + id = (u64)[sync_mem + 8]; + + return id; +} + export fn agent_start(reg u64 shared_mem sync_mem) { stack u8[8] unused; reg u64 outptr; @@ -16,7 +24,7 @@ export fn agent_start(reg u64 shared_mem sync_mem) { sync_mem = spill_sync_mem; shared_mem = spill_shared_mem; - outptr = (u64)[sync_mem + 8]; + outptr = (u64)[sync_mem + 16]; outptr = shared_mem + outptr; (u64)[outptr] = 0x1337; diff --git a/syscall/jasmin_syscall.c b/syscall/jasmin_syscall.c index d85634e..c90d60e 100644 --- a/syscall/jasmin_syscall.c +++ b/syscall/jasmin_syscall.c @@ -91,7 +91,7 @@ uint64_t __jasmin_syscall_open__(uint8_t* x, uint64_t xlen) uint8_t* __jasmin_syscall_read__(uint8_t* _x, uint64_t xlen, uint64_t fd) { uint32_t* addr = (uint32_t*)(uintptr_t)fd; - long ret = syscall(SYS_futex, addr, FUTEX_WAIT, 0x1, NULL, NULL, 0); + long ret = syscall(SYS_futex, addr, FUTEX_WAIT, 0, NULL, NULL, 0); if (ret == -1) { printf("Agent futex error: %d\n", errno); perror("futex");