www/tinyauth: Update to 5.0.4
* Cache vendor stuff.
* Add GO_TARGET.
* Extract frontend and vendor in post-extract instead of pre-build.
* Improve pkg-message to deploy a quick demo.
* Add pkg-message about breaking-changes starting with version 5.0.0.
* Add tinyauth_chdir parameter in rc(8) script.
* Improve format of help options in rc(8) script.
ChangeLog:
https://github.com/steveiliop56/tinyauth/compare/v4.0.1...v5.0.4
Reported by: ronald at klop.ws (email)
handbook/virtualization: Fix freebsd-update syntax
Split freebsd-update fetch and install into two subcommands. If running
an EoL FreeBSD, running the two in one command can fail to perform the
install. This matches what was done elsewhere in the tree.
PR: 293517
Reported by: Graham Perrin
Signed-off-by: Kit Dallege <xaum.io at gmail.com>
Closes: https://github.com/freebsd/freebsd-doc/pull/632
x86: move the NUM_ISA_IRQS symbol from atpic.c into x86/isa/icu.h
This is not the best location, but works for now.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56003
net/gnu-radius: Fix the build
The build was failing for two reasons:
1. When devel/readline was installed (e.g. as a dependency of
editors/emacs), its newer interface caused:
readline.c:147:51: error: expected expression
147 | rl_attempted_completion_function = (CPPFunction *) completion_fp;
| ^
readline.c:147:38: error: use of undeclared identifier 'CPPFunction'
147 | rl_attempted_completion_function = (CPPFunction *) completion_fp;
| ^
Patch radius's lib/readline.c to use the modern rl_completion_func_t
type.
2. The elisp files were not being installed, causing a staging error.
Fix this by installing the elisp in a post-install-EMACS-on target.
[2 lines not shown]
vm_fault: Avoid creating clean, writeable superpage mappings
The pmap layer requires writeable superpage mappings to be dirty.
Otherwise, during demotion, we may miss a hw update of the PDE which
sets the dirty bit.
When creating a managed superpage mapping without promotion, i.e., with
pmap_enter(psind == 1), we must therefore ensure that a writeable
mapping is created with the dirty bit pre-set. To that end,
vm_fault_soft_fast(), when handling a map entry with write permissions,
checks whether all constituent pages are dirty, and if so, converts the
fault to a write fault, so that pmap_enter() does the right thing. If
one or more pages is not dirty, we simply create a 4K mapping.
vm_fault_populate(), which may also create superpage mappings, did not
do this, and thus could create mappings which violate the invariant
described above. Modify it to instead check whether all constituent
pages are already dirty, and if so, convert the fault to a write fault.
Otherwise the mapping is downgraded to read-only.
[5 lines not shown]
kqueue: Fix a race when adding an fd-based knote to a queue
When registering a new kevent backed by a file descriptor, we first look
up the file description with fget(), then lock the kqueue, then see if a
corresponding knote is already registered. If not, and KN_ADD is
specified, we add the knote to the kqueue.
closefp_impl() interlocks with this process by calling knote_fdclose(),
which locks each kqueue and checks to see if the fd is registered with a
knote. But, if userspace closes an fd while a different thread is
registering it, i.e., after fget() succeeds but before the kqueue is
locked, then we may end up with a mismatch in the knote table, where the
knote kn_fp field points to a different file description than the knote
ident.
Fix the problem by double-checking before registering a knote. Add a
new fget_noref_unlocked() helper for this purpose. It is a clone of
fget_noref(). We could simply use fget_noref(), but I like having an
explicit unlocked variant.
[5 lines not shown]