summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kernel/syscalls.c4
-rw-r--r--src/shared/include/camellia/syscalls.h2
-rw-r--r--src/user/lib/syscall.c2
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);
}