diff options
Diffstat (limited to 'src/kernel/vfs')
-rw-r--r-- | src/kernel/vfs/request.c | 1 | ||||
-rw-r--r-- | src/kernel/vfs/request.h | 8 |
2 files changed, 2 insertions, 7 deletions
diff --git a/src/kernel/vfs/request.c b/src/kernel/vfs/request.c index 9a51688..6159bbf 100644 --- a/src/kernel/vfs/request.c +++ b/src/kernel/vfs/request.c @@ -96,7 +96,6 @@ int vfs_request_finish(struct vfs_request *req, int ret) { } if (req->input.kern) kfree(req->input.buf_kern); - if (req->output.kern) kfree(req->output.buf_kern); req->caller->state = PS_RUNNING; regs_savereturn(&req->caller->regs, ret); diff --git a/src/kernel/vfs/request.h b/src/kernel/vfs/request.h index aabef4f..0ad50e9 100644 --- a/src/kernel/vfs/request.h +++ b/src/kernel/vfs/request.h @@ -18,7 +18,7 @@ struct vfs_backend { // describes an in-process vfs call struct vfs_request { enum vfs_operation type; - struct { // TODO maybe this should be a separate type + struct { bool kern; // if false: use .buf ; if true: use .buf_kern union { char __user *buf; @@ -27,11 +27,7 @@ struct vfs_request { int len; } input; struct { - bool kern; // if false: use .buf ; if true: use .buf_kern - union { - char __user *buf; - char *buf_kern; - }; + char __user *buf; int len; } output; |