syncing disks, buffers remaining... 234 234 232 232 232 232 231 232 231 231 231 231 231 231 231 231 231 231 231 231 231 231 231 231 231 231 231 231 giving up on 141 buffers Uptime: 13m13s Automatic reboot in 15 seconds - press a key on the console to abort Rebooting...
Workaround:
You may make a proper use of ALIGNED_POINTER macro which already exists in src/sys/alpha/include/param.h to check if ptrs are aligned, or make your own like:
#define PTR_ALIGNED(x) (((x) & 0x7) == 0)
Putting the following line at the top of execve() in src/sys/kern/kern_exec.c should prevent the crash (unfortunatly, this is not tested. Idea is mine, a little corrected by Mr. Dag-Erling Smørgrav, FreeBSD deputy security officer):
if (!PTR_ALIGNED(uap->argv) || !PTR_ALIGNED(uap->envv)) return (EFAULT);
Vendor status: FreeBSD was notified on Sat 19/06/2004 23:50 -0000