this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

lkm, libkqueue and syscall improvements for launchd

+83
+3
src/kernel/emulation/linux/CMakeLists.txt
··· 139 139 misc/gethostuuid.c 140 140 misc/getrusage.c 141 141 misc/getlogin.c 142 + misc/setlogin.c 143 + misc/reboot.c 144 + misc/iopolicysys.c 142 145 fcntl/open.c 143 146 fcntl/openat.c 144 147 fcntl/fcntl.c
+1
src/kernel/emulation/linux/mach/lkm.c
··· 68 68 } 69 69 } 70 70 71 + __attribute__((visibility("default"))) 71 72 int lkm_call(int call_nr, void* arg) 72 73 { 73 74 return __real_ioctl(driver_fd, call_nr, arg);
+12
src/kernel/emulation/linux/misc/iopolicysys.c
··· 1 + #include "iopolicysys.h" 2 + #include "../base.h" 3 + #include "../simple.h" 4 + #include "../errno.h" 5 + #include <sys/errno.h> 6 + #include <stddef.h> 7 + 8 + long sys_iopolicysys(int cmd, void* arg) 9 + { 10 + return 0; 11 + } 12 +
+7
src/kernel/emulation/linux/misc/iopolicysys.h
··· 1 + #ifndef LINUX_IOPOLICYSYS_H 2 + #define LINUX_IOPOLICYSYS_H 3 + 4 + long sys_iopolicysys(int cmd, void* arg); 5 + 6 + #endif 7 +
+6
src/kernel/emulation/linux/misc/proc_info.c
··· 49 49 50 50 return ret; 51 51 } 52 + case 8: // dirtycontrol 53 + return 0; 52 54 case 2: // proc_pidinfo 53 55 return _proc_pidinfo(pid, flavor, arg, buffer, bufsize); 54 56 case 3: // proc_pidfdinfo ··· 121 123 122 124 memcpy(buffer, &my_rpi, sizeof(my_rpi)); 123 125 return foundRegion ? 0 : -ESRCH; 126 + } 127 + case PROC_PIDT_SHORTBSDINFO: 128 + { 129 + return 0; 124 130 } 125 131 default: 126 132 {
+15
src/kernel/emulation/linux/misc/reboot.c
··· 1 + #include "reboot.h" 2 + #include "../base.h" 3 + #include "../simple.h" 4 + #include "../errno.h" 5 + #include "../unistd/exit.h" 6 + #include <sys/errno.h> 7 + #include <stddef.h> 8 + 9 + long sys_reboot(int opt, const char* cmd) 10 + { 11 + __simple_printf("ALERT: The process has asked for system reboot with cmd '%s' - terminating\n", cmd); 12 + sys_exit(1); 13 + return -ENOTSUP; 14 + } 15 +
+7
src/kernel/emulation/linux/misc/reboot.h
··· 1 + #ifndef LINUX_REBOOT_H 2 + #define LINUX_REBOOT_H 3 + 4 + long sys_reboot(int opt, const char* cmd); 5 + 6 + #endif 7 +
+11
src/kernel/emulation/linux/misc/setlogin.c
··· 1 + #include "setlogin.h" 2 + #include "../base.h" 3 + #include "../errno.h" 4 + #include <linux-syscalls/linux.h> 5 + #include <stddef.h> 6 + 7 + long sys_setlogin(const char* buf) 8 + { 9 + return 0; 10 + } 11 +
+7
src/kernel/emulation/linux/misc/setlogin.h
··· 1 + #ifndef LINUX_SETLOGIN_H 2 + #define LINUX_SETLOGIN_H 3 + 4 + long sys_setlogin(const char* buf); 5 + 6 + #endif 7 +
+4
src/kernel/emulation/linux/misc/sysctl.c
··· 92 92 char* saveptr; 93 93 const char* token; 94 94 95 + // Used by launchd, assumed to succeed 96 + if (strcmp(name, "vfs.generic.noremotehang") == 0) 97 + return 0; 98 + 95 99 token = strtok_r((char*) _new, ".", &saveptr); 96 100 97 101 while (token != NULL)
+6
src/kernel/emulation/linux/syscalls.c
··· 90 90 #include "process/setpriority.h" 91 91 #include "misc/getentropy.h" 92 92 #include "misc/getlogin.h" 93 + #include "misc/setlogin.h" 94 + #include "misc/reboot.h" 95 + #include "misc/iopolicysys.h" 93 96 #include "misc/shared_region_check_np.h" 94 97 #include "ioctl/ioctl.h" 95 98 #include "misc/getrlimit.h" ··· 214 217 [47] = sys_getgid, 215 218 [48] = sys_sigprocmask, 216 219 [49] = sys_getlogin, 220 + [50] = sys_setlogin, 217 221 [53] = sys_sigaltstack, 218 222 [54] = sys_ioctl, 223 + [55] = sys_reboot, 219 224 [57] = sys_symlink, 220 225 [58] = sys_readlink, 221 226 [59] = sys_execve, ··· 322 327 [304] = sys_psynch_cvsignal, 323 328 [305] = sys_psynch_cvwait, 324 329 [310] = sys_getsid, 330 + [322] = sys_iopolicysys, 325 331 [327] = sys_issetugid, 326 332 [328] = sys_pthread_kill, 327 333 [329] = sys_sigprocmask, // __pthread_sigmask
+4
src/launchd/support/CMakeLists.txt
··· 35 35 add_darling_executable(launchctl launchctl.c) 36 36 target_link_libraries(launchctl xpc CoreFoundation edit) 37 37 38 + add_darling_executable(launchproxy launchproxy.c) 39 + target_link_libraries(launchproxy xpc) 40 + 38 41 install(TARGETS launchctl DESTINATION libexec/darling/bin) 42 + install(TARGETS launchproxy DESTINATION libexec/darling/usr/libexec) 39 43