aboutsummaryrefslogtreecommitdiff
path: root/pk/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'pk/syscall.c')
-rw-r--r--pk/syscall.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pk/syscall.c b/pk/syscall.c
index 422b16c..a5e12f2 100644
--- a/pk/syscall.c
+++ b/pk/syscall.c
@@ -132,7 +132,9 @@ int sys_fstat(int fd, void* st)
if (f)
{
- r = file_stat(f, st);
+ struct frontend_stat buf;
+ r = frontend_syscall(SYS_fstat, f->kfd, va2pa(&buf), 0, 0, 0, 0, 0);
+ memcpy(st, &buf, sizeof(buf));
file_decref(f);
}
@@ -215,7 +217,7 @@ long sys_lstat(const char* name, void* st)
struct frontend_stat buf;
size_t name_size = strlen(name)+1;
long ret = frontend_syscall(SYS_lstat, va2pa(name), name_size, va2pa(&buf), 0, 0, 0, 0);
- copy_stat(st, &buf);
+ memcpy(st, &buf, sizeof(buf));
return ret;
}