NULL kernel pointers in nfs statfs(2) mount_info
nfs differs from other filesystems in that mount arguments can come from
both user and kernel space.
nfs_mount() sets args->fh to a kernel pointer. When root is on nfs,
nfs_boot_getfh() also sets addr and hostname to kernel pointers.
problem found and changes suggested by Andrew Griffiths
ok miod@ millert@ deraadt@
Stop scanning the inactive page queue when we're out of resources needed
to swap pages out. By starting a fresh scan the next time the pagedaemon
gets woken up we do a better job swapping out the least recently used
pages. Any pages we skipped are likely to have been taken of the list
or unbusy the next time around. And scanning the queue until the end
mostly makes the pagedaemon do useless work with the page queue lock
held.
Also avoid inflating the inactive shortage if the free page shortage is
high. Reducing the number of active pages to (almost) zero is
counterproductive since it prevents processes from making progress,
including those that may free up some memory.
ok kirill@, beck@
Unexport *Pad *Transform *FileChunk()
Pad and FileChunk are our own invention and unused after Pad usage was
removed from libskey. Transform should never have been exposed, so remove
it.
ok deraadt naddy
Unconditionally define __va_list as __builtin_va_list
Since OpenBSD 6.7, stdarg.h unconditionally defines va_list as
__builtin_va_list and uses __builtin_va_* to implement the va_*
macros. However, compilers that don't define __GNUC__ now get
conflicting definitions for the va_list typedef and the va_list
type used in function prototypes like vprintf.
To fix this, adjust all definitions of __va_list to match va_list
defined in stdarg.h.
Pointed out and fix suggested by Lennart Jablonka and Michael Forney
Diff from Michael Forney
ok deraadt