b5139de154
1) make sure Mach servers will not work on data beyond the end of the request message buffer. 2) make sure that on copying out the reply message buffer, we will not leak kernel data located after the buffer. 3) make sure that the server will not overwrite memory beyond the end of the reply message buffer. That check is the responsability of the server, there is just a DIAGNOSTIC test to check everything is in good shape. All currently implemented servers in NetBSD have been modified to check for this condition While we are here, build the mach services table (formerly in mach_namemap.c) and the services prototypes automatically from mach_services.master, just as this is done for system calls. The next step would be to fold the message formats in the mach_services.master file, but this tends to be difficult, as some messages are quite long and complex. |
||
---|---|---|
.. | ||
Makefile | ||
darwin_exec.c | ||
darwin_exec.h | ||
darwin_ioctl.c | ||
darwin_ioctl.h | ||
darwin_ioframebuffer.c | ||
darwin_ioframebuffer.h | ||
darwin_iohidsystem.c | ||
darwin_iohidsystem.h | ||
darwin_iokit.c | ||
darwin_iokit.h | ||
darwin_mman.c | ||
darwin_mount.c | ||
darwin_mount.h | ||
darwin_proc.h | ||
darwin_signal.c | ||
darwin_signal.h | ||
darwin_stat.c | ||
darwin_syscall.h | ||
darwin_syscallargs.h | ||
darwin_syscalls.c | ||
darwin_sysctl.c | ||
darwin_sysctl.h | ||
darwin_sysent.c | ||
darwin_thread.c | ||
darwin_types.h | ||
darwin_unistd.c | ||
files.darwin | ||
syscalls.conf | ||
syscalls.master |