From fe88f4f77fd0472e1046597618e78090d095b7e4 Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Wed, 27 Mar 2019 18:38:42 +0800 Subject: [PATCH] Fix sys_readv not updating file offset --- kernel/src/syscall/fs.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/src/syscall/fs.rs b/kernel/src/syscall/fs.rs index 5081ebf..130fd19 100644 --- a/kernel/src/syscall/fs.rs +++ b/kernel/src/syscall/fs.rs @@ -273,8 +273,7 @@ pub fn sys_readv(fd: usize, iov_ptr: *const IoVec, iov_count: usize) -> SysResul let mut iovs = IoVecs::check_and_new(iov_ptr, iov_count, &proc.vm, true)?; // read all data to a buf - let mut file = proc.get_file(fd)?.clone(); - drop(proc); + let mut file = proc.get_file(fd)?; let mut buf = iovs.new_buf(true); let len = file.read(buf.as_mut_slice())?; // copy data to user