From 617c5ba0451ed021b19f6a99872cac4bc629e9d7 Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Sat, 24 Oct 2020 11:24:50 +0330 Subject: [PATCH] UserspaceEmulator: Add support for fchown --- DevTools/UserspaceEmulator/Emulator.cpp | 7 +++++++ DevTools/UserspaceEmulator/Emulator.h | 1 + 2 files changed, 8 insertions(+) diff --git a/DevTools/UserspaceEmulator/Emulator.cpp b/DevTools/UserspaceEmulator/Emulator.cpp index e39b4a2480..d90a087d29 100644 --- a/DevTools/UserspaceEmulator/Emulator.cpp +++ b/DevTools/UserspaceEmulator/Emulator.cpp @@ -353,6 +353,8 @@ u32 Emulator::virt_syscall(u32 function, u32 arg1, u32 arg2, u32 arg3) return virt$chmod(arg1, arg2, arg3); case SC_fchmod: return virt$fchmod(arg1, arg2); + case SC_fchown: + return virt$fchown(arg1, arg2, arg3); case SC_accept: return virt$accept(arg1, arg2, arg3); case SC_setsockopt: @@ -505,6 +507,11 @@ int Emulator::virt$fchmod(int fd, mode_t mode) return syscall(SC_fchmod, fd, mode); } +int Emulator::virt$fchown(int fd, uid_t uid, gid_t gid) +{ + return syscall(SC_fchown, fd, uid, gid); +} + int Emulator::virt$setsockopt(FlatPtr params_addr) { Syscall::SC_setsockopt_params params; diff --git a/DevTools/UserspaceEmulator/Emulator.h b/DevTools/UserspaceEmulator/Emulator.h index 72553f6650..e31c37f5b6 100644 --- a/DevTools/UserspaceEmulator/Emulator.h +++ b/DevTools/UserspaceEmulator/Emulator.h @@ -122,6 +122,7 @@ private: int virt$dbgputch(char); int virt$chmod(FlatPtr, size_t, mode_t); int virt$fchmod(int, mode_t); + int virt$fchown(int, uid_t, gid_t); int virt$listen(int, int); int virt$kill(pid_t, int); int virt$fstat(int, FlatPtr);