Age | Commit message (Collapse) | Author |
|
|
|
Should catch more of them and closer (in time) to the WAF. ok tb@
|
|
<machine/asm.h> they are already get the necessary "bti c" instructions.
Passi the -mmark-bti-property option to mark the corresponding object
files as having BTI support.
ok deraadt@
|
|
|
|
The basic idea is simple: one of the reasons the recent sshd bug
is potentially exploitable is that a (erroneously) freed malloc
chunk gets re-used in a different role. malloc has power of two
chunk sizes and so one page of chunks holds many different types
of allocations. Userland malloc has no knowledge of types, we only
know about sizes. So I changed that to use finer-grained chunk
sizes.
This has some performance impact as we need to allocate chunk pages
in more cases. Gain it back by allocation chunk_info pages in a
bundle, and use less buckets is !malloc option S. The chunk sizes
used are 16, 32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320,
384, 448, 512, 640, 768, 896, 1024, 1280, 1536, 1792, 2048 (and a
few more for sparc64 with its 8k sized pages and loongson with its
16k pages).
If malloc option S (or rather cache size 0) is used we use strict
multiple of 16 sized chunks, to get as many buckets as possible.
ssh(d) enabled malloc option S, in general security sensitive
programs should.
See the find_bucket() and bin_of() functions. Thanks to Tony Finch
for pointing me to code to compute nice bucket sizes.
ok tb@
|
|
Originally from djm@. OK deraadt@ florian@ bluhm@
|
|
Based on a patch from enh@google. OK tb@
|
|
|
|
and store it in a const variable for use by crt0.
help from kettenis and miod
|
|
freeing; ok tb@
|
|
future. The ports team is already running around with axes and mops,
but don't worry such an action won't happen quickly.
with tb
|
|
ok guenther
|
|
|
|
an implementation detail for the kernel, libc, and libkvm,
and should not be a concern for others.
|
|
passed in a specific call.
From discussion with schwarze@ and jmc@
ok jmc@
|
|
From discussion with schwarze@ and jmc@
ok jmc@
|
|
|
|
wrong address to the kernel. disable for now.
|
|
|
|
|
|
text more generic
|
|
tell the kernel where the execve stub is found. With this mechanism
we cannot tell the size, so use 128 as an estimate for the most we expect
from any architecture.
discussed with kettenis, ok guenther
|
|
ok guenther
|
|
|
|
|
|
|
|
|
|
|
|
commited ye -- waiting for enough people to run kernels which support
the system call.
ok jmc
|
|
|
|
it are now unpadded
ok kettenis guenther
|
|
return register to -1 in the syscall error path ("for lseek").
removal of the misleading __syscall() mention requested by deraadt@
ok deraadt@
|
|
|
|
|
|
ok cheloha@, semarie@
|
|
|
|
|
|
and make them behave as intended again.
The existing constraints are too weak; this used to work in older days, but
got broken when the system compiler was updated to gcc 4 (or maybe even gcc 3).
|
|
OK schwarze@
|
|
preinit hook. Delete that and instead have the kernel disable kbind
at exec-time if the program doesn't have an ELF interpreter. For
now, permit userland calls to disable it when already disabled so
existing static programs continue to work.
prompted by deraadt@ questioning about the call in libc.a
ok deraadt@ miod@
|
|
fetch them correctly when building PIC.
ok kettenis@
|
|
ok miod@ kn@ deraadt@
|
|
a seatbelt, because libc build corruption is too painful.
|
|
|
|
Since we got rid of padded syscalls we have enough registers to do this.
ok deraadt@ ok kettenis@
|
|
ok jmc@ schwarze@
|
|
exposed in a new field returned by sysctl(KERN_PROC). Update
pthread_{get,set}_name_np(3) to use the syscalls. Show them, when
set, in ps -H and top -H output.
libc and libpthread minor bumps
ok mpi@, mvs@, deraadt@
|
|
NetBSD fsck.8 rev 1.35 fsutil.h rev 1.14 pathnames.h rev 1.2
netgroup_mkdb.8 rev 1.9 netgroup_mkdb.c rev 1.18 str.c rev 1.7
str.h rev 1.4 rdate.8 rev 1.11 rdate.c rev 1.19 extern.h rev 1.14
getnetgrent.c rev 1.41 netgroup.h rev 1.10
fparseln.3 rev 1.4 fparseln.c rev 1.10
our stringlist.c/stringlist.h are derived from getnetgrent.c
rfc868time.c from rdate.c
newfs/pathnames.h from fsck/pathnames.h
https://mail-index.netbsd.org/source-changes/2009/10/21/msg002182.html
Not all files are covered as some had copyright assigned to TNF in 1998.
|
|
getpid() appeared (undocumented) in v5. Between v6 and v7 there is an
extra return value for the parent process ID.
getppid() did not appear in v7, it appeared in 32v libc. But getppid()
predates 32v. It seems to have been in earlier USG releases such as
Generic 3 (PG-1C300 Issue 3) as the MERT Release 0 manual references it.
getppid() didn't become a system call until 4.3BSD-Reno
omit most of these details and just mention v5 and 32v
with and ok schwarze@
|
|
Eliminate some redundant or extraneous pieces from the pause.3 page.
Say the "thread" "blocks", don't say the "process" "pauses". No need
to enumerate the ways a signal can be delivered. Add a few relevant
cross-references.
With input from millert@ and schwarze@.
Link: https://marc.info/?l=openbsd-tech&m=166801212316670&w=2
ok millert@ schwarze@
|