diff options
-rw-r--r-- | src/kernel/syscalls.c | 4 | ||||
-rw-r--r-- | src/shared/include/camellia/syscalls.h | 2 | ||||
-rw-r--r-- | src/user/lib/syscall.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/kernel/syscalls.c b/src/kernel/syscalls.c index 33f56cd..d7ac5b2 100644 --- a/src/kernel/syscalls.c +++ b/src/kernel/syscalls.c @@ -276,7 +276,7 @@ handle_t _syscall_fs_wait(char __user *buf, long max_len, struct fs_wait_respons return -1; // dummy } -long _syscall_fs_respond(handle_t hid, void __user *buf, long ret, int flags) { +long _syscall_fs_respond(handle_t hid, const void __user *buf, long ret, int flags) { struct handle *h = process_handle_get(process_current, hid); if (!h || h->type != HANDLE_FS_REQ) SYSCALL_RETURN(-EBADF); struct vfs_request *req = h->req; @@ -294,7 +294,7 @@ long _syscall_fs_respond(handle_t hid, void __user *buf, long ret, int flags) { panic_unimplemented(); /* write failures are ignored */ } - vfsreq_finish(req, buf, ret, flags, process_current); + vfsreq_finish(req, (void __user *)buf, ret, flags, process_current); } h->req = NULL; process_handle_close(process_current, hid); diff --git a/src/shared/include/camellia/syscalls.h b/src/shared/include/camellia/syscalls.h index 04dfba5..634583b 100644 --- a/src/shared/include/camellia/syscalls.h +++ b/src/shared/include/camellia/syscalls.h @@ -62,7 +62,7 @@ long _syscall_remove(handle_t h); long _syscall_close(handle_t h); handle_t _syscall_fs_wait(char __user *buf, long max_len, struct fs_wait_response __user *res); -long _syscall_fs_respond(handle_t hid, void __user *buf, long ret, int flags); +long _syscall_fs_respond(handle_t hid, const void __user *buf, long ret, int flags); /** Modifies the virtual address space. * diff --git a/src/user/lib/syscall.c b/src/user/lib/syscall.c index d001990..50467b3 100644 --- a/src/user/lib/syscall.c +++ b/src/user/lib/syscall.c @@ -54,7 +54,7 @@ handle_t _syscall_fs_wait(char __user *buf, long max_len, struct fs_wait_respons return (handle_t)_syscall(_SYSCALL_FS_WAIT, (long)buf, max_len, (long)res, 0, 0); } -long _syscall_fs_respond(handle_t hid, void __user *buf, long ret, int flags) { +long _syscall_fs_respond(handle_t hid, const void __user *buf, long ret, int flags) { return _syscall(_SYSCALL_FS_RESPOND, (long)hid, (long)buf, ret, (long)flags, 0); } |