sysctl: Do not serialize requests when running as root
Bugs or unexpected behaviour can cause a user thread to block in a
sysctl handler for a long time. "procstat -kka" is the most useful tool
to see why this might happen, but it can block on sysctlmemlock too.
Since the purpose of this lock is merely to ensure userspace can't wire
too much memory, don't require it for requests from privileged threads.
PR: 282994
Reviewed by: kib, jhb
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D47842
jail: Handle jail removal in a dedicated thread
Otherwise a deadlock is possible: the system taskqueue thread removes a
prison and calls vnet_destroy(), vnet_vlan_uninit() destroys the if_vlan
cloner, the vlan_clone_destroy() callback calls taskqueue_drain() on the
thread taskqueue.
Fix the problem by introducing a new thread for jail removals.
Ideally, the taskqueue interface would let consumers define queues
without having to map them to threads, as that'd make it possible to
avoid such deadlocks without extra threads; for now, this is the only
solution.
Reviewed by: jamie
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D47991
nanobsd: Remove dependency on bsdlabel
The bsdlabel utility is deprecated, gpart should be used instead:
- Offset the first 16 sectors, just like bsdlabel did (used for
metadata)
- Use a freebsd-ufs partition type (regardless bsdlabel creating a
'!0')
Reviewed by: emaste, imp
Approved by: emaste (mentor)
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D47653
(cherry picked from commit 87e87fecb139d60a00837f004de0d37dbecd205c)
Merge branch 'northboot-hardened/current/master-patch-45250' into 'hardened/current/master'
HBSD: Check kern.securelevel before installing update
See merge request hardenedbsd/HardenedBSD!98
fs: Add static asserts for the size of fid structures
File system specific *fid structures are copied into the generic
struct fid defined in sys/mount.h.
As such, they cannot be larger than struct fid.
This patch adds _Static_assert()s to check for this.
ZFS and fuse already have _Static_assert()s.
(cherry picked from commit 91b5592a1e1af97480d615cf508be05b5674d2f3)
rtwn: create a new HAL routine for enabling STA mode beacon processing
For some NICs (notably the rtl8192cu that I'm working on) the
firmware rate adaptation requires beacon processing to be enabled.
Instead of making assumptions in the if_rtwn beacon routines (and
honestly all of that should be in the HAL too), create a HAL method
for enabling/disabling beacon processing specifically in STA mode.
Since this isn't necessarily required for all NICs (notably the RTL8188E
NICs, where some will do firmware rate control and some will require
driver rate control), only enable it for the RTL8192CU and RT8192EU.
The RTL8188E and RTL8812/RTL8821 just have no-op routines for now.
Locally tested:
* RTL8192CU, STA mode
[2 lines not shown]
devd.conf(5): explain difference between internal and shell variables
devd.conf by default considers many variables as internal, possibly
expanding them to an empty string. Shell variables thus need to be
wrapped into braces.
Reviewed by: imp, Andre Albsmeier
MFC after: 1 week
Differential Revision: <https://reviews.freebsd.org/D48154>
pf.conf.5: Fix endpoint-independent description
The description of the endpoint-independent option accidentally ended up
in the middle of map-e-portset's text.
Fixes: 390dc369efaa ("pf: Add support for endpoint independent NAT bindings for UDP")
Reviewed by: kp
Sponsored by: Tailscale
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D48158
nullfs: stop lying about mount flags in statfs(2)
Flags should not propagate from the lower fs. Behavior for the upper fs
is determined by flags from its mount point structure. When lower fs
acts according to its mount configuration, it is reported up as VOP
errors.
PR: 283425
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D48150
sdhci: add missing bus_add_child DEVMETHOD.
Add the missing bus_add_child DEVMETHOD. This is needed for the RPi5
running with a MMCCAM kernel and the worproject/rpi5-uefi to avoid a
kernel panic on boot when SDIO tries to attach to a 'Intel Bay Trail'
controller.
Reviewed by: imp
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D48152
bus: improve null_add_child() panic message
When null_add_child() panics add the bus device name/unit and the new
unit as this will immediately reveal the parent missing the
DEVMETHOD(bus_add_child, ...)
entry.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D48151
iwlwifi: add missing blank, unwrap line
The original commit was missing a space between two words due to
uncareful string line wrapping; let the string run beyond the 80 char
limit in order to also make it grep-able [1].
Reported by: jrtc27, Chris Torek (chris.torek gmail.com)
Suggested by: emaste, imp [1]
Sponsored by: The FreeBSD Foundation
Fixes: 87e140a5c6f89 avoid (hard) hang on loading module
MFC after: 3 days
X-MFC with: 87e140a5c6f89eea7ea6320d1ae34566492abfc0
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D48155