Skip to content

Commit ce78ab9

Browse files
committed
Add stubs for getgid, getpid, getegid, geteuid and socket
1 parent 6272a23 commit ce78ab9

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

lib/tinykvm/linux/system_calls.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,13 @@ void Machine::setup_linux_system_calls()
650650
SYSPRINT("getpid() = %lld\n", regs.rax);
651651
cpu.set_registers(regs);
652652
});
653+
Machine::install_syscall_handler(
654+
SYS_socket, [](vCPU& cpu) { // SOCKET
655+
auto& regs = cpu.registers();
656+
regs.rax = -ENOSYS;
657+
SYSPRINT("socket(...) = %lld\n", regs.rax);
658+
cpu.set_registers(regs);
659+
});
653660
Machine::install_syscall_handler(
654661
SYS_exit, [](vCPU& cpu) { // EXIT
655662
#ifdef VERBOSE_GUEST_EXITS
@@ -739,12 +746,30 @@ void Machine::setup_linux_system_calls()
739746
regs.rdi, regs.rax);
740747
cpu.set_registers(regs);
741748
});
749+
Machine::install_syscall_handler(
750+
SYS_getgid, [](vCPU& cpu) { // GETGID
751+
auto& regs = cpu.registers();
752+
regs.rax = 0;
753+
cpu.set_registers(regs);
754+
});
742755
Machine::install_syscall_handler(
743756
SYS_getuid, [](vCPU& cpu) { // GETUID
744757
auto& regs = cpu.registers();
745758
regs.rax = 0;
746759
cpu.set_registers(regs);
747760
});
761+
Machine::install_syscall_handler(
762+
SYS_geteuid, [](vCPU& cpu) { // GETEUID
763+
auto& regs = cpu.registers();
764+
regs.rax = 0;
765+
cpu.set_registers(regs);
766+
});
767+
Machine::install_syscall_handler(
768+
SYS_getegid, [](vCPU& cpu) { // GETEGID
769+
auto& regs = cpu.registers();
770+
regs.rax = 0;
771+
cpu.set_registers(regs);
772+
});
748773
Machine::install_syscall_handler( // sched_getparam
749774
SYS_sched_getparam, [](vCPU& cpu)
750775
{

0 commit comments

Comments
 (0)