--- - branch: MAIN date: Mon Mar 9 01:06:34 UTC 2020 files: - new: '1.19' old: '1.18' path: src/sys/compat/netbsd32/netbsd32_mod.c pathrev: src/sys/compat/netbsd32/netbsd32_mod.c@1.19 type: modified id: 20200309T010634Z.770faf8e118a721984011c52689dc242d9d3c734 log: | If a syscall requires a module to be autoloaded, the initial invocation of that syscall will return ERESTART. For amd64's netbsd32_syscall() that means we need to back up the PC saved in the trap frame so we can re-issue the syscall instruction. For "normal" syscall traps, we saved the instruction length in the trap frame, but this was missing for the oosyscall/lcall path. Since the PC was not backed up, the kernel-only value ERESTART was returned to userland, causing all sort of grief for old compat_netbsd32 executables! XXX Pullup-9 module: src subject: 'CVS commit: src/sys/compat/netbsd32' unixtime: '1583715994' user: pgoyette