Fix bugs
This commit is contained in:
@@ -1,5 +1,13 @@
|
|||||||
from Jade require "crypto_scalarmult/curve25519/amd64/mulx/curve25519.jinc"
|
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) {
|
export fn agent_start(reg u64 shared_mem sync_mem) {
|
||||||
stack u8[8] unused;
|
stack u8[8] unused;
|
||||||
reg u64 outptr;
|
reg u64 outptr;
|
||||||
@@ -16,7 +24,7 @@ export fn agent_start(reg u64 shared_mem sync_mem) {
|
|||||||
sync_mem = spill_sync_mem;
|
sync_mem = spill_sync_mem;
|
||||||
shared_mem = spill_shared_mem;
|
shared_mem = spill_shared_mem;
|
||||||
|
|
||||||
outptr = (u64)[sync_mem + 8];
|
outptr = (u64)[sync_mem + 16];
|
||||||
outptr = shared_mem + outptr;
|
outptr = shared_mem + outptr;
|
||||||
|
|
||||||
(u64)[outptr] = 0x1337;
|
(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)
|
uint8_t* __jasmin_syscall_read__(uint8_t* _x, uint64_t xlen, uint64_t fd)
|
||||||
{
|
{
|
||||||
uint32_t* addr = (uint32_t*)(uintptr_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) {
|
if (ret == -1) {
|
||||||
printf("Agent futex error: %d\n", errno);
|
printf("Agent futex error: %d\n", errno);
|
||||||
perror("futex");
|
perror("futex");
|
||||||
|
|||||||
Reference in New Issue
Block a user