#
01352abe |
| 07-Sep-2017 |
bluhm <bluhm@openbsd.org> |
In elf_load_file() to not call free(9) with an uninitialized size even if the pointer is NULL. This is not a real bug as free(9) checks the addr pointer before the size value, but the compiler canno
In elf_load_file() to not call free(9) with an uninitialized size even if the pointer is NULL. This is not a real bug as free(9) checks the addr pointer before the size value, but the compiler cannot know that. found by clang -Wuninitialized; OK deraadt@
show more ...
|
#
1443c537 |
| 20-Mar-2017 |
kettenis <kettenis@openbsd.org> |
Initialize the stack buffer used to build the auxiliary vector to zero to avoid leaking the contents of the kernel stack into userspace.
ok guenther@, deraadt@
|
#
17448fe7 |
| 05-Mar-2017 |
guenther <guenther@openbsd.org> |
Generating a coredump requires walking the map twice; change uvm_coredump_walkmap() to do both with a callback in between so it can hold locks/change state across the two.
ok stefan@
|
#
a7c026e4 |
| 11-Feb-2017 |
guenther <guenther@openbsd.org> |
Correct the entry point and base address calculations for an interpreter whose entry point isn't in its first PT_LOAD segment.
problem report and testing by patrick@
|
#
b0cba403 |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
Remove support for forcing the ELF interpreter to a specific address, last used by COMPAT_SYSV which was removed in 2011.
ok millert@
|
#
043da685 |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
In exec_elf.c: expand ELFNAME(), ELFNAME2(), and ELFNAMEEND() except leaving out the size, so that ELFNAME2(exec,makecmds) becomes exec_elf_makecmds instead of exec_elf{32,64}_makecmds and then de
In exec_elf.c: expand ELFNAME(), ELFNAME2(), and ELFNAMEEND() except leaving out the size, so that ELFNAME2(exec,makecmds) becomes exec_elf_makecmds instead of exec_elf{32,64}_makecmds and then delete the ELFNAME2() and ELFNAMEEND() macros.
Move the prototypes for functions local to exec_elf.c to there from exec_elf.h.
Simplify the SMALL_KERNEL conditionals around the ELF coredump code.
Change exec_conf.c to use the size-generic names and macros
Remove exec_elf{32,64}.c and just build exec_elf.c; delete the _KERN_DO_ELF and _KERN_DO_ELF64 #defines.
ok jca@, encouragement from deraadt@ and tom@
show more ...
|
#
41d803c5 |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
Move ELF_AUX_ENTRIES from exec_elf.h to exec_elf.c; it's totally internal and not something we guarantee to userspace
ok jca@
|
#
6255499b |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
Change ELFNAME(read_from)'s buf parameter to be void*, eliminating a cast from all but one call
ok jca@
|
#
1809cfc6 |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
elf{32,64}_check_brand() isn't used; delete it
ok jca@
|
#
de10163a |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
Provide size-generic ELF_NO_ADDR in <sys/exec_elf.h> and use that instead of ELFDEFNNAME(NO_ADDR)
ok jca@
|
#
48e470c3 |
| 05-Feb-2017 |
guenther <guenther@openbsd.org> |
Since we expect to never do binary compat with other OSes again, delete the no-longer-used probe hook support.
ok mpi@ jca@
|
#
8fda72b7 |
| 21-Jan-2017 |
guenther <guenther@openbsd.org> |
p_comm is the process's command and isn't per thread, so move it from struct proc to struct process.
ok deraadt@ kettenis@
|
#
3b7181b7 |
| 07-Nov-2016 |
guenther <guenther@openbsd.org> |
Split PID from TID, giving processes a PID unrelated to the TID of their initial thread
ok jsing@ kettenis@
|
#
2b712bfe |
| 05-Oct-2016 |
guenther <guenther@openbsd.org> |
Display/test/use the process PID, not the thread's TID, in a few places.
ok mpi@ mikeb@
|
#
05b24c4d |
| 12-Sep-2016 |
schwarze <schwarze@openbsd.org> |
When trying to run an ELF binary marked PT_OPENBSD_WXNEEDED from a file system mounted without MNT_WXALLOWED, fail with EACCES rather than with ENOEXEC, to discourage the shell from trying to run the
When trying to run an ELF binary marked PT_OPENBSD_WXNEEDED from a file system mounted without MNT_WXALLOWED, fail with EACCES rather than with ENOEXEC, to discourage the shell from trying to run the file as a shell script. OK deraadt@ millert@; tedu@ and halex@ agreed with the general direction.
show more ...
|
#
1c2a6c81 |
| 11-Jun-2016 |
kettenis <kettenis@openbsd.org> |
Since epp->ep_name is a userland pointer, use copyinstr(9) to get a copy ok the string into kernel space before logging the W^X binary warning.
ok jca@, guenther@
|
#
205b954d |
| 08-Jun-2016 |
kettenis <kettenis@openbsd.org> |
Enforce W^X and map W|X segments without X permission initially. The dynamic linker will make these read-only and add back X permission after elocation processing. Static executables with W|X segme
Enforce W^X and map W|X segments without X permission initially. The dynamic linker will make these read-only and add back X permission after elocation processing. Static executables with W|X segments will probably crash.
ok deraadt@, guenther@
show more ...
|
#
f68ce565 |
| 30-May-2016 |
deraadt <deraadt@openbsd.org> |
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/mpr
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
show more ...
|
#
12b62665 |
| 30-May-2016 |
deraadt <deraadt@openbsd.org> |
backout to insert correct commit message
|
#
e31974b4 |
| 30-May-2016 |
deraadt <deraadt@openbsd.org> |
*** empty log message ***
|
#
7730d1d9 |
| 10-May-2016 |
deraadt <deraadt@openbsd.org> |
SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookie inside the sigcontext. sigreturn(2) checks syscall entry was from the exact PC addr in the (per-process ASLR) sigtramp, verifi
SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookie inside the sigcontext. sigreturn(2) checks syscall entry was from the exact PC addr in the (per-process ASLR) sigtramp, verifies the cookie, and clears it to prevent sigcontext reuse. not yet tested on landisk, sparc, *88k, socppc. ok kettenis
show more ...
|
#
2dc555cb |
| 28-Feb-2016 |
naddy <naddy@openbsd.org> |
Support for running Linux binaries under emulation is going away.
Remove "option COMPAT_LINUX" and everything directly tied to it from the kernel and the corresponding man page documentation.
ok vi
Support for running Linux binaries under emulation is going away.
Remove "option COMPAT_LINUX" and everything directly tied to it from the kernel and the corresponding man page documentation.
ok visa@ guenther@
show more ...
|
#
345a92b4 |
| 02-Nov-2015 |
semarie <semarie@openbsd.org> |
move the pledgenote annotation from `struct proc' to `struct nameidata'
pledgenote is used for annotate the policy for a namei context. So make it tracking the nameidata.
It is expected for the cal
move the pledgenote annotation from `struct proc' to `struct nameidata'
pledgenote is used for annotate the policy for a namei context. So make it tracking the nameidata.
It is expected for the caller to explicitly define the policy. It is a kernel bug to not do so.
ok deraadt@
show more ...
|
#
113dcb2d |
| 28-Oct-2015 |
deraadt <deraadt@openbsd.org> |
Paranoa: p_pledgenote the NAMEI for ld.so loading
|
#
7da957a5 |
| 28-Sep-2015 |
deraadt <deraadt@openbsd.org> |
Track size of an opaque allocation to pass to free() later ok guenther tedu
|