History log of /src/sys/compat/linux/common/linux_signal.c |
Revision | | Date | Author | Comments |
1.90 |
| 01-Oct-2024 |
riastradh | sys/compat/linux/common: Nix trailing whitespace, and one blank line.
No functional change intended.
|
1.89 |
| 18-Aug-2023 |
christos | branches: 1.89.6; Add linux waitid(2) from GSoC 2023 (Theodore Preduta)
|
1.88 |
| 01-Nov-2021 |
thorpej | Use "stack_t" instead of "struct sigaltstack", as the former is the newer standardized name. NFC.
|
1.87 |
| 27-Oct-2021 |
thorpej | Use __SIGTRAMP_SIGCODE_VERSION rather than hard-coding 0.
|
1.86 |
| 23-Sep-2021 |
ryo | add support COMPAT_LINUX for aarch64
|
1.85 |
| 19-Sep-2021 |
thorpej | - LINUX_SIGEV_PAD is incorrect for 64-bit systems, because sigval_t contains a pointer. Correct this. - Add routines to convert from Linux to native sigevent_t.
|
1.84 |
| 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.83 |
| 23-May-2020 |
ad | branches: 1.83.2; Move proc_lock into the data segment. It was dynamically allocated because at the time we had mutex_obj_alloc() but not __cacheline_aligned.
|
1.82 |
| 29-Apr-2020 |
thorpej | Fix proc lookup by distinguishing between the "tgid" and "tid" cases.
|
1.81 |
| 23-Aug-2019 |
maxv | Fix info leaks in sigaltstack.
|
1.80 |
| 07-Jan-2018 |
christos | branches: 1.80.4; 1.80.8; Ignore signal 64 for now (go uses it) XXX: pullup-8
|
1.79 |
| 20-Feb-2017 |
rin | branches: 1.79.6; KNF; no binary changes
|
1.78 |
| 20-Feb-2017 |
rin | CID 980928: fix NULL pointer dereferece
|
1.77 |
| 14-Nov-2015 |
christos | branches: 1.77.2; 1.77.4; PR/50428: Rin Okuyama: support SA_RESTORER flag for rt_sigaction(2) in the ports that support it.
|
1.76 |
| 09-Nov-2014 |
maxv | branches: 1.76.2; Do not uselessly include <sys/malloc.h>.
|
1.75 |
| 18-Nov-2011 |
christos | branches: 1.75.10; 1.75.26; remove one more kassert
|
1.74 |
| 18-Nov-2011 |
christos | remove incorrect assertions (the len passed is the size of the bsd structure not the linux one)
|
1.73 |
| 18-Nov-2011 |
christos | - add sigtimedwait support. - merge the siginfo population code.
|
1.72 |
| 30-Jun-2011 |
wiz | branches: 1.72.2; dependant -> dependent
|
1.71 |
| 07-Jul-2010 |
chs | many changes for COMPAT_LINUX: - update the linux syscall table for each platform. - support new-style (NPTL) linux pthreads on all platforms. clone() with CLONE_THREAD uses 1 process with many LWPs instead of separate processes. - move the contents of sys__lwp_setprivate() into a new lwp_setprivate() and use that everywhere. - update linux_release[] and linux32_release[] to "2.6.18". - adjust placement of emul fork/exec/exit hooks as needed and adjust other emul code to match. - convert all struct emul definitions to use named initializers. - change the pid allocator to allow multiple pids to refer to the same proc. - remove a few fields from struct proc that are no longer needed. - disable the non-functional "vdso" code in linux32/amd64, glibc works fine without it. - fix a race in the futex code where we could miss a wakeup after a requeue operation. - redo futex locking to be a little more efficient.
|
1.70 |
| 01-Jul-2010 |
rmind | Remove pfind() and pgfind(), fix locking in various broken uses of these. Rename real routines to proc_find() and pgrp_find(), remove PFIND_* flags and have consistent behaviour. Provide proc_find_raw() for special cases. Fix memory leak in sysctl_proc_corename().
COMPAT_LINUX: rework ptrace() locking, minimise differences between different versions per-arch.
Note: while this change adds some formal cosmetics for COMPAT_DARWIN and COMPAT_IRIX - locking there is utterly broken (for ages).
Fixes PR/43176.
|
1.69 |
| 08-Jun-2009 |
njoly | branches: 1.69.2; 1.69.4; Small rt_queueinfo(2) update, to require a linux_siginfo structure. While here, cleanup ifdef out argument types.
|
1.68 |
| 29-May-2009 |
njoly | Add native to linux siginfo si_status translation, used on i386 and amd64.
|
1.67 |
| 18-Feb-2009 |
njoly | Do not protect native_to_linux_si_code() under LINUX_NPTL anymore, now that linux si_code definitions are MI.
|
1.66 |
| 21-Oct-2008 |
njoly | branches: 1.66.2; 1.66.8; Do not use native_to_linux_si_code() outside LINUX_NPTL; until i figure a better way to handle it.
|
1.65 |
| 21-Oct-2008 |
njoly | tkill/tgkill syscalls cleanup.
- Make both syscalls set si_code to SI_LWP (which will be converted to Linux SI_TKILL value). Fix thread some cancellation under NPTL emulation. - Merge code in a new linux_do_tkill() function that will do its own job, instead of calling linux_sys_kill(). - Do only alter single tasks, by rejecting non positive tid/tgid values.
|
1.64 |
| 19-Oct-2008 |
njoly | Add native to linux siginfo si_code translation, mostly for negative values. Adjust amd64 and i386 accordingly, not sure about aother archs i can't test.
|
1.63 |
| 30-Jul-2008 |
njoly | Fix linux_sigismember/linux_sigaddset to work on amd64 (and other 64bits archs), by ensuring that bit shifts are done on correct type.
|
1.62 |
| 28-Apr-2008 |
martin | branches: 1.62.2; 1.62.4; 1.62.6; Remove clause 3 and 4 from TNF licenses
|
1.61 |
| 24-Apr-2008 |
ad | branches: 1.61.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.60 |
| 24-Apr-2008 |
ad | Network protocol interrupts can now block on locks, so merge the globals proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock). Implications:
- Inspecting process state requires thread context, so signals can no longer be sent from a hardware interrupt handler. Signal activity must be deferred to a soft interrupt or kthread.
- As the proc state locking is simplified, it's now safe to take exit() and wait() out from under kernel_lock.
- The system spends less time at IPL_SCHED, and there is less lock activity.
|
1.59 |
| 23-Apr-2008 |
ad | Tweak locking.
|
1.58 |
| 20-Dec-2007 |
dsl | branches: 1.58.6; 1.58.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.57 |
| 08-Dec-2007 |
dsl | branches: 1.57.4; ANSIfy most of the function definitions in sys/compat (but not ndis). All by the magic of sed ...
|
1.56 |
| 04-Dec-2007 |
dsl | Remove all the __P
|
1.55 |
| 19-Oct-2007 |
njoly | branches: 1.55.2; 1.55.4; Add compat_linux and exec_linux_elf lkm support for amd64: - Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
|
1.54 |
| 04-Mar-2007 |
christos | branches: 1.54.14; 1.54.16; 1.54.20; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.53 |
| 09-Feb-2007 |
ad | branches: 1.53.2; Merge newlock2 to head.
|
1.52 |
| 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.51 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.50 |
| 13-Sep-2006 |
christos | branches: 1.50.2; avoid empty if body.
|
1.49 |
| 23-Nov-2005 |
manu | branches: 1.49.8; 1.49.20; - Add Linux tkill and tgkill (partial emulation). - Fix getrlimit on amd64
|
1.48 |
| 19-Sep-2005 |
christos | branches: 1.48.6; MINSIGSTKSZ on linux is different depending on the platform and usually smaller than ours.
|
1.47 |
| 20-May-2005 |
mrg | branches: 1.47.2; tramp and vers are used unconditionally, make them visible everywhere.
|
1.46 |
| 19-May-2005 |
manu | Add support for Linux SA_RESTORER on amd64.
|
1.45 |
| 16-May-2005 |
fvdl | Include linux_sigevent.h (to be used later).
|
1.44 |
| 09-May-2005 |
jmc | #endif for LINUX_SS_ONSTACK needs to go after linux_sys_sigaltstack or builds break on platforms that don't define it (alpha, sparc)
|
1.43 |
| 03-May-2005 |
manu | First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
|
1.42 |
| 26-Feb-2005 |
perry | nuke trailing whitespace
|
1.41 |
| 03-Jul-2003 |
christos | branches: 1.41.8; 1.41.10; make the converter of sigaltstack public.
|
1.40 |
| 18-Jan-2003 |
thorpej | branches: 1.40.2; Merge the nathanw_sa branch.
|
1.39 |
| 26-Nov-2002 |
christos | rename: s/sa_/<compat>sa/g
|
1.38 |
| 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.37 |
| 31-Mar-2002 |
christos | branches: 1.37.2; make signal array handling uniform, and put signal arrays in a separate file. This is simular to errno array handling.
|
1.36 |
| 22-Mar-2002 |
christos | gc debugging printfs.
|
1.35 |
| 19-Mar-2002 |
christos | - Now that RT-signals fit, fix the array to deliver them. [i386 only]. - jdk-1.4 works perfectly now. :-)
|
1.34 |
| 18-Feb-2002 |
christos | Resolve alpha compile issues: - bug with order in args in mask conversion md code. - flags can be both int and long on the alpha. kludge around that, by not passing pointers to the conversion function. - something is wrong with the toolchain look at the void * cast in copyout(). - sa_restorer is in a different place on the aplha. Deal with that, by not initializing it as before. XXX: this should be changed in the MD signal definition.
|
1.33 |
| 15-Feb-2002 |
christos | - add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps.
christos
|
1.32 |
| 13-Nov-2001 |
lukem | add RCSIDs (including regeneration of files as appropriate)
|
1.31 |
| 18-Jan-2001 |
jdolecek | branches: 1.31.2; 1.31.4; constify
|
1.30 |
| 23-Aug-2000 |
christos | add support for sigaltstack(2) needed for jvm-1.3 support. XXX: Only on i386, don't have access to other linuxes...
|
1.29 |
| 09-Aug-2000 |
tv | Pretend to do something useful (just fill in oldsigaction with SIG_IGN and zeroes) if the mapped signal number comes up zero. Previously, sigaction1() would return an error, confusing some linux apps trying to set handlers for "all" signals.
|
1.28 |
| 28-Jul-2000 |
tron | Adoid excessive use of "return" in "excessive()".
|
1.27 |
| 28-Jul-2000 |
tron | Use "NULL" and not "0" for null pointers.
|
1.26 |
| 30-Mar-2000 |
augustss | branches: 1.26.4; Kill register declarations.
|
1.25 |
| 04-Dec-1999 |
tron | Add bound checks in emulation of kill(2). This fixes the last part of PR kern/8904 by Dave Sainty.
|
1.24 |
| 04-Oct-1999 |
fvdl | branches: 1.24.2; 1.24.8; Handle the newer, larger sigset_t Linux now uses.
|
1.23 |
| 30-Sep-1999 |
tron | NetBSD's signal number 11 is SIGSYS nog SIGSEGV.
|
1.22 |
| 08-Sep-1999 |
jdolecek | Use DEBUG_LINUX exclusively. Fixes PR#7684.
|
1.21 |
| 19-Dec-1998 |
drochner | get "opt_compat_xxx.h" includes out of <sys/signal.h>
|
1.20 |
| 15-Dec-1998 |
itohy | Added linux compat support on m68k ports.
|
1.19 |
| 07-Oct-1998 |
erh | Fix typos.
|
1.18 |
| 07-Oct-1998 |
erh | Fix types. Kill old declarations.
|
1.17 |
| 07-Oct-1998 |
erh | sigprocmask (non-rt) version doesn't exist on alpha. rename it to sigprocmask1 for use in linux_sys_sigprocmask and linux_sys_rt_sigprocmask.
|
1.16 |
| 04-Oct-1998 |
fvdl | Assign my copyright to TNF. Merge with others were appropriate. Regen syscall files after script change.
|
1.15 |
| 03-Oct-1998 |
christos | Attempt to fix the mess.
|
1.14 |
| 01-Oct-1998 |
erh | Split compat/linux/linux_signal.c into i386, common and multi-architecture parts.
|
1.13 |
| 29-Sep-1998 |
tv | Bracket stray printf()s by #ifdef DEBUG.
|
1.12 |
| 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.11 |
| 09-Aug-1998 |
perry | bzero->memset, bcopy->memcpy, bcmp->memcmp
|
1.10 |
| 04-Apr-1996 |
christos | - Add missing prototypes - Fix bugs with reversed arguments that prototyping discovered
|
1.9 |
| 07-Oct-1995 |
mycroft | Prefix names of system call implementation functions with `sys_'.
|
1.8 |
| 19-Sep-1995 |
thorpej | Make system calls conform to a standard prototype and bring those prototypes into scope.
|
1.7 |
| 14-Aug-1995 |
mycroft | Move signal types into signal.h.
|
1.6 |
| 13-Aug-1995 |
mycroft | Convert SA_NOMASK and SA_ONESHOT. Clean up this code a bit.
|
1.5 |
| 24-Jun-1995 |
christos | Use compat_util.[ch].
|
1.4 |
| 22-Jun-1995 |
fvdl | * Changed to use generic ELF code from kern/exec_elf.c (which was taken from the svr4 exec code plus the linux compat mods) * Include file change * Add multicast sockopts (from John Brezak)
|
1.3 |
| 10-Mar-1995 |
fvdl | Add the Linux pause() system call. Fix the arguments to sigsuspend().
|
1.2 |
| 08-Mar-1995 |
fvdl | Fix typo in comment.
|
1.1 |
| 28-Feb-1995 |
fvdl | Added Linux compat code.
|
1.24.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.24.2.2 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.24.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.26.4.1 |
| 30-Mar-2001 |
he | Pull up revision 1.29 (via patch, requested by fvdl): Add some required Linux emulation bits to support the Linux version of VMware.
|
1.31.4.4 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.31.4.3 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.31.4.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.31.4.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.31.2.9 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.31.2.8 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.31.2.7 |
| 12-Jul-2002 |
nathanw | No longer need to pull in lwp.h; proc.h pulls it in for us.
|
1.31.2.6 |
| 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.31.2.5 |
| 17-Apr-2002 |
nathanw | Catch up to -current.
|
1.31.2.4 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.31.2.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.31.2.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.31.2.1 |
| 05-Mar-2001 |
nathanw | Initial commit of scheduler activations and lightweight process support.
|
1.37.2.1 |
| 15-Jul-2002 |
gehenna | catch up with -current.
|
1.40.2.6 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.40.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.40.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.40.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.40.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.40.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.41.10.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.41.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.47.2.7 |
| 21-Jan-2008 |
yamt | sync with head
|
1.47.2.6 |
| 07-Dec-2007 |
yamt | sync with head
|
1.47.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.47.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.47.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.47.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.47.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.48.6.1 |
| 29-Nov-2005 |
yamt | sync with head.
|
1.49.20.4 |
| 30-Jan-2007 |
ad | Remove support for SA. Ok core@.
|
1.49.20.3 |
| 19-Jan-2007 |
ad | Fix Linux compatability for i386, others to follow later.
|
1.49.20.2 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.49.20.1 |
| 24-Oct-2006 |
ad | - Redo LWP locking slightly and fix some races. - Fix some locking botches. - Make signal mask / stack per-proc for SA processes. - Add _lwp_kill().
|
1.49.8.1 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.50.2.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.50.2.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.53.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.54.20.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.54.16.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.54.16.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.54.14.2 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.54.14.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.55.4.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.55.4.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.55.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.55.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.57.4.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.58.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.58.6.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.58.6.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.58.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.61.2.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.61.2.3 |
| 20-Jun-2009 |
yamt | sync with head
|
1.61.2.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.61.2.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.62.6.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.62.6.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.62.4.1 |
| 31-Jul-2008 |
simonb | Sync with head.
|
1.62.2.4 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.62.2.3 |
| 14-May-2008 |
wrstuden | Per discussion with ad at n dot o, revert signal mask handling changes.
The l_sigstk changes are most likely totally un-needed as SA will never use a signal stack - we send an upcall (or will as other diffs are brought in).
The l_sigmask changes were too controvertial. In all honesty, I think it's probably best to revert them. The main reason they were there is the fact that in an SA process, we don't mask signals per kernel thread, we mask them per user thread. In the kernel, we want them all to get turned into upcalls. Thus the normal state of l_sigmask in an SA process is for it to always be empty.
While we are in the process of delivering a signal, we want to temporarily mask a signal (so we don't recursively exhaust our upcall stacks). However signal delivery is rare (important, but rare), and delivering back-to-back signals is even rarer. So rather than cause every user of a signal mask to be prepared for this very rare case, we will just add a second check later in the signal delivery code. Said change is not in this diff.
This also un-compensates all of our compatability code for dealing with SA. SA is a NetBSD-specific thing, so there's no need for Irix, Linux, Solaris, SVR4 and so on to cope with it.
As previously, everything other than kern_sa.c compiles in i386 GENERIC as of this checkin. I will switch to ALL soon for compile testing.
|
1.62.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.62.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.66.8.2 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.66.8.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.66.2.1 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.69.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.69.4.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.69.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.72.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.75.26.2 |
| 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.75.26.1 |
| 17-Jan-2015 |
martin | branches: 1.75.26.1.6; Pull up following revision(s) (requested by maxv in ticket #427): sys/compat/svr4/svr4_schedctl.c: revision 1.8 sys/netinet/tcp_timer.c: revision 1.88 sys/miscfs/genfs/layer_vfsops.c: revision 1.45 sys/compat/svr4/svr4_ioctl.c: revision 1.37 sys/ufs/chfs/chfs_vfsops.c: revision 1.14 sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30 sys/compat/common/kern_time_50.c: revision 1.28 sys/netinet6/ip6_forward.c: revision 1.74 sys/miscfs/umapfs/umap_vnops.c: revision 1.57 sys/compat/svr4/svr4_fcntl.c: revision 1.74 distrib/sets/lists/comp/mi: revision 1.1931 sys/netinet6/udp6_output.c: revision 1.46 sys/fs/puffs/puffs_compat.c: revision 1.3 sys/fs/udf/udf_rename.c: revision 1.11 sys/compat/svr4/svr4_filio.c: revision 1.24 sys/fs/udf/udf_rename.c: revision 1.12 sys/netinet/tcp_usrreq.c: revision 1.202 sys/miscfs/umapfs/umap_subr.c: revision 1.29 sys/compat/linux/common/linux_fadvise64.c: revision 1.3 sys/netinet/if_atm.c: revision 1.34 sys/miscfs/procfs/procfs_subr.c: revision 1.106 sys/miscfs/genfs/layer_subr.c: revision 1.37 sys/netinet/tcp_sack.c: revision 1.30 sys/compat/freebsd/freebsd_misc.c: revision 1.33 sys/compat/freebsd/freebsd_file.c: revision 1.33 sys/ufs/chfs/chfs_vnode.c: revision 1.12 sys/compat/svr4/svr4_ttold.c: revision 1.34 sys/compat/linux/common/linux_file.c: revision 1.114 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43 sys/compat/linux/common/linux_signal.c: revision 1.76 sys/compat/common/compat_util.c: revision 1.46 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18 sys/compat/svr4/svr4_sockio.c: revision 1.36 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32 sys/compat/svr4/svr4_signal.c: revision 1.66 sys/kern/kern_exec.c: revision 1.410 sys/fs/puffs/puffs_vfsops.c: revision 1.115 sys/compat/svr4/svr4_exec_elf64.c: revision 1.15 sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50 sys/compat/linux32/common/linux32_misc.c: revision 1.24 sys/netinet/in_pcb.c: revision 1.153 sys/sys/malloc.h: revision 1.116 sys/compat/common/if_43.c: revision 1.9 share/man/man9/Makefile: revision 1.380 sys/netinet/tcp_vtw.c: revision 1.12 sys/miscfs/umapfs/umap_vfsops.c: revision 1.95 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186 sys/compat/common/uipc_syscalls_43.c: revision 1.46 sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115 sys/fs/puffs/puffs_msgif.c: revision 1.97 sys/compat/svr4/svr4_ipc.c: revision 1.27 sys/compat/linux/common/linux_exec.c: revision 1.117 sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66 sys/netinet/tcp_output.c: revision 1.179 sys/compat/svr4/svr4_termios.c: revision 1.28 sys/fs/udf/udf_strat_bootstrap.c: revision 1.4 sys/fs/puffs/puffs_subr.c: revision 1.67 sys/fs/puffs/puffs_node.c: revision 1.36 sys/miscfs/overlay/overlay_vnops.c: revision 1.21 sys/fs/cd9660/cd9660_node.c: revision 1.34 sys/netinet/raw_ip.c: revision 1.146 sys/sys/mallocvar.h: revision 1.13 sys/miscfs/overlay/overlay_vfsops.c: revision 1.63 share/man/man9/malloc.9: revision 1.50 sys/netinet6/dest6.c: revision 1.18 sys/compat/linux/common/linux_uselib.c: revision 1.33 sys/compat/linux/common/linux_socket.c: revision 1.120 share/man/man9/malloc.9: revision 1.51 sys/netinet/tcp_subr.c: revision 1.257 sys/compat/linux/common/linux_socketcall.c: revision 1.45 sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3 sys/compat/freebsd/freebsd_ipc.c: revision 1.17 sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109 sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17 sys/netinet6/in6_pcb.c: revision 1.132 sys/netinet6/in6_ifattach.c: revision 1.94 sys/compat/svr4/svr4_exec_elf32.c: revision 1.15 sys/miscfs/nullfs/null_vfsops.c: revision 1.90 sys/fs/cd9660/cd9660_util.c: revision 1.12 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48 sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20 sys/miscfs/procfs/procfs_vfsops.c: revision 1.94 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28 sys/compat/linux/common/linux_sched.c: revision 1.67 sys/compat/linux/common/linux_exec_aout.c: revision 1.67 sys/compat/linux/common/linux_pipe.c: revision 1.67 sys/compat/linux/common/linux_llseek.c: revision 1.34 sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10 Do not uselessly include <sys/malloc.h>. Cleanup: - remove struct kmembuckets (dead) - correctly deadify MALLOC_XX - remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead) - remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT() and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc New sentence, new line. Bump date for previous. Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9) man pages.
|
1.75.26.1.6.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.75.10.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.76.2.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.76.2.1 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.77.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.77.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.79.6.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.79.6.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.80.8.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.80.8.1 |
| 13-Sep-2019 |
martin | Pull up following revision(s) (requested by maxv in ticket #194):
sys/compat/linux/common/linux_socket.c: revision 1.146 sys/compat/linux/common/linux_socket.c: revision 1.147 sys/compat/linux/common/linux_socket.c: revision 1.148 sys/compat/linux/common/linux_socket.c: revision 1.149 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.59 sys/compat/linux32/common/linux32_sysinfo.c: revision 1.8 sys/kern/sysv_shm.c: revision 1.138 sys/compat/linux/common/linux_file64.c: revision 1.61 sys/compat/linux/common/linux_file64.c: revision 1.62 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.58 sys/compat/linux32/common/linux32_dirent.c: revision 1.20 sys/compat/linux32/common/linux32_utsname.c: revision 1.10 sys/compat/linux/common/linux_termios.h: revision 1.22 sys/compat/linux32/common/linux32_termios.c: revision 1.15 sys/compat/linux32/common/linux32_misc.c: revision 1.27 sys/compat/linux32/common/linux32_ioctl.c: revision 1.14 sys/compat/linux/common/linux_statfs.h: revision 1.7 sys/compat/linux/common/linux_ipc.c: revision 1.57 sys/compat/linux/common/linux_fcntl.h: revision 1.18 sys/compat/linux/common/linux_socket.h: revision 1.24 sys/sys/shm.h: revision 1.54 sys/compat/ossaudio/ossaudio.c: revision 1.75 sys/compat/linux32/common/linux32_signal.c: revision 1.20 sys/miscfs/procfs/procfs_linux.c: revision 1.75 sys/compat/linux/common/linux_signal.c: revision 1.81 sys/compat/linux/common/linux_termios.c: revision 1.38 sys/compat/linux/common/linux_misc.c: revision 1.241 sys/compat/linux/common/linux_misc.c: revision 1.242 sys/compat/linux/common/linux_misc.c: revision 1.243 sys/compat/linux/common/linux_misc.c: revision 1.244
Fix info leaks.
Fix stupid bugs in linux_sys_shmctl(): the index could be out of bound (page fault) and there was no proper locking. Maybe we should just remove LINUX_SHM_STAT, like compat_linux32.
Remove printf.
When dealing with an unknown value, set -1, to prevent (harmless) uninitialized accesses later.
Add a default case, don't call sys_ioctl() with an uninitialized 'com' argument.
Fix error handling, returns an errno, not -1.
Put the printf under DEBUG_LINUX.
Hum, don't forget the 'pid' argument, otherwise we're not gonna go very far.
Don't read data from userland directly. This simply does not work on any recent x86 CPU (thanks to SMAP) and all architectures that forbid direct access to userland from the kernel. But I guess no one noticed because no one ever uses compat_linux, right?
Hum, don't pass an mbuf to realloc(). Inspired from copyin32_msg_control().
Fix memory leak.
I don't see the point in having this useless printf, but add a '\n' to it, so that it at least displays useless stuff correctly.
Hum, remove incorrect assignment. Userland could have passed a smaller namelen, and the uninitialized bytes from sb_data were being used later in the network stack.
|
1.80.4.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.83.2.1 |
| 15-Dec-2020 |
thorpej | Add Linux eventfd, timerfd, and POSIX timer calls.
|
1.89.6.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|