Fix bugs
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user