# * Document the fact that non-superusers cannot change file flags for
# objects with SF_IMMUTABLE, SF_APPEND, or SF_NOUNLINK.
# * Document that non-superusers cannot set or clear any SF_* flag
# (setting fails with EPERM, clearing is silently ignored).
# * Document that superusers cannot change any flag if one of
# SF_IMMUTABLE, SF_APPEND, SF_NOUNLINK is set and securelevel is
# greater than 0.
# * Document SF_SNAPSHOT and note that it is maintained by the
# system and is, for this reason, impossible to set to clear by
# any user.
#
# PR: docs/33877
# Submitted by: harti
# Help by: George Marsellis <gam9478@njit.edu>
# MFC after: 1 week
Fix a bug where, for 6-byte sequences, the top 6 bits get compared to
111111 rather than the top 7 bits being compared against 1111110 causing
illegal bytes fe and ff being treated the same as legal bytes fc and fd.
use pwrite to always write at the begining of the file.. If multiple calls
to pidfile_write happen, the pidfile will have nul characters prepended
due to the cached file descriptor offset...
Approved by: re (scottl)
- When res_send() fails, we should reserve an error code.
- When res_nquerydomain() returns SERVFAIL, we should try next domain.
src/lib/libc/net/getaddrinfo.c: 1.75, 1.76
src/lib/libc/resolv/res_query.c: 1.3
Approved by: re (hrs)
denoting cycles where the CPU is not in a halt or sleep state. [1]
Increment the manual page date, bring the copyright year upto-date.
Approved by: re (mux) [1]
Only catch SIGINFO (for dumping thread states) when LIBPTHREAD_DEBUG
is defined in the environment.
Modify the code path of the ifdef NOTYET part of _kse_single_thread():
o Don't reinitialise the atfork() handler list in the child. We
are meant to call the child handler, and on subsequent fork()s
should call all three functions as normal.
o Don't reinitialise the thread specific keyed data in the
child after a fork. Applications may require this for context.
o Reinitialise curthread->tlflags after removing ourselves from
(and reinitialising) the various internal thread lists.
o Reinitialise __malloc_lock in the child after fork() (to balance
our explicitly taking the lock prior to the fork()).
With these changes, it is possible to enable the NOTYET code in
thr_kern.c to allow the use of non-async-safe functions after
fork()ing from a threaded program.
Eliminate a race condition in timed waits (cv, mutex, and sleeps).
Don't forget to initialize a tailq before using it.
For the ``#ifdef NOTYET'' code that allows calling non-async-safe
functions in the child after a fork() from a threaded process,
use __sys_setprocmask() rather than setprocmask() to keep our
signal handling sane. Without this fix, signals are essentially
ignored in said child and things such as protection violations
result in an endless busy loop.
Allocate a thread's tcb last so it is easier to handle failures to
malloc() siginfo.
Include needed headers that were obtained through <pthread.h>. Sort headers
while here.
amd64
-----
Fix a race condition introduced when redzones were added. Use an
atomic operation to return and adjust the stack (amd64).
test
-----
o Include <string.h>
o Make this ILP32/LP64 clean: cast pointers to long.
Approved by: re (scottl)
Some years ago handling login.access(5) was moved from login(1) to
pam_login_access(8) completely and unconditionally. This patch is
to finalize the move by deleting unused files and defines, and by
updating the manpages. In addition, login.access.5 will be installed
from the pam_login_access src directory, to where it belongs and
where it has lived for quite a while, too.
Besides satisfying general purism, this patch should stop ongoing
attempts to fix the dead code.
Approved by: re (mux)
1.21 src/lib/libipsec/ipsec_set_policy.3
1.14 src/lib/libipsec/ipsec_strerror.3
1.17,1.18 src/share/man/man4/ipsec.4
Clean up some descriptions and remove ambiguities in the language.
Add explanations to the examples.
Approved by: re (scottl)
- Just query 'as is', if there is a trailing dot in the name.
- Don't query 'as is' twice.
lib/libc/net/getaddrinfo.c: 1.71
lib/libc/net/res_query.c: 1.31
Approved by: re (scottl)
The uma_zone data structure defines the size of its uz_cpu[] array as 1,
but then sizes the containing data structure at run-time to make room
for per-cpu cache data. Modify libmemstat to separately allocate a
buffer to hold per-cpu cache data, sized based on the run-time mp_maxid
variable when using libkvm to access UMA data. This avoids reading
invalid cache data from beyond the end of the uma_zone data structure
on the stack, which can result in invalid statistics and/or reads from
invalid kernel addresses.
Approved by: re (scottl)
When reporting an error reading from UMA per-cpu cache pointers using KVM,
return a KVM error rather than an out of memory error, so that the caller
reports the KVM error state. This replaces a misleading error message
with a more accurate although equally confusing one.
Approved by: re (scottl)
Read all_cpus variable out of kmem, and validate CPUs against the all_cpus
cpu mask before looking at the cache entries for the CPU. For systems
with sparse CPU id arrays, this skips otherwise uninitialized cache
structures.
Approved by: re (scottl)
Correct a typo in the extraction of zone information from UMA using kmem:
bytes = allocated - freed, not bytes = allocated = freed.
Approved by: re (scottl)