From 1f7e7501660123ff8f26e8c65e75c2b282b933ef Mon Sep 17 00:00:00 2001 From: dzwdz Date: Fri, 8 Jul 2022 14:40:44 +0200 Subject: syscall/fs_respond: get the file id from the buf argument Previously, file ids could only be positive integers, so their range was 31 bits - not enough to represent the entire memory. Now, pointers can be safely used as file ids. --- src/shared/syscalls.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/shared/syscalls.h') diff --git a/src/shared/syscalls.h b/src/shared/syscalls.h index b9be23d..c6d3c33 100644 --- a/src/shared/syscalls.h +++ b/src/shared/syscalls.h @@ -63,14 +63,14 @@ struct fs_wait_response { enum vfs_operation op; size_t len; // how much was put in *buf size_t capacity; // how much output can be accepted by the caller - int id; // file id (returned by the open handler, passed to other calls) + void __user *id; // file id (returned by the open handler, passed to other calls) int offset; int flags; }; /** Blocks until an fs request is made. * @return 0 if everything was successful */ int _syscall_fs_wait(char __user *buf, int max_len, struct fs_wait_response __user *res); -int _syscall_fs_respond(char __user *buf, int ret, int flags); +int _syscall_fs_respond(void __user *buf, int ret, int flags); /** Modifies the virtual address space. * -- cgit v1.2.3