- Rename socket_syscall_dispatch to extended_syscall_dispatch (handles
MQ, SEM, DLOPEN, EPOLL, INOTIFY, AIO, MOUNT, etc., not just sockets)
- Implement POSIX saved set-user-ID / set-group-ID:
- Add suid/sgid fields to struct process (at end to preserve offsets)
- setuid(2): when root, sets uid/euid/suid; non-root can set euid
to uid or suid (POSIX spec)
- setgid(2): same pattern for gid/egid/sgid
- seteuid(2): saves old euid to suid, allows switch to suid
- setegid(2): saves old egid to sgid, allows switch to sgid
- suid/sgid inherited on fork and clone
- Add SYSCALL_REBOOT (142): root-only, cmd 0=halt, 1=reboot,
2=poweroff. Uses hal_system_reboot() and new hal_system_shutdown()
(QEMU ACPI port 0x604 for poweroff)