OpenBSD CVS

CVS log for src/sys/sys/exec.h


[BACK] Up to [local] / src / sys / sys

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.54 / (download) - annotate - [select for diffs], Tue Apr 2 08:39:16 2024 UTC (2 months, 1 week ago) by deraadt
Branch: MAIN
CVS Tags: HEAD
Changes since 1.53: +1 -2 lines
Diff to previous 1.53 (colored)

Delete the msyscall mechanism entirely, since mimmutable+pinsyscalls has
replaced it with a more strict mechanism, which happens to be lockless O(1)
rather than micro-lock O(1)+O(log N).  Also nop-out the sys_msyscall(2) guts,
but leave the syscall around for a bit longer so that people can build through
it, since ld.so(1) still wants to call it.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Jan 16 19:05:00 2024 UTC (4 months, 3 weeks ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5
Changes since 1.52: +4 -1 lines
Diff to previous 1.52 (colored)

The kernel will now read pinsyscall tables out of PT_OPENBSD_SYSCALLS in
the main program or ld.so, and accept a submission of that information
for libc.so from ld.so via pinsyscalls(2).  At system call invocation,
the syscall number is matched to the specific address it must come from.
ok kettenis, gnezdo, testing of variations by many people

Revision 1.52 / (download) - annotate - [select for diffs], Wed Apr 19 15:37:36 2023 UTC (13 months, 3 weeks ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.51: +2 -1 lines
Diff to previous 1.51 (colored)

Add a new PT_OPENBSD_NOBTCFI "segment type" to indicate that the kernel
should not enforce branch target control flow integrety for a binary.
This works analoguous to PT_OPENBSD_WXNEEDED in that we will set it on
binaries that don't have the necessary landing pads (yet).  The kernel
will enforce branch target CFI by default in the near future!

This is a better match for what we want to achieve than the GNU property
note mechanism that the Linux folks came up with.  We can still use the
GNU property notes for diagnostic purposes so we won't disable their
generation in the toolchain.  But ports will need to pass an explicit
-Wl,-z,nobtcfi option to disable branch target CFI.

Like with PT_OPENBSD_WXNEEDED we convert the presence of PT_OPENBSD_NOBTCFI
into a flag in struct exec_package.  From there MD code can pick it up
and set a struct process flag or take action in setregs().

ok deraadt@

Revision 1.51 / (download) - annotate - [select for diffs], Sun Oct 30 17:43:40 2022 UTC (19 months, 1 week ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.50: +3 -2 lines
Diff to previous 1.50 (colored)

Simplfity setregs() by passing it the ps_strings and switching
sys_execve() to return EJUSTRETURN.

setregs() is the MD routine used by sys_execve() to set up the
thread's trapframe and PCB such that, on 'return' to userspace, it
has the register values defined by the ABI and otherwise zero.  It
had to set the syscall retval[] values previously because the normal
syscall return path overwrites a couple registers with the retval[]
values.  By instead returning EJUSTRETURN that and some complexity
with program-counter handling on m88k and sparc64 goes away.

Also, give setregs() add a 'struct ps_strings *arginfo' argument
so powerpc, powerpc64, and sh can directly get argc/argv/envp
values for registers instead of copyin()ing the one in userspace.

Improvements from miod@ and millert@
Testing assistance miod@, kettenis@, and aoyama@
ok miod@ kettenis@

Revision 1.50 / (download) - annotate - [select for diffs], Thu Oct 27 22:48:17 2022 UTC (19 months, 1 week ago) by deraadt
Branch: MAIN
Changes since 1.49: +2 -1 lines
Diff to previous 1.49 (colored)

Unfortunately there are still ugly text-relocation binaries in the wild.
Libraries are less of a concern, because ld.so can fix them in the right
order.  So we must scan DYNAMIC for the TEXTREL marker, and not make
X LOADs immutable.  ld.so will apply changes to the text segment.  In
upcoming diff, crt0 and ld.so will then apply immutability.
ok kettenis

Revision 1.49 / (download) - annotate - [select for diffs], Fri Oct 21 18:10:52 2022 UTC (19 months, 2 weeks ago) by deraadt
Branch: MAIN
Changes since 1.48: +4 -2 lines
Diff to previous 1.48 (colored)

automatically mark immutable certain regions in program&ld.so LOADs.
The large commented block in elf_load_psection explains the sitaution.
ok kettenis.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Sep 1 07:26:56 2022 UTC (21 months, 1 week ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.47: +1 -3 lines
Diff to previous 1.47 (colored)

remove exec_makecmds() and exec_runcmds() prototypes
removed from kern_exec.c between NetBSD 0.9 and NetBSD 1.0

Revision 1.47 / (download) - annotate - [select for diffs], Mon Feb 7 19:30:48 2022 UTC (2 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.46: +1 -7 lines
Diff to previous 1.46 (colored)

Delete STACKGAPLEN: this exec-time allocation at the top of the
original thread's stack hasn't been used since 2015.

ok miod@ deraadt@

Revision 1.46 / (download) - annotate - [select for diffs], Thu Dec 9 00:26:10 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.45: +2 -3 lines
Diff to previous 1.45 (colored)

We only have one syscall table: inline sysent/SYS_MAXSYSCALL and
SYS_syscall as the nosys() function into the MD syscall entry
routines and the SYSCALL_DEBUG support.  Adjust alpha's syscall
check to match the other archs.  Also, make sysent const to get it
into .rodata.

With that, 'struct emul' is unused: delete it and all its references

ok millert@

Revision 1.45 / (download) - annotate - [select for diffs], Mon Dec 6 21:21:10 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.44: +6 -9 lines
Diff to previous 1.44 (colored)

Start to delete emulation support: since we're Just ELF, make
copyargs() return 0/1 and merge elf_copyargs() into it.  Rename
ep_emul_arg and ep_emul_argp to have clearer meaning and type and
eliminate ep_emul_argsize as no longer necessary.  Make sure
ep_auxinfo (nee ep_emul_argp) is initialized as powerpc64 always
uses it in setregs().

ok semarie@ deraadt@ kettenis@

Revision 1.44 / (download) - annotate - [select for diffs], Fri Apr 23 15:53:07 2021 UTC (3 years, 1 month ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

Add MID_RISCV64 and EM_RISCV to enable riscv64
ok deraadt@

Revision 1.43 / (download) - annotate - [select for diffs], Sun Mar 21 11:29:38 2021 UTC (3 years, 2 months ago) by semarie
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

makes `struct execsw' to:

- use C99-style initialization (grep works better with that)
- use const as execsw is not modified during runtime

ok mpi@

Revision 1.42 / (download) - annotate - [select for diffs], Sun Jun 28 09:29:57 2020 UTC (3 years, 11 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.41: +2 -1 lines
Diff to previous 1.41 (colored)

Add MID_POWERPC64.  These identifiers are only used for kernel core dumps
these days, so inventing our own numbers is fine.

From drahn@

Revision 1.41 / (download) - annotate - [select for diffs], Sun May 10 00:56:06 2020 UTC (4 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.40: +10 -10 lines
Diff to previous 1.40 (colored)

Use a double-underscore prefix for local variables declared in macros
that have arguments.  Document this requirement/recommendation in style(9)

prompted by mpi@
ok deraadt@

Revision 1.40 / (download) - annotate - [select for diffs], Fri Nov 29 06:34:46 2019 UTC (4 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

Repurpose the "syscalls must be on a writeable page" mechanism to
enforce a new policy: system calls must be in pre-registered regions.
We have discussed more strict checks than this, but none satisfy the
cost/benefit based upon our understanding of attack methods, anyways
let's see what the next iteration looks like.

This is intended to harden (translation: attackers must put extra
effort into attacking) against a mixture of W^X failures and JIT bugs
which allow syscall misinterpretation, especially in environments with
polymorphic-instruction/variable-sized instructions.  It fits in a bit
with libc/libcrypto/ld.so random relink on boot and no-restart-at-crash
behaviour, particularily for remote problems. Less effective once on-host
since someone the libraries can be read.

For static-executables the kernel registers the main program's
PIE-mapped exec section valid, as well as the randomly-placed sigtramp
page.  For dynamic executables ELF ld.so's exec segment is also
labelled valid; ld.so then has enough information to register libc's
exec section as valid via call-once msyscall(2)

For dynamic binaries, we continue to to permit the main program exec
segment because "go" (and potentially a few other applications) have
embedded system calls in the main program.  Hopefully at least go gets
fixed soon.

We declare the concept of embedded syscalls a bad idea for numerous
reasons, as we notice the ecosystem has many of
static-syscall-in-base-binary which are dynamically linked against
libraries which in turn use libc, which contains another set of
syscall stubs.  We've been concerned about adding even one additional
syscall entry point... but go's approach tends to double the entry-point
attack surface.

This was started at a nano-hackathon in Bob Beck's basement 2 weeks
ago during a long discussion with mortimer trying to hide from the SSL
scream-conversations, and finished in more comfortable circumstances
next to a wood-stove at Elk Lakes cabin with UVM scream-conversations.

ok guenther kettenis mortimer, lots of feedback from others
conversations about go with jsing tb sthen

Revision 1.39 / (download) - annotate - [select for diffs], Thu Nov 28 04:34:50 2019 UTC (4 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.38: +1 -2 lines
Diff to previous 1.38 (colored)

struct execsw's es_emul is no longer used, so delete it

ok deraadt@

Revision 1.38 / (download) - annotate - [select for diffs], Fri Jun 1 03:27:59 2018 UTC (6 years ago) by mortimer
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

Bump ELF_RANDOMIZE_LIMIT to 1MB.
ok deraadt@

Revision 1.37 / (download) - annotate - [select for diffs], Thu Apr 12 17:13:44 2018 UTC (6 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.36: +2 -1 lines
Diff to previous 1.36 (colored)

Implement MAP_STACK option for mmap().  Synchronous faults (pagefault and
syscall) confirm the stack register points at MAP_STACK memory, otherwise
SIGSEGV is delivered. sigaltstack() and pthread_attr_setstack() are modified
to create a MAP_STACK sub-region which satisfies alignment requirements.
Observe that MAP_STACK can only be set/cleared by mmap(), which zeroes the
contents of the region -- there is no mprotect() equivalent operation, so
there is no MAP_STACK-adding gadget.
This opportunistic software-emulation of a stack protection bit makes
stack-pivot operations during ROPchain fragile (kind of like removing a
tool from the toolbox).
original discussion with tedu, uvm work by stefan, testing by mortimer
ok kettenis

Revision 1.36 / (download) - annotate - [select for diffs], Wed Feb 8 21:04:44 2017 UTC (7 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.35: +1 -2 lines
Diff to previous 1.35 (colored)

Remove support for forcing the ELF interpreter to a specific address,
last used by COMPAT_SYSV which was removed in 2011.

ok millert@

Revision 1.35 / (download) - annotate - [select for diffs], Thu Nov 24 23:57:24 2016 UTC (7 years, 6 months ago) by patrick
Branch: MAIN
Changes since 1.34: +2 -1 lines
Diff to previous 1.34 (colored)

Add MID for arm64.

ok deraadt@

Revision 1.34 / (download) - annotate - [select for diffs], Mon May 30 21:31:27 2016 UTC (8 years ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (colored)

Identify W^X labelled binaries at execve() time based upon WX_OPENBSD_WXNEEDED
flag set by ld -zwxneeded.  Such binaries are allowed to run only on wxallowed
mountpoints.  They do not report mmap/mprotect problems.

Rate limit mmap/mprotect reports from other binaries.

These semantics are chosen to encourage progress in the ports ecosystem,
without overwhelming the developers who work in the area.
ok sthen kettenis

Revision 1.33 / (download) - annotate - [select for diffs], Mon May 30 21:25:48 2016 UTC (8 years ago) by deraadt
Branch: MAIN
Changes since 1.32: +0 -1 lines
Diff to previous 1.32 (colored)

backout to insert correct commit message

Revision 1.32 / (download) - annotate - [select for diffs], Mon May 30 21:22:45 2016 UTC (8 years ago) by deraadt
Branch: MAIN
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (colored)

*** empty log message ***

Revision 1.31 / (download) - annotate - [select for diffs], Mon Sep 28 20:32:59 2015 UTC (8 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

Track size of an opaque allocation to pass to free() later
ok guenther tedu

Revision 1.30 / (download) - annotate - [select for diffs], Mon Feb 9 11:52:47 2015 UTC (9 years, 4 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.29: +7 -1 lines
Diff to previous 1.29 (colored)

Change the way stackgap_random is applied. Instead of applying it within the
fixed stack area of the exec'd image, and risking hitting process limits,
should we want to increase stackgap_random, the randomness is applied to the
stack region in the process' vmspace.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Feb 6 23:58:12 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.28: +4 -1 lines
Diff to previous 1.28 (colored)

Raise ELF_RANDOMIZE_LIMIT to 64K, so that programs and libraries can
legitimately use random section variables without execve failures...
Because this section is not demand faulted, yield() every page during
the fill otherwise the costs are charged poorly.
ok tedu matthew

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jan 26 22:51:37 2015 UTC (9 years, 4 months ago) by kettenis
Branch: MAIN
Changes since 1.27: +1 -21 lines
Diff to previous 1.27 (colored)

Move the "stackgap" from the stack into its own page at a random address.
This allows us the unmap the initial part of the stack, such that it can't
be used as a staging area for ROP (or other) attacks.

ok guenther@, tedu@

Revision 1.27 / (download) - annotate - [select for diffs], Thu Oct 17 08:02:20 2013 UTC (10 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.26: +154 -2 lines
Diff to previous 1.26 (colored)

Remove support for a.out and ecoff.  We only do elf now.
ok miod

Revision 1.26 / (download) - annotate - [select for diffs], Mon Aug 20 23:25:07 2012 UTC (11 years, 9 months ago) by matthew
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

Add support for .openbsd.randomdata sections and PT_OPENBSD_RANDOMIZE
segments to the kernel, ld (2.15), and ld.so.  Tested on alpha, amd64,
i386, macppc, and sparc64 (thanks naddy, mpi, and okan!).

Idea discussed for some time; committing now for further testing.
ok deraadt

Revision 1.25 / (download) - annotate - [select for diffs], Thu Jul 9 22:29:56 2009 UTC (14 years, 11 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 (colored)

Remove the VREF() macro and replaces all instances with a call to verf(),
which is exactly what the macro does.

Macro's that are nothing more then:
#define FUNCTION(arg) function(arg)
are almost always pointless and should go away.

OK blambert@
Agreed by many.

Revision 1.24 / (download) - annotate - [select for diffs], Sat May 26 00:36:03 2007 UTC (17 years ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

More comment typos from Diego Casati. Including winners like funtion, allmost,
oustside, seqencer, toghether, nessissary, etc.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Jan 29 11:33:24 2007 UTC (17 years, 4 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

Bump fixed part of the stackgap to 2k. Allows two full paths to be
stored, needed by systrace. ok deraadt@ miod@

Revision 1.8.2.6 / (download) - annotate - [select for diffs], Sat Jun 5 23:13:09 2004 UTC (20 years ago) by niklas
Branch: SMP
Changes since 1.8.2.5: +2 -1 lines
Diff to previous 1.8.2.5 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

Merge with the trunk

Revision 1.22 / (download) - annotate - [select for diffs], Thu Apr 15 00:22:42 2004 UTC (20 years, 2 months ago) by tedu
Branch: MAIN
CVS Tags: SMP_SYNC_B, SMP_SYNC_A, OPENBSD_4_0_BASE, OPENBSD_4_0, OPENBSD_3_9_BASE, OPENBSD_3_9, OPENBSD_3_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6
Changes since 1.21: +2 -1 lines
Diff to previous 1.21 (colored)

rework access to emulations slightly in an effort to both merge and
separate exec format from emulation.  consistent naming of freebsd emuls.
not much in the way of functional changes yet.
testing and ok deraadt@ and others along the way.

Revision 1.8.2.5 / (download) - annotate - [select for diffs], Sat Jun 7 11:09:07 2003 UTC (21 years ago) by ho
Branch: SMP
Changes since 1.8.2.4: +2 -6 lines
Diff to previous 1.8.2.4 (colored) to branchpoint 1.8 (colored)

Sync SMP branch to -current

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jun 2 23:28:21 2003 UTC (21 years ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE, OPENBSD_3_5, OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.20: +2 -6 lines
Diff to previous 1.20 (colored)

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.  Proofed by myself and Theo.

Revision 1.12.4.3 / (download) - annotate - [select for diffs], Mon May 19 22:32:19 2003 UTC (21 years ago) by tedu
Branch: UBC
Changes since 1.12.4.2: +2 -8 lines
Diff to previous 1.12.4.2 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

sync

Revision 1.8.2.4 / (download) - annotate - [select for diffs], Fri Mar 28 00:41:30 2003 UTC (21 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.8.2.3: +17 -14 lines
Diff to previous 1.8.2.3 (colored) to branchpoint 1.8 (colored)

Sync the SMP branch with 3.3

Revision 1.20 / (download) - annotate - [select for diffs], Tue Dec 3 21:27:05 2002 UTC (21 years, 6 months ago) by markus
Branch: MAIN
CVS Tags: UBC_SYNC_A, OPENBSD_3_3_BASE, OPENBSD_3_3
Changes since 1.19: +2 -8 lines
Diff to previous 1.19 (colored)

unconditionally define STACKGAPLEN, enables systrace(4) without COMPAT_*;
pr 3012; ok deraadt@ miod@

Revision 1.12.4.2 / (download) - annotate - [select for diffs], Tue Oct 29 00:36:49 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.12.4.1: +18 -9 lines
Diff to previous 1.12.4.1 (colored) to branchpoint 1.12 (colored)

sync to -current

Revision 1.19 / (download) - annotate - [select for diffs], Sun Oct 6 22:40:19 2002 UTC (21 years, 8 months ago) by art
Branch: MAIN
CVS Tags: UBC_SYNC_B
Changes since 1.18: +1 -2 lines
Diff to previous 1.18 (colored)

unused prototype.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Oct 6 22:39:25 2002 UTC (21 years, 8 months ago) by art
Branch: MAIN
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored)

Move out the execution of vmcmds into a separate function.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Sep 23 01:41:09 2002 UTC (21 years, 8 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_2_BASE, OPENBSD_3_2
Changes since 1.16: +14 -5 lines
Diff to previous 1.16 (colored)

Add support for vmcmds that load sections relative to a base section.
You mark one section with VMCMD_BASE and the rest are marked RELATIVE.
Use that to load ELF interpreter correctly in all cases.

Inspired by NetBSD. Great debugging help from drahn@
deraadt@ ok

Revision 1.16 / (download) - annotate - [select for diffs], Sat Jul 20 19:24:57 2002 UTC (21 years, 10 months ago) by art
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

Instead of copying out the signal trampoline on top of the stack, create
an uvm aobj, copy out the signal trampoline into it and share that page
among all processes for the same emulation.

This also requires us to actually be able to tell signal code where the
trampoline is located, so introduce a new field in struct proc - p_sigcode
that is a pointer to sigcode. This allows us to remove all the ugly
calculations of the signal trampoline address done in every sendsig
function in the tree (that's why so many files are changed).

Tested by various people. ok deraadt@

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jul 19 01:06:18 2002 UTC (21 years, 10 months ago) by jason
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

give sparc64 the normal STACKGAPLEN (512), this allows systrace(4) to work

Revision 1.12.4.1 / (download) - annotate - [select for diffs], Tue Jun 11 03:32:33 2002 UTC (22 years ago) by art
Branch: UBC
Changes since 1.12: +20 -20 lines
Diff to previous 1.12 (colored)

Sync UBC branch to -current

Revision 1.8.2.3 / (download) - annotate - [select for diffs], Thu Mar 28 14:52:01 2002 UTC (22 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.8.2.2: +20 -20 lines
Diff to previous 1.8.2.2 (colored) to branchpoint 1.8 (colored)

Merge in -current from roughly a week ago

Revision 1.14 / (download) - annotate - [select for diffs], Thu Mar 14 03:16:12 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

Final __P removal plus some cosmetic fixups

Revision 1.13 / (download) - annotate - [select for diffs], Thu Mar 14 01:27:14 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
Changes since 1.12: +18 -18 lines
Diff to previous 1.12 (colored)

First round of __P removal in sys

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Wed Jul 4 11:00:17 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.8.2.1: +8 -7 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored)

Merge in -current from two days ago in the SMP branch.
As usual with merges, they do not indicate progress, so do not hold
your breath for working SMP, and do not mail me and ask about the
state of it.  It has not changed.  There is work ongoing, but very, very
slowly.  The commit is done in parts as to not lock up the tree in too
big chunks at a time.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jun 22 14:11:00 2001 UTC (22 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: UBC_BASE, OPENBSD_3_0_BASE, OPENBSD_3_0
Branch point for: UBC
Changes since 1.11: +8 -7 lines
Diff to previous 1.11 (colored)

KNF

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Mon May 14 22:45:01 2001 UTC (23 years, 1 month ago) by niklas
Branch: SMP
Changes since 1.8: +23 -15 lines
Diff to previous 1.8 (colored)

merge in approximately 2.9 into SMP branch

Revision 1.11 / (download) - annotate - [select for diffs], Sat Apr 7 22:02:20 2001 UTC (23 years, 2 months ago) by tholo
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

Stack gap no longer fits common structures (like struct statfs), causing
many emulated system calls (SysV, Linux, others) to fail.  Bump from 400
up to 512 bytes; ok aaron@

Revision 1.10 / (download) - annotate - [select for diffs], Sun Apr 1 21:30:32 2001 UTC (23 years, 2 months ago) by art
Branch: MAIN
Changes since 1.9: +9 -2 lines
Diff to previous 1.9 (colored)

Add a macro to initialize the contents of a vmcmd set.
Correctly initialize the vmcmds in linux_exec.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Feb 22 16:08:01 2001 UTC (23 years, 3 months ago) by art
Branch: MAIN
Changes since 1.8: +14 -13 lines
Diff to previous 1.8 (colored)

ELF uses more than 5 vmcmds by default, so grow the default vmcmd set size
to 8.

At the same time it seemed like a good idea to avoid to always malloc a
new vmcmd array, so put the default sized array into struct exec_vmcmd_set.

We might want to make a linked list of vmcmd arrays or exec_vmcmd_sets instead
of reallocating them some time in the future, but right now this seems like a
waste of time.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 5 01:18:01 1999 UTC (24 years, 7 months ago) by mickey
Branch: MAIN
CVS Tags: kame_19991208, SMP_BASE, OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7
Branch point for: SMP
Changes since 1.7: +11 -2 lines
Diff to previous 1.7 (colored)

more stack direction fixes; art@ ok

Revision 1.7 / (download) - annotate - [select for diffs], Sat Sep 25 10:59:24 1999 UTC (24 years, 8 months ago) by kstailey
Branch: MAIN
CVS Tags: OPENBSD_2_6_BASE, OPENBSD_2_6
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored)

STACKGAPLEN of 400 for COMPAT_NETBSD too--trampoline preservative

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jan 12 13:02:07 1997 UTC (27 years, 5 months ago) by downsj
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE, OPENBSD_2_5, OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2, OPENBSD_2_1_BASE, OPENBSD_2_1
Changes since 1.5: +6 -1 lines
Diff to previous 1.5 (colored)

protect against multiple includes

Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 23 02:42:39 1996 UTC (27 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.4: +1 -0 lines
Diff to previous 1.4 (colored)

use _{NLIST,KERN}_DO_{AOUT,ELF,ECOFF} to select binary types

Revision 1.4 / (download) - annotate - [select for diffs], Sat Aug 31 09:17:16 1996 UTC (27 years, 9 months ago) by pefo
Branch: MAIN
CVS Tags: OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.3: +3 -0 lines
Diff to previous 1.3 (colored)

Some more data in package

Revision 1.3 / (download) - annotate - [select for diffs], Sun Mar 3 12:11:40 1996 UTC (28 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.2: +3 -1 lines
Diff to previous 1.2 (colored)

From NetBSD: 960217 merge

Revision 1.2 / (download) - annotate - [select for diffs], Thu Dec 14 04:00:15 1995 UTC (28 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

from netbsd; hpux also needs a stackgap

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:53:26 1995 UTC (28 years, 7 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:53:26 1995 UTC (28 years, 7 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.