Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/compat/netbsd32
On Mon, 9 Mar 2020, Paul Goyette wrote:
Module Name: src
Committed By: pgoyette
Date: Mon Mar 9 01:06:34 UTC 2020
Modified Files:
src/sys/compat/netbsd32: netbsd32_mod.c
Log Message:
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!
While here, I also added some comments on some recent #endif to better
identify their associated #if - no functional change intended for this.
XXX Pullup-9
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/compat/netbsd32/netbsd32_mod.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
!DSPAM:5e6596db22973983836595!
+--------------------+--------------------------+-----------------------+
| Paul Goyette | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | FA29 0E3B 35AF E8AE 6651 | paul%whooppee.com@localhost |
| Software Developer | 0786 F758 55DE 53BA 7731 | pgoyette%netbsd.org@localhost |
+--------------------+--------------------------+-----------------------+
Home |
Main Index |
Thread Index |
Old Index