DF-2815 / rebootdirect.c
/* * DF-2815 - single-threaded direct reboot(2) caller. * * Deliberately single-threaded and fd-free so boot()'s * shutdown_cleanup_proc(curproc) is harmless, letting the kernel proceed * cleanly to dumpsys() while a SEPARATE churner process races * DIOCGKERNELDUMP set/clear against the in-flight dump. */ #include <sys/reboot.h> #include <sys/syscall.h> #include <stdio.h> #include <unistd.h> int main(void) { printf("rebootdirect: calling reboot(RB_DUMP|RB_NOSYNC)\n"); fflush(stdout); syscall(SYS_reboot, RB_AUTOBOOT | RB_DUMP | RB_NOSYNC); printf("rebootdirect: returned?!\n"); return (0); } |