History log of /src/sys/compat/common/kern_sig_43.c |
Revision | | Date | Author | Comments |
1.38 |
| 01-Nov-2021 |
thorpej | Use "stack_t" instead of "struct sigaltstack", as the former is the newer standardized name. NFC.
|
1.37 |
| 07-Sep-2021 |
riastradh | sys/compat: Memset zero before copyout.
Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
|
1.36 |
| 01-Jan-2020 |
maxv | Fix three stack info leaks, found by kMSan when just invoking all syscalls with a zero page as argument.
MSan: Uninitialized Stack Memory In copyout() At Offset 0, Variable 'sb32' From compat_20_netbsd32_getfsstat() MSan: Uninitialized Stack Memory In copyout() At Offset 12, Variable 'oss' From compat_43_sys_sigstack() MSan: Uninitialized Stack Memory In copyout() At Offset 0, Variable 'sb' From compat_50_netbsd32___fhstat40()
|
1.35 |
| 27-Jan-2019 |
pgoyette | branches: 1.35.4; Merge the [pgoyette-compat] branch
|
1.34 |
| 19-Jan-2011 |
tsutsui | branches: 1.34.32; 1.34.44; 1.34.50; 1.34.56; 1.34.58; Remove includes <sys/mount.h> and <sys/sched.h> added for <sys/syscallargs.h>. Now they are handled by $sysarghdrextra in sys/kern/syscalls.conf.
|
1.33 |
| 23-Nov-2009 |
rmind | branches: 1.33.4; 1.33.6; Use lwp_getpcb() in compat code, clean from struct user.
|
1.32 |
| 28-Apr-2008 |
martin | branches: 1.32.2; Remove clause 3 and 4 from TNF licenses
|
1.31 |
| 24-Apr-2008 |
ad | branches: 1.31.2; Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since we no longer need to guard against access from hardware interrupt handlers.
Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the child process share the parent's lock so that signal state may be kept in sync. Partially addresses PR kern/37437.
|
1.30 |
| 20-Dec-2007 |
dsl | branches: 1.30.6; 1.30.8; Convert all the system call entry points from: int foo(struct lwp *l, void *v, register_t *retval) to: int foo(struct lwp *l, const struct foo_args *uap, register_t *retval) Fixup compat code to not write into 'uap' and (in some cases) to actually pass a correctly formatted 'uap' structure with the right name to the next routine. A few 'compat' routines that just call standard ones have been deleted. All the 'compat' code compiles (along with the kernels required to test build it). 98% done by automated scripts.
|
1.29 |
| 08-Dec-2007 |
dsl | branches: 1.29.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
1.28 |
| 04-Dec-2007 |
dsl | Remove all the __P
|
1.27 |
| 19-Oct-2007 |
ad | branches: 1.27.2; 1.27.4; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.26 |
| 09-Feb-2007 |
ad | branches: 1.26.6; 1.26.18; 1.26.20; 1.26.24; Merge newlock2 to head.
|
1.25 |
| 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.24 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.23 |
| 23-Jul-2006 |
ad | branches: 1.23.4; 1.23.6; Use the LWP cached credentials where sane.
|
1.22 |
| 14-May-2006 |
elad | integrate kauth.
|
1.21 |
| 11-Dec-2005 |
christos | branches: 1.21.4; 1.21.6; 1.21.8; 1.21.10; 1.21.12; merge ktrace-lwp.
|
1.20 |
| 13-Sep-2005 |
christos | compat code reorg.
|
1.19 |
| 06-Sep-2003 |
christos | branches: 1.19.16; SA_SIGINFO changes
|
1.18 |
| 18-Jan-2003 |
thorpej | branches: 1.18.2; Merge the nathanw_sa branch.
|
1.17 |
| 04-Jul-2002 |
thorpej | Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the sigaction and the trampoline/version. Version 0 means "legacy kernel provided trampoline". Other versions are coordinated with machine- dependent code in libc. * sigaction1() grows two more arguments -- the trampoline pointer and the trampoline version. * A new __sigaction_sigtramp() system call is provided to register a trampoline along with a signal handler. * The handler is no longer passed to sensig() functions. Instead, sendsig() looks up the handler by peeking in the sigacts for the process getting the signal (since it has to look in there for the trampoline anyway). * Native sendsig() functions now select the appropriate trampoline and its arguments based on the trampoline version in the sigacts.
Changes to libc to use the new facility will be checked in later. Kernel version not bumped; we will ride the 1.6C bump made recently.
|
1.16 |
| 13-Nov-2001 |
lukem | branches: 1.16.8; add RCSIDs (including regeneration of files as appropriate)
|
1.15 |
| 30-May-2001 |
mrg | branches: 1.15.2; use _KERNEL_OPT.
|
1.14 |
| 17-Dec-2000 |
jdolecek | branches: 1.14.2; make LKM safe
|
1.13 |
| 28-Jun-2000 |
mrg | remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
1.12 |
| 30-Mar-2000 |
augustss | Kill register declarations.
|
1.11 |
| 29-Apr-1999 |
christos | branches: 1.11.2; Make ss_size something reasonable (not 0) so sigaltstack does not fail. Pull me up plz!
|
1.10 |
| 14-Sep-1998 |
pk | branches: 1.10.6; Fix copyout() arguments.
|
1.9 |
| 11-Sep-1998 |
mycroft | Substantial signal handling changes: * Increase the size of sigset_t to accomodate 128 signals -- adding new versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and sys_sigsuspend() to handle the changed arguments. * Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(), sys_sigpending() and sys_sigsuspend() into separate functions, and call them from all the emulations rather than hard-coding everything. (Avoids uses the stackgap crap for these system calls.) * Add a new flag (p_checksig) to indicate that a process may have signals pending and userret() needs to do the full (slow) check. * Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE. * Correct emulation bugs with restoring SS_ONSTACK. * Make the signal mask in the sigcontext always use the emulated mask format. * Store signals internally in sigaction structures, rather than maintaining a bunch of little sigsets for each SA_* bit. * Keep track of where we put the signal trampoline, rather than figuring it out in *_sendsig(). * Issue a warning when a non-emulated sigaction bit is observed. * Add missing emulated signals, and a native SIGPWR (currently not used). * Implement the `not reset when caught' semantics for relevant signals.
Note: Only code touched by the i386 port has been modified. Other ports and emulations need to be updated.
|
1.8 |
| 05-Jul-1998 |
jonathan | * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID. TODO: revisit interaction between native compat and emul compat usage.
|
1.7 |
| 14-Mar-1996 |
christos | branches: 1.7.14; Fix compiler warnings
|
1.6 |
| 04-Jan-1996 |
jtc | Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and traditional usage.
|
1.5 |
| 07-Oct-1995 |
mycroft | Prefix names of system call implementation functions with `sys_'.
|
1.4 |
| 19-Sep-1995 |
thorpej | Make system calls conform to a standard prototype and bring those prototypes into scope.
|
1.3 |
| 17-Aug-1995 |
mycroft | Update for signal handling changes.
|
1.2 |
| 15-Aug-1995 |
mycroft | Rename ss_flags bits.
|
1.1 |
| 24-Jun-1995 |
christos | - Extracted all compat routines from the kern directory and moved here. - Created compat_util.c and compat_util.h to be used by the compatibility modules, so they don't duplicate the same code. - Added prototypes to the stackgap allocation routines.
|
1.7.14.1 |
| 08-Sep-1997 |
thorpej | Significantly restructure the way signal state for a process is stored. Rather than using bitmasks to redundantly store the information kept in the process's sigacts (because the sigacts was kept in the u-area), hang sigacts directly off the process, and access it directly.
Simplify signal setup code tremendously by storing information in the sigacts as an array of struct sigactions, rather than in a different format, since userspace uses sigactions.
Make sigacts sharable by adding reference counting.
|
1.10.6.1 |
| 30-Apr-1999 |
perry | branches: 1.10.6.1.2; pullup 1.10->1.11 (christos)
|
1.10.6.1.2.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.11.2.2 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.11.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.14.2.6 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.14.2.5 |
| 12-Jul-2002 |
nathanw | No longer need to pull in lwp.h; proc.h pulls it in for us.
|
1.14.2.4 |
| 29-May-2002 |
nathanw | #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t now that <sys/param.h> doesn't include <sys/sa.h>.
(Behold the Power of Ed)
|
1.14.2.3 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.14.2.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.14.2.1 |
| 05-Mar-2001 |
nathanw | Initial commit of scheduler activations and lightweight process support.
|
1.15.2.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.15.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.16.8.1 |
| 15-Jul-2002 |
gehenna | catch up with -current.
|
1.18.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.18.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.18.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.18.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.19.16.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.19.16.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.19.16.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.19.16.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.19.16.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.19.16.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.21.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.21.10.2 |
| 06-May-2006 |
christos | - Move kauth_cred_t declaration to <sys/types.h> - Cleanup struct ucred; forward declarations that are unused. - Don't include <sys/kauth.h> in any header, but include it in the c files that need it.
Approved by core.
|
1.21.10.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
|
1.21.8.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.21.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.21.6.1 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.21.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.23.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.23.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.23.4.3 |
| 30-Jan-2007 |
ad | Remove support for SA. Ok core@.
|
1.23.4.2 |
| 11-Jan-2007 |
ad | Checkpoint work in progress.
|
1.23.4.1 |
| 21-Oct-2006 |
ad | Checkpoint work in progress on locking and per-LWP signals. Very much a a work in progress and there is still a lot to do.
|
1.26.24.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.26.20.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.26.20.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.26.18.2 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.26.18.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.26.6.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.27.4.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.27.4.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.27.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.27.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.29.4.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.30.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.30.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.31.2.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.31.2.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.32.2.2 |
| 14-May-2008 |
wrstuden | Per discussion with ad, remove most of the #include <sys/sa.h> lines as they were including sa.h just for the type(s) needed for syscallargs.h.
Instead, create a new file, sys/satypes.h, which contains just the types needed for syscallargs.h. Yes, there's only one now, but that may change and it's probably more likely to change if it'd be difficult to handle. :-)
Per discussion with matt at n dot o, add an include of satypes.h to sigtypes.h. Upcall handlers are kinda signal handlers, and signalling is the header file that's already included for syscallargs.h that closest matches SA.
This shaves about 3000 lines off of the diff of the branch relative to the base. That also represents about 18% of the total before this checkin.
I think this reduction is very good thing.
|
1.32.2.1 |
| 10-May-2008 |
wrstuden | Initial checkin of re-adding SA. Everything except kern_sa.c compiles in GENERIC for i386. This is still a work-in-progress, but this checkin covers most of the mechanical work (changing signalling to be able to accomidate SA's process-wide signalling and re-adding includes of sys/sa.h and savar.h). Subsequent changes will be much more interesting.
Also, kern_sa.c has received partial cleanup. There's still more to do, though.
|
1.33.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.33.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.34.58.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.34.58.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.34.56.2 |
| 17-Apr-2018 |
pgoyette | Finish separating the compat_09 and compat_43 stuff
|
1.34.56.1 |
| 17-Apr-2018 |
pgoyette | First pass at compat modules for 4.3BSD, NetBSD-0.9, and NetBSD-1.0
XXX Still need to deal with the sysctl stuff and other code shared XXX between 09 and 43
|
1.34.50.2 |
| 21-Jun-2023 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1836):
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168 sys/compat/sunos/sunos_misc.c: revision 1.177 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52 sys/compat/common/kern_resource_43.c: revision 1.23 sys/compat/netbsd32/netbsd32_conv.h: revision 1.46 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35 sys/compat/common/vfs_syscalls_12.c: revision 1.38 sys/compat/ultrix/ultrix_misc.c: revision 1.126 sys/compat/common/kern_sig_43.c: revision 1.37 sys/compat/linux/common/linux_mtio.c: revision 1.8 sys/compat/freebsd/freebsd_misc.c: revision 1.34 sys/compat/linux/common/linux_olduname.c: revision 1.67 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44 sys/compat/freebsd/freebsd_sched.c: revision 1.23 sys/compat/ossaudio/ossaudio.c: revision 1.84 sys/compat/sys/time_types.h: revision 1.6 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51 sys/compat/linux/common/linux_file.c: revision 1.119 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34 sys/compat/netbsd32/netbsd32_wait.c: revision 1.25 sys/compat/linux32/common/linux32_time.c: revision 1.38 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52 sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46 sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36 sys/compat/ultrix/ultrix_ioctl.c: revision 1.39 sys/compat/linux/common/linux_misc.c: revision 1.252 sys/compat/linux/common/linux_hdio.c: revision 1.19 sys/compat/sunos/sunos_ioctl.c: revision 1.71 sys/compat/linux/common/linux_sched.c: revision 1.79 sys/compat/common/kern_info_43.c: revision 1.40 sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20 sys/compat/linux/common/linux_socket.c: revision 1.153 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60 sys/compat/common/vfs_syscalls_43.c: revision 1.68 sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25 sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9 sys/compat/common/kern_time_50.c: revision 1.37 sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42 sys/compat/linux/common/linux_cdrom.c: revision 1.28 sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43 sys/compat/common/kern_info_09.c: revision 1.22 sys/compat/linux32/common/linux32_resource.c: revision 1.12 sys/compat/linux/common/linux_oldolduname.c: revision 1.67 sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8 sys/compat/linux32/common/linux32_signal.c: revision 1.21 sys/compat/common/kern_sig_13.c: revision 1.22 sys/compat/sunos32/sunos32_ioctl.c: revision 1.36 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23 sys/compat/netbsd32/netbsd32_time.c: revision 1.56 sys/compat/linux/common/linux_signal.c: revision 1.84 sys/compat/netbsd32/netbsd32_signal.c: revision 1.52 sys/compat/sunos32/sunos32_misc.c: revision 1.85 sys/compat/linux/common/linux_time.c: revision 1.40 sys/compat/linux/common/linux_fdio.c: revision 1.14 sys/compat/common/vfs_syscalls_30.c: revision 1.43
sys/compat: Memset zero before copyout.
Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
|
1.34.50.1 |
| 21-Jan-2020 |
martin | Pull up the following, requested by christos in ticket #1487:
sys/compat/common/kern_sig_43.c 1.36 sys/compat/linux/arch/amd64/linux_machdep.c 1.59 sys/compat/linux/common/linux_fcntl.h 1.18 sys/compat/linux/common/linux_file64.c 1.62 sys/compat/linux/common/linux_ipc.c 1.57 sys/compat/linux/common/linux_misc.c 1.243 sys/compat/linux/common/linux_signal.c 1.81 sys/compat/linux/common/linux_socket.c 1.149 sys/compat/linux/common/linux_socket.h 1.24 sys/compat/linux/common/linux_statfs.h 1.7 sys/compat/linux/common/linux_termios.c 1.38 sys/compat/linux/common/linux_termios.h 1.22 sys/compat/linux32/common/linux32_dirent.c 1.20 sys/compat/linux32/common/linux32_ioctl.c 1.14 sys/compat/linux32/common/linux32_misc.c 1.27 sys/compat/linux32/common/linux32_signal.c 1.20 sys/compat/linux32/common/linux32_sysinfo.c 1.8 sys/compat/linux32/common/linux32_termios.c 1.15 sys/compat/linux32/common/linux32_utsname.c 1.10 sys/compat/netbsd32/netbsd32_compat_20.c 1.39 sys/compat/netbsd32/netbsd32_compat_43.c 1.59 sys/compat/netbsd32/netbsd32_compat_50.c 1.44 sys/compat/ossaudio/ossaudio.c 1.75 sys/kern/sysv_shm.c 1.138 sys/miscfs/procfs/procfs_linux.c 1.75 (patch) sys/sys/shm.h 1.54
Fix various info leaks, out of bound access, usage of uninitialized values and direct access to userland variables from kernel space and memory leaks in system calls implemented for the compatibility subsystems.
|
1.34.44.1 |
| 21-Jan-2020 |
martin | Pull up the following, requested by christos in ticket #1720:
sys/compat/common/kern_sig_43.c 1.36 sys/compat/linux/arch/amd64/linux_machdep.c 1.59 sys/compat/linux/common/linux_fcntl.h 1.18 sys/compat/linux/common/linux_file64.c 1.62 sys/compat/linux/common/linux_ipc.c 1.57 sys/compat/linux/common/linux_misc.c 1.243 sys/compat/linux/common/linux_signal.c 1.81 sys/compat/linux/common/linux_socket.c 1.149 (patch) sys/compat/linux/common/linux_socket.h 1.24 sys/compat/linux/common/linux_statfs.h 1.7 sys/compat/linux/common/linux_termios.c 1.38 sys/compat/linux/common/linux_termios.h 1.22 sys/compat/linux32/common/linux32_dirent.c 1.20 sys/compat/linux32/common/linux32_ioctl.c 1.14 sys/compat/linux32/common/linux32_misc.c 1.27 sys/compat/linux32/common/linux32_signal.c 1.20 sys/compat/linux32/common/linux32_sysinfo.c 1.8 sys/compat/linux32/common/linux32_termios.c 1.15 sys/compat/linux32/common/linux32_utsname.c 1.10 sys/compat/netbsd32/netbsd32_compat_20.c 1.39 sys/compat/netbsd32/netbsd32_compat_43.c 1.59 sys/compat/netbsd32/netbsd32_compat_50.c 1.44 sys/compat/ossaudio/ossaudio.c 1.75 sys/kern/sysv_shm.c 1.138 sys/miscfs/procfs/procfs_linux.c 1.75 (patch) sys/sys/shm.h 1.54 (patch)
Fix various info leaks, out of bound access, usage of uninitialized values and direct access to userland variables from kernel space and memory leaks in system calls implemented for the compatibility subsystems.
|
1.34.32.1 |
| 21-Jan-2020 |
martin | Pull up the following, requested by christos in ticket #1720:
sys/compat/common/kern_sig_43.c 1.36 sys/compat/linux/arch/amd64/linux_machdep.c 1.59 sys/compat/linux/common/linux_fcntl.h 1.18 sys/compat/linux/common/linux_file64.c 1.62 sys/compat/linux/common/linux_ipc.c 1.57 sys/compat/linux/common/linux_misc.c 1.243 sys/compat/linux/common/linux_signal.c 1.81 sys/compat/linux/common/linux_socket.c 1.149 (patch) sys/compat/linux/common/linux_socket.h 1.24 sys/compat/linux/common/linux_statfs.h 1.7 sys/compat/linux/common/linux_termios.c 1.38 sys/compat/linux/common/linux_termios.h 1.22 sys/compat/linux32/common/linux32_dirent.c 1.20 sys/compat/linux32/common/linux32_ioctl.c 1.14 sys/compat/linux32/common/linux32_misc.c 1.27 sys/compat/linux32/common/linux32_signal.c 1.20 sys/compat/linux32/common/linux32_sysinfo.c 1.8 sys/compat/linux32/common/linux32_termios.c 1.15 sys/compat/linux32/common/linux32_utsname.c 1.10 sys/compat/netbsd32/netbsd32_compat_20.c 1.39 sys/compat/netbsd32/netbsd32_compat_43.c 1.59 sys/compat/netbsd32/netbsd32_compat_50.c 1.44 sys/compat/ossaudio/ossaudio.c 1.75 sys/kern/sysv_shm.c 1.138 sys/miscfs/procfs/procfs_linux.c 1.75 (patch) sys/sys/shm.h 1.54 (patch)
Fix various info leaks, out of bound access, usage of uninitialized values and direct access to userland variables from kernel space and memory leaks in system calls implemented for the compatibility subsystems.
|
1.35.4.2 |
| 03-Aug-2022 |
martin | Pull up following revision(s), all via patch (requested by riastradh in ticket #1487):
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168 sys/compat/sunos/sunos_misc.c: revision 1.177 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52 sys/compat/common/kern_resource_43.c: revision 1.23 sys/compat/netbsd32/netbsd32_conv.h: revision 1.46 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35 sys/compat/common/vfs_syscalls_12.c: revision 1.38 sys/compat/ultrix/ultrix_misc.c: revision 1.126 sys/compat/common/kern_sig_43.c: revision 1.37 sys/compat/linux/common/linux_mtio.c: revision 1.8 sys/compat/freebsd/freebsd_misc.c: revision 1.34 sys/compat/freebsd/freebsd_machdep.c: revision 1.5 sys/compat/linux/common/linux_olduname.c: revision 1.67 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44 sys/compat/freebsd/freebsd_sched.c: revision 1.23 sys/compat/ossaudio/ossaudio.c: revision 1.84 sys/compat/sys/time_types.h: revision 1.6 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51 sys/compat/common/ieee80211_20.c: revision 1.7 sys/compat/linux/common/linux_file.c: revision 1.119 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34 sys/compat/netbsd32/netbsd32_wait.c: revision 1.25 sys/compat/linux32/common/linux32_time.c: revision 1.38 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52 sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46 sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36 sys/compat/ultrix/ultrix_ioctl.c: revision 1.39 sys/compat/linux/common/linux_misc.c: revision 1.252 sys/compat/linux/common/linux_hdio.c: revision 1.19 sys/compat/sunos/sunos_ioctl.c: revision 1.71 sys/compat/linux/common/linux_sched.c: revision 1.79 sys/compat/common/kern_info_43.c: revision 1.40 sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20 sys/compat/linux/common/linux_socket.c: revision 1.153 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60 sys/compat/common/vfs_syscalls_43.c: revision 1.68 sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25 sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9 sys/compat/common/kern_time_50.c: revision 1.37 sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42 sys/compat/linux/common/linux_cdrom.c: revision 1.28 sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43 sys/compat/common/kern_info_09.c: revision 1.22 sys/compat/linux32/common/linux32_resource.c: revision 1.12 sys/compat/linux/common/linux_oldolduname.c: revision 1.67 sys/compat/common/if_media_80.c: revision 1.4 sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5 sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8 sys/compat/linux32/common/linux32_signal.c: revision 1.21 sys/compat/common/kern_sig_13.c: revision 1.22 sys/compat/sunos32/sunos32_ioctl.c: revision 1.36 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23 sys/compat/netbsd32/netbsd32_time.c: revision 1.56 sys/compat/linux/common/linux_signal.c: revision 1.84 sys/compat/netbsd32/netbsd32_signal.c: revision 1.52 sys/compat/sunos32/sunos32_misc.c: revision 1.85 sys/compat/linux/common/linux_time.c: revision 1.40 sys/compat/linux/common/linux_fdio.c: revision 1.14 sys/compat/common/vfs_syscalls_30.c: revision 1.43
sys/compat: Memset zero before copyout.
Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
|
1.35.4.1 |
| 02-Jan-2020 |
martin | Pull up following revision(s) (requested by maxv in ticket #597):
sys/compat/common/kern_sig_43.c: revision 1.36 sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.39 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.59 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.44
Fix sizeof mismatch in copyin. This leads to a user-triggerable stack overflow. On my test build at least, by luck, the compiler orders the variables in a way that the overflow hits only local structures which haven't yet been initialized and used, so the overflow is harmless.
Very easily seeable with kASan - just invoke the syscall from a 32bit binary.
Fix three stack info leaks, found by kMSan when just invoking all syscalls with a zero page as argument.
MSan: Uninitialized Stack Memory In copyout() At Offset 0, Variable 'sb32' From compat_20_netbsd32_getfsstat() MSan: Uninitialized Stack Memory In copyout() At Offset 12, Variable 'oss' From compat_43_sys_sigstack() MSan: Uninitialized Stack Memory In copyout() At Offset 0, Variable 'sb' From compat_50_netbsd32___fhstat40()
|