Home | History | Annotate | Download | only in libpthread
History log of /src/lib/libpthread/TODO
RevisionDateAuthorComments
 1.19  02-Jul-2017  joerg Export the guard size of the main thread via vm.guard_size. Add a
complementary writable sysctl for the initial guard size of threads
created via pthread_create. Let the existing attribut accessors do the
right thing. Raise the default guard size for threads to 64KB.
 1.18  08-Feb-2017  kamil branches: 1.18.4;
libpthread_dbg(3) deletion from the base distribution

libpthread_dbg(3) is a remnant library from the M:N thread model
(pre-NetBSD-5.0) API to introspect threads within a process and for use
of debuggers.

Currently in the 1:1 model it's not used in GDB neither in LLDB and it's
not either planned to be used. It's current function to read pthread_t
structures is realizable within a regular debugger capable to
instrospect objects within a tracee (GDB, LLDB...).

Remaining users of this API can still use this library from
pkgsrc/devel/libpthread_dbg.

Sponsored by <The NetBSD Foundation>
 1.17  03-Feb-2012  joerg branches: 1.17.22; 1.17.26;
ld.elf_so is reentrant.
 1.16  09-Jul-2010  jruoho branches: 1.16.6;
As per (now closed) PR lib/43581, add a note about unsupported modifications
to the red zone size.
 1.15  24-Jan-2009  wiz Fix typo.
 1.14  10-Feb-2008  ad We've got the priority/class stuff now.
 1.13  24-Dec-2007  ad Update.
 1.12  13-Nov-2007  ad Mutexes:

- Play scrooge again and chop more cycles off acquire/release.
- Spin while the lock holder is running on another CPU (adaptive mutexes).
- Do non-atomic release.

Threadreg:

- Add the necessary hooks to use a thread register.
- Add the code for i386, using %gs.
- Leave i386 code disabled until xen and COMPAT_NETBSD32 have the changes.
 1.11  08-Sep-2007  ad Update.
 1.10  23-Aug-2007  ad branches: 1.10.2;
Update.
 1.9  04-Aug-2007  ad branches: 1.9.2;
Update.
 1.8  02-Mar-2007  ad branches: 1.8.2;
Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.
 1.7  02-Mar-2007  ad Don't grab the state lock to check for cancellation around condition
variables, as _lwp_wakeup/lwp_park provide the necessary barrier.
 1.6  15-Feb-2007  yamt fix a race between pthread_exit and pthread_create.
inefficient, but better than crashing.
 1.5  25-Dec-2006  ad Add some items for 1:1 threads.
 1.4  25-Nov-2003  christos Update list of items.
 1.3  06-Feb-2003  jdolecek pthread_kill() was implemented, remove from list
pthread_cond_timedwait() now works even before SA initialization, but some
other routines do not; update the paragraph for this
 1.2  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.1  05-Mar-2001  nathanw branches: 1.1.2;
file TODO was initially added on branch nathanw_sa.
 1.1.2.19  13-Jan-2003  thorpej Implement recursive and errorcheck mutexes.
 1.1.2.18  07-Jan-2003  thorpej In the "ideas to play with" section, make a note about registers
reserved by the ABI for thread-specific data.
 1.1.2.17  30-Dec-2002  thorpej Add support for using RAS lock primitives on uniprocessors where
RAS is available.
 1.1.2.16  30-Oct-2002  skrll Nathan added pthread_rwlock.c
 1.1.2.15  02-Oct-2002  thorpej One more signal-reliated item.
 1.1.2.14  02-Oct-2002  thorpej libc:
Internally rename __sigaction14 to __libc_sigaction14. Provide a
weak alias of __sigaction14 -> __libc_sigaction14.

libpthread:
Use __libc_sigaction14 to actually register the signal handler, rather
than using __sigaction_sigtramp() directly with a hard-coded trampoline
version. While we don't actually use the libc trampoline, we want to
avoid depending on any COMPAT_* kernel options down the road (this is
already the case for the VAX port).

Be explicit about which version of the signal interface we're interposing
(...14), and build pthread_sig.c with __LIBC12_SOURCE__ (required to get
the libc-internal interfaces).
 1.1.2.13  02-Oct-2002  thorpej ...and another.
 1.1.2.12  02-Oct-2002  thorpej Add another item to the "bugs to fix" list.
 1.1.2.11  02-Oct-2002  thorpej Add some TODO items.
 1.1.2.10  25-Mar-2002  nathanw Remove a couple of fixed items.
 1.1.2.9  28-Jan-2002  nathanw Update a bit.
 1.1.2.8  16-Nov-2001  thorpej Note that real flockfile()/funclockfile()/ftrylockfile() routines
need to be written.
 1.1.2.7  08-Aug-2001  nathanw pthread_malloc() and pthread_free() are superfluous.
 1.1.2.6  08-Aug-2001  nathanw Fixed one.
 1.1.2.5  08-Aug-2001  nathanw Another open issue.
 1.1.2.4  07-Aug-2001  nathanw Add a bug I don't feel like fixing tonight.
 1.1.2.3  06-Aug-2001  nathanw Update and reorganize.
 1.1.2.2  08-Mar-2001  nathanw Couple more things.
 1.1.2.1  05-Mar-2001  nathanw The beginnings of a scheduler activations-based pthread library.
 1.8.2.3  10-Sep-2007  skrll Sync with HEAD.
 1.8.2.2  03-Sep-2007  skrll Sync with HEAD.
 1.8.2.1  15-Aug-2007  skrll Sync with HEAD.
 1.9.2.2  04-Aug-2007  ad Update.
 1.9.2.1  04-Aug-2007  ad file TODO was added on branch matt-mips64 on 2007-08-04 13:46:05 +0000
 1.10.2.3  23-Mar-2008  matt sync with HEAD
 1.10.2.2  09-Jan-2008  matt sync with HEAD
 1.10.2.1  06-Nov-2007  matt sync with HEAD
 1.16.6.1  17-Apr-2012  yamt sync with head
 1.17.26.1  21-Apr-2017  bouyer Sync with HEAD
 1.17.22.1  20-Mar-2017  pgoyette Sync with HEAD
 1.18.4.1  31-Aug-2017  bouyer Pull up following revision(s) (requested by joerg in ticket #234):
sys/arch/amd64/include/vmparam.h: revision 1.43
sys/kern/exec_subr.c: revision 1.79
lib/libpthread/pthread_int.h: revision 1.94
sys/arch/mips/include/vmparam.h: revision 1.58
sys/arch/mips/include/vmparam.h: revision 1.59
lib/libpthread/TODO: revision 1.19
sys/arch/powerpc/include/vmparam.h: revision 1.20
sys/arch/riscv/include/vmparam.h: revision 1.2
sys/arch/riscv/include/vmparam.h: revision 1.3
sys/arch/i386/include/vmparam.h: revision 1.85
tests/lib/libpthread/t_join.c: revision 1.9
sys/uvm/uvm_meter.c: revision 1.66
sys/uvm/uvm_param.h: revision 1.36
sys/kern/exec_subr.c: revision 1.80
sys/uvm/uvm_param.h: revision 1.37
sys/kern/exec_subr.c: revision 1.81
sys/kern/exec_subr.c: revision 1.82
lib/libpthread/pthread_attr_getguardsize.3: revision 1.4
lib/libpthread/pthread.c: revision 1.148
lib/libpthread/pthread_attr.c: revision 1.17
sys/arch/amd64/include/vmparam.h: revision 1.42
Always include a 1MB guard area beyond the end of stack. While ASLR will
normally create a guard area as well, this provides a deterministic area
for all binaries.
Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from
Qualys.
Revert for the moment, creates problems on i386.
Recommit exec_subr.c revision 1.79:
Always include a 1MB guard area beyond the end of stack. While ASLR will
normally create a guard area as well, this provides a deterministic area
for all binaries.
Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from
Qualys.
Additionally, change VM_DEFAULT_ADDRESS_TOPDOWN to include
user_stack_guard_size in the size reservation.
Update VM_DEFAULT_ADDRESS32_TOPDOWN to include guard area.
Export the guard size of the main thread via vm.guard_size. Add a
complementary writable sysctl for the initial guard size of threads
created via pthread_create. Let the existing attribut accessors do the
right thing. Raise the default guard size for threads to 64KB.

RSS XML Feed