summaryrefslogtreecommitdiff
path: root/src/kernel/vfs
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/vfs')
-rw-r--r--src/kernel/vfs/request.c1
-rw-r--r--src/kernel/vfs/request.h8
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;