]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
3 years agoMake files opened with O_PATH to not block non-forced unmount
Konstantin Belousov [Sat, 3 Apr 2021 18:55:11 +0000 (21:55 +0300)]
Make files opened with O_PATH to not block non-forced unmount

by only keeping hold count on the vnode, instead of the use count.

Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29323

3 years agoopen(2): Implement O_PATH
Konstantin Belousov [Thu, 18 Mar 2021 10:41:47 +0000 (12:41 +0200)]
open(2): Implement O_PATH

Reviewed by: markj
Tested by: pho
Discussed with: walker.aj325_gmail.com, wulf
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29323

3 years agoAdd AT_EMPTY_PATH for several *at(2) syscalls
Konstantin Belousov [Sun, 7 Mar 2021 14:29:09 +0000 (16:29 +0200)]
Add AT_EMPTY_PATH for several *at(2) syscalls

It is currently allowed to fchownat(2), fchmodat(2), fchflagsat(2),
utimensat(2), fstatat(2), and linkat(2).

For linkat(2), PRIV_VFS_FHOPEN privilege is required to exercise the flag.
It allows to link any open file.

Requested by: trasz
Tested by: pho, trasz
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D29111

3 years agoAT_RESOLVE_BENEATH is bsd-specific
Konstantin Belousov [Thu, 11 Mar 2021 15:07:02 +0000 (17:07 +0200)]
AT_RESOLVE_BENEATH is bsd-specific

Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29111

3 years agovfs_vnops.c: Make vn_statfile() non-static
Konstantin Belousov [Thu, 18 Mar 2021 10:41:07 +0000 (12:41 +0200)]
vfs_vnops.c: Make vn_statfile() non-static

Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29323

3 years agoStyle.
Konstantin Belousov [Thu, 18 Mar 2021 10:40:20 +0000 (12:40 +0200)]
Style.

Add missed spaces, wrap long lines.

Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29323

3 years agolink(2): correct descriptor name in AT_RESOLVE_BENEATH description
Konstantin Belousov [Tue, 30 Mar 2021 21:56:28 +0000 (00:56 +0300)]
link(2): correct descriptor name in AT_RESOLVE_BENEATH description

Noted and reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D29111

3 years agocache: extend mismatch vnode assert print to include the name
Mateusz Guzik [Thu, 15 Apr 2021 07:55:43 +0000 (07:55 +0000)]
cache: extend mismatch vnode assert print to include the name

3 years agobhyve: implement rdmsr for MSR_IA32_FEATURE_CONTROL
Corvin Köhne [Thu, 15 Apr 2021 03:49:19 +0000 (13:49 +1000)]
bhyve: implement rdmsr for MSR_IA32_FEATURE_CONTROL

Without the -w option, Windows guests crash on boot. This is caused by a rdmsr
of MSR_IA32_FEATURE_CONTROL. Windows checks this MSR to determine enabled VMX
features. This MSR isn't emulated in bhyve, so a #GP exception is injected
which causes Windows to crash.

Fix by returning a rdmsr of MSR_IA32_FEATURE_CONTROL with Lock Bit set and
VMX disabled to informWindows that VMX isn't available.

Reviewed by: jhb, grehan (bhyve)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D29665

3 years agoEnsure that the mount command shows "with quotas" when quotas are enabled.
Kirk McKusick [Wed, 14 Apr 2021 22:22:12 +0000 (15:22 -0700)]
Ensure that the mount command shows "with quotas" when quotas are enabled.

When quotas are enabled with the quotaon(8) command, it sets the
MNT_QUOTA flag in the mount structure mnt_flag field. The mount
structure holds a cached copy of the filesystem statfs structure
in mnt_stat that includes a copy of the mnt_flag field in
mnt_stat.f_flags. The mnt_stat structure may not be updated for
hours. Since the mount command requests mount details using the
MNT_NOWAIT option, it gets the mount's mnt_stat statfs structure
whose f_flags field does not yet show the MNT_QUOTA flag being set
in mnt_flag.

The fix is to have quotaon(8) set the MNT_QUOTA flag in both mnt_flag
and in mnt_stat.f_flags so that it will be immediately visible to
callers of statfs(2).

Reported by:  Christos Chatzaras
Tested by:    Christos Chatzaras
PR:           254682
MFC after:    3 days
Sponsored by: Netflix

3 years agohidmap: add missing opt_hid.h to module Makefile
Vladimir Kondratyev [Wed, 14 Apr 2021 19:55:52 +0000 (22:55 +0300)]
hidmap: add missing opt_hid.h to module Makefile

Reported by: pstef
MFC after: 2 weeks

3 years agoRevert "config(8): Correct the mentioned paper in the SEE ALSO section"
Gordon Bergling [Wed, 14 Apr 2021 18:22:48 +0000 (20:22 +0200)]
Revert "config(8): Correct the mentioned paper in the SEE ALSO section"

config(8) was first imported from 4.4BSD.

Reported by: rgrimes

This reverts commit e6ab1e365c06559e964667d2f5a6de856fa28be6.

3 years agouma: Introduce per-domain reclamation functions
Mark Johnston [Wed, 14 Apr 2021 16:57:24 +0000 (12:57 -0400)]
uma: Introduce per-domain reclamation functions

Make it possible to reclaim items from a specific NUMA domain.

- Add uma_zone_reclaim_domain() and uma_reclaim_domain().
- Permit parallel reclamations.  Use a counter instead of a flag to
  synchronize with zone_dtor().
- Use the zone lock to protect cache_shrink() now that parallel reclaims
  can happen.
- Add a sysctl that can be used to trigger reclamation from a specific
  domain.

Currently the new KPIs are unused, so there should be no functional
change.

Reviewed by: mav
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29685

3 years agouma: Split bucket_cache_drain() to permit per-domain reclamation
Mark Johnston [Fri, 9 Apr 2021 13:47:09 +0000 (09:47 -0400)]
uma: Split bucket_cache_drain() to permit per-domain reclamation

Note that the per-domain variant does not shrink the target bucket size.

No functional change intended.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

3 years agodomainset: Define additional global policies
Mark Johnston [Wed, 14 Apr 2021 16:56:39 +0000 (12:56 -0400)]
domainset: Define additional global policies

Add global definitions for first-touch and interleave policies.  The
former may be useful for UMA, which implements a similar policy without
using domainset iterators.

No functional change intended.

Reviewed by: mav
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29104

3 years agoossl(4): Install the man page also for arm64
Gordon Bergling [Wed, 14 Apr 2021 16:32:56 +0000 (18:32 +0200)]
ossl(4): Install the man page also for arm64

In 22bd0c9731d7 ossl(4) was ported to arm64. The manual page was
adapted, but never installed since the ossl(4) manual page was
i386 / amd64 only.

Reviewed by: mhorne
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D29762

3 years agoexpand @TPUT@ in ncurses manpages
Yuri Pankov [Wed, 14 Apr 2021 15:16:59 +0000 (18:16 +0300)]
expand @TPUT@ in ncurses manpages

Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D29761

3 years agoarm: Add no-cftconvert for sdma-imx6 files
Emmanuel Vadot [Wed, 14 Apr 2021 13:43:37 +0000 (15:43 +0200)]
arm: Add no-cftconvert for sdma-imx6 files

Fixes a warning when building kernel:
ctfconvert: file.c: Couldn't read ehdr: Invalid argument

MFC after: 3 days

3 years agopf tests: Test clearing rules counters
Kristof Provost [Mon, 12 Apr 2021 15:29:19 +0000 (17:29 +0200)]
pf tests: Test clearing rules counters

This was briefly broken, so ensure that we can read and clear rules
counters.

MFC after: 4 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D29728

3 years agopfctl: Fix clearing rules counters
Kristof Provost [Mon, 12 Apr 2021 15:23:33 +0000 (17:23 +0200)]
pfctl: Fix clearing rules counters

After the migration to libpfctl for rule retrieval we accidentally lost
support for clearing the rules counters.

Introduce a get_clear variant of pfctl_get_rule() which allows rules
counters to be cleared.

MFC after: 4 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D29727

3 years agozfs: merge openzfs/zfs@3522f57b6 (master)
Martin Matuska [Wed, 14 Apr 2021 10:49:10 +0000 (12:49 +0200)]
zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
  #11742 When specifying raidz vdev name, parity count should match
  #11744 Use a helper function to clarify gang block size
  #11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week

3 years agopchtherm: Add IDs for CannonLake-H, CometLake and Lewisburg controllers
Vladimir Kondratyev [Wed, 14 Apr 2021 10:03:18 +0000 (13:03 +0300)]
pchtherm: Add IDs for CannonLake-H, CometLake and Lewisburg controllers

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

3 years agofilt_timerexpire: avoid process lock recursion
Konstantin Belousov [Tue, 13 Apr 2021 14:25:11 +0000 (17:25 +0300)]
filt_timerexpire: avoid process lock recursion

Found by: syzkaller
Reported and reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29746

3 years agorealtimer_expire: avoid proc lock recursion when called from itimer_proc_continue()
Konstantin Belousov [Tue, 13 Apr 2021 13:47:24 +0000 (16:47 +0300)]
realtimer_expire: avoid proc lock recursion when called from itimer_proc_continue()

It is fine to drop the process lock there, process cannot exit until its
timers are cleared.

Found by: syzkaller
Reported and reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29746

3 years agopseudofs: limit writes to 1M
Konstantin Belousov [Tue, 13 Apr 2021 19:48:44 +0000 (22:48 +0300)]
pseudofs: limit writes to 1M

Noted and reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29752

3 years agosbuf_uionew(): sbuf_new() takes int as length
Konstantin Belousov [Tue, 13 Apr 2021 19:12:19 +0000 (22:12 +0300)]
sbuf_uionew(): sbuf_new() takes int as length

and length should be not less than SBUF_MINSIZE

Reported and tested by: pho
Noted and reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29752

3 years agoUpdate vendor/openzfs to openzfs/zfs/master@3522f57b6
Martin Matuska [Wed, 14 Apr 2021 06:03:07 +0000 (08:03 +0200)]
Update vendor/openzfs to openzfs/zfs/master@3522f57b6

Notable upstream pull request merges:
  #11742 When specifying raidz vdev name, parity count should match
  #11744 Use a helper function to clarify gang block size
  #11771 Support running FreeBSD buildworld on Arm-based macOS hosts

3 years agoichsmb: Add PCI ID for Intel Gemini Lake SMBus controller
Vladimir Kondratyev [Tue, 13 Apr 2021 22:10:13 +0000 (01:10 +0300)]
ichsmb: Add PCI ID for Intel Gemini Lake SMBus controller

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

3 years agocxgbe(4): RSS hash for VXLAN traffic is computed from the inner frame.
Navdeep Parhar [Tue, 13 Apr 2021 23:50:12 +0000 (16:50 -0700)]
cxgbe(4): RSS hash for VXLAN traffic is computed from the inner frame.

Sponsored by: Chelsio Communications

3 years agoTOE: Use a read lock on the PCB for syncache_add().
John Baldwin [Tue, 13 Apr 2021 23:31:04 +0000 (16:31 -0700)]
TOE: Use a read lock on the PCB for syncache_add().

Reviewed by: np, glebius
Fixes: 08d9c9202755a30f97617758595214a530afcaea
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29739

3 years agoarp(8): fixing the deletion failure of IEEE1394 associated addresses
Tai-hwa Liang [Mon, 12 Apr 2021 06:27:03 +0000 (06:27 +0000)]
arp(8): fixing the deletion failure of IEEE1394 associated addresses

Without this, 'arp -d ${IEEE1394_ADDRESS}' gives the following error:

arp: delete: cannot locate 10.0.0.71

Reviewed by: glebius
MFC after: 2 weeks

3 years agoif_firewire: fixing panic upon packet reception for VNET build
Tai-hwa Liang [Sat, 10 Apr 2021 15:32:27 +0000 (15:32 +0000)]
if_firewire: fixing panic upon packet reception for VNET build

netisr_dispatch_src() needs valid VNET pointer or firewire_input() will panic
when receiving a packet.

Reviewed by: glebius
MFC after: 2 weeks

3 years agocaroot: reroll the remaining certs
Kyle Evans [Tue, 13 Apr 2021 21:51:47 +0000 (16:51 -0500)]
caroot: reroll the remaining certs

This adds a specific note that these are explicitly trusted for
server auth.

MFC after: 3 days

3 years agocaroot: remove certs distrusted for server auth
Kyle Evans [Tue, 30 Mar 2021 03:01:05 +0000 (22:01 -0500)]
caroot: remove certs distrusted for server auth

- Fifteen (15) removed

MFC after: 3 days

3 years agocaroot: update CA bundle processor
Kyle Evans [Tue, 30 Mar 2021 03:05:38 +0000 (22:05 -0500)]
caroot: update CA bundle processor

Our current processor was identified as trusting cert not explicitly
marked for SERVER_AUTH, as well as certs that were tagged with
DISTRUST_AFTER.

Update the script to handle both scenarios. This patch was originally
authored by mandree@ for ports, and it was subsequently ported to base
caroot.

MFC after: 3 days

3 years agocaroot: routine cert update
Kyle Evans [Tue, 30 Mar 2021 02:56:40 +0000 (21:56 -0500)]
caroot: routine cert update

- Three (3) added
- Two (2) removed

MFC after: 3 days

3 years agomalloc: Add state transitions for KASAN
Mark Johnston [Tue, 13 Apr 2021 21:40:27 +0000 (17:40 -0400)]
malloc: Add state transitions for KASAN

- Reuse some REDZONE bits to keep track of the requested and allocated
  sizes, and use that to provide red zones.
- As in UMA, disable memory trashing to avoid unnecessary CPU overhead.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29461

3 years agoexecve: Mark exec argument buffers
Mark Johnston [Tue, 13 Apr 2021 21:40:19 +0000 (17:40 -0400)]
execve: Mark exec argument buffers

We cache mapped execve argument buffers to avoid the overhead of TLB
shootdowns.  Mark them invalid when they are freed to the cache.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29460

3 years agovfs: Add KASAN state transitions for vnodes
Mark Johnston [Tue, 13 Apr 2021 21:40:11 +0000 (17:40 -0400)]
vfs: Add KASAN state transitions for vnodes

vnodes are a bit special in that they may exist on per-CPU lists even
while free.  Add a KASAN-only destructor that poisons regions of each
vnode that are not expected to be accessed after a free.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29459

3 years agokmem: Add KASAN state transitions
Mark Johnston [Tue, 13 Apr 2021 21:40:01 +0000 (17:40 -0400)]
kmem: Add KASAN state transitions

Memory allocated with kmem_* is unmapped upon free, so KASAN doesn't
provide a lot of benefit, but since allocations are always a multiple of
the page size we can create a redzone when the allocation request size
is not a multiple of the page size.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29458

3 years agokstack: Add KASAN state transitions
Mark Johnston [Tue, 13 Apr 2021 21:39:55 +0000 (17:39 -0400)]
kstack: Add KASAN state transitions

We allocate kernel stacks using a UMA cache zone.  Cache zones have
KASAN disabled by default, but in this case it makes sense to enable it.

Reviewed by: andrew
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D29457

3 years agouma: Add KASAN state transitions
Mark Johnston [Tue, 13 Apr 2021 21:39:50 +0000 (17:39 -0400)]
uma: Add KASAN state transitions

- Add a UMA_ZONE_NOKASAN flag to indicate that items from a particular
  zone should not be sanitized.  This is applied implicitly for NOFREE
  and cache zones.
- Add KASAN call backs which get invoked:
  1) when a slab is imported into a keg
  2) when an item is allocated from a zone
  3) when an item is freed to a zone
  4) when a slab is freed back to the VM

  In state transitions 1 and 3, memory is poisoned so that accesses will
  trigger a panic.  In state transitions 2 and 4, memory is marked
  valid.
- Disable trashing if KASAN is enabled.  It just adds extra CPU overhead
  to catch problems that are detected by KASAN.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29456

3 years agoamd64: Add MD bits for KASAN
Mark Johnston [Tue, 13 Apr 2021 21:39:35 +0000 (17:39 -0400)]
amd64: Add MD bits for KASAN

- Initialize KASAN before executing SYSINITs.
- Add a GENERIC-KASAN kernel config, akin to GENERIC-KCSAN.
- Increase the kernel stack size if KASAN is enabled.  Some of the
  ASAN instrumentation increases stack usage and it's enough to
  trigger stack overflows in ZFS.
- Mark the trapframe as valid in interrupt handlers if it is
  assigned to td_intr_frame.  Otherwise, an interrupt in a function
  which creates a poisoned alloca region can trigger false positives.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29455

3 years agoamd64: Implement a KASAN shadow map
Mark Johnston [Tue, 13 Apr 2021 20:30:05 +0000 (16:30 -0400)]
amd64: Implement a KASAN shadow map

The idea behind KASAN is to use a region of memory to track the validity
of buffers in the kernel map.  This region is the shadow map.  The
compiler inserts calls to the KASAN runtime for every emitted load
and store, and the runtime uses the shadow map to decide whether the
access is valid.  Various kernel allocators call kasan_mark() to update
the shadow map.

Since the shadow map tracks only accesses to the kernel map, accesses to
other kernel maps are not validated by KASAN.  UMA_MD_SMALL_ALLOC is
disabled when KASAN is configured to reduce usage of the direct map.
Currently we have no mechanism to completely eliminate uses of the
direct map, so KASAN's coverage is not comprehensive.

The shadow map uses one byte per eight bytes in the kernel map.  In
pmap_bootstrap() we create an initial set of page tables for the kernel
and preloaded data.

When pmap_growkernel() is called, we call kasan_shadow_map() to extend
the shadow map.  kasan_shadow_map() uses pmap_kasan_enter() to allocate
memory for the shadow region and map it.

Reviewed by: kib
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29417

3 years agoAdd the KASAN runtime
Mark Johnston [Tue, 13 Apr 2021 21:39:19 +0000 (17:39 -0400)]
Add the KASAN runtime

KASAN enables the use of LLVM's AddressSanitizer in the kernel.  This
feature makes use of compiler instrumentation to validate memory
accesses in the kernel and detect several types of bugs, including
use-after-frees and out-of-bounds accesses.  It is particularly
effective when combined with test suites or syzkaller.  KASAN has high
CPU and memory usage overhead and so is not suited for production
environments.

The runtime and pmap maintain a shadow of the kernel map to store
information about the validity of memory mapped at a given kernel
address.

The runtime implements a number of functions defined by the compiler
ABI.  These are prefixed by __asan.  The compiler emits calls to
__asan_load*() and __asan_store*() around memory accesses, and the
runtime consults the shadow map to determine whether a given access is
valid.

kasan_mark() is called by various kernel allocators to update state in
the shadow map.  Updates to those allocators will come in subsequent
commits.

The runtime also defines various interceptors.  Some low-level routines
are implemented in assembly and are thus not amenable to compiler
instrumentation.  To handle this, the runtime implements these routines
on behalf of the rest of the kernel.  The sanitizer implementation
validates memory accesses manually before handing off to the real
implementation.

The sanitizer in a KASAN-configured kernel can be disabled by setting
the loader tunable debug.kasan.disable=1.

Obtained from: NetBSD
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29416

3 years agoAdd a KASAN option to the kernel build
Mark Johnston [Tue, 13 Apr 2021 20:29:47 +0000 (16:29 -0400)]
Add a KASAN option to the kernel build

LLVM support for enabling KASAN has not yet landed so the option is not
yet usable, but hopefully this will change soon.

Reviewed by: imp, andrew
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29454

3 years agoRemove reference to the pfctlinput2() from domain(9) after 237c1f932b.
Dmitry Chagin [Tue, 13 Apr 2021 21:40:20 +0000 (00:40 +0300)]
Remove reference to the pfctlinput2() from domain(9) after 237c1f932b.

Reviewed by: glebius
MFC After: 1 week
Differential Revision: https://reviews.freebsd.org/D29751

3 years agoarm64: adjust comments in dbg_monitor_exit()
Mitchell Horne [Tue, 13 Apr 2021 17:34:58 +0000 (14:34 -0300)]
arm64: adjust comments in dbg_monitor_exit()

These comments were copied from dbg_monitor_enter(), but the intended
modifications weren't made. Update them to reflect what this code
actually does.

MFC after: 3 days
Sponsored by: The FreeBSD Foundation

3 years agoarm64: clear debug registers after execve(2)
Mitchell Horne [Fri, 9 Apr 2021 14:13:21 +0000 (11:13 -0300)]
arm64: clear debug registers after execve(2)

This is both intuitive and required, as any previous breakpoint settings
may not be applicable to the new process.

Reported by: arichardson
Reviewed by: kib
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29672

3 years agoFix race in case of device destruction.
Alexander Motin [Tue, 13 Apr 2021 15:19:10 +0000 (11:19 -0400)]
Fix race in case of device destruction.

During device destruction it is possible that open() succeed, but
fdevname() return NULL, that can't be assigned to string variable.
Fix that by adding explicit NULL check.

Also while there switch from fdevname() to fdevname_r().

Sponsored by: iXsystems, Inc.
MFC after: 2 weeks

3 years agonfs client: depend on xdr
Konstantin Belousov [Tue, 13 Apr 2021 11:47:20 +0000 (14:47 +0300)]
nfs client: depend on xdr

Since 7763814fc9c27 nfsrpc_setclient() uses mem_alloc() that is macro
around malloc(M_RPC).  M_RPC is provided by xdr.ko.

Reviewed by: rmacklem
Sponsored by: Mellanox Technologies/NVidia Networking
MFC after: 1 week

3 years agolinux: adjust ordering of Linux auxv and add dummy AT_HWCAP2
Edward Tomasz Napierala [Tue, 13 Apr 2021 11:38:37 +0000 (12:38 +0100)]
linux: adjust ordering of Linux auxv and add dummy AT_HWCAP2

This should be a no-op; the purpose of this is to reduce
a spurious difference between Linuxulator and Linux, to make
debugging core dumps slightly easier.

Note that AT_HWCAP2 we pass to Linux binaries is always 0,
instead of being equal to 'cpu_feature2'.  This matches what
I've observed under Ubuntu Focal VM.

Reviewed By: chuck, dchagin
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29609

3 years agoRemove history.immutable from .arcconfig
Alex Richardson [Tue, 13 Apr 2021 11:36:24 +0000 (12:36 +0100)]
Remove history.immutable from .arcconfig

The `history.immutable` setting prevents arcanist from updating
the commit messages with the Differential URL and therefore
makes updating patches awkward with a rebase workflow.

In case this new behaviour is not wanted the old one can be restored
by running `arc set-config --local history.immutable true`.

Test Plan: `arc diff --create HEAD^` adds the metadata now.

Reviewed By: #phabric-admin, imp, lwhsu
Differential Revision: https://reviews.freebsd.org/D27971

3 years agopf: Implement the NAT source port selection of MAP-E Customer Edge
Kurosawa Takahiro [Tue, 13 Apr 2021 08:50:00 +0000 (10:50 +0200)]
pf: Implement the NAT source port selection of MAP-E Customer Edge

MAP-E (RFC 7597) requires special care for selecting source ports
in NAT operation on the Customer Edge because a part of bits of the port
numbers are used by the Border Relay to distinguish another side of the
IPv4-over-IPv6 tunnel.

PR: 254577
Reviewed by: kp
Differential Revision: https://reviews.freebsd.org/D29468

3 years agoconfig(8): Correct the mentioned paper in the SEE ALSO section
Gordon Bergling [Tue, 13 Apr 2021 04:49:00 +0000 (06:49 +0200)]
config(8): Correct the mentioned paper in the SEE ALSO section

FreeBSD's version of the config(8) utility is based on 4.3BSD not
4.4BSD. So correct the mentioned paper in the SEE ALSO section.

Reported by: imp
Reviewed by: imp
X-MFC-with: 2b59392cb0da804e825c63469beb1934ec4267db
Differential Revision: https://reviews.freebsd.org/D29701

3 years agoroute(8): Add an example how to print the routing tables
Gordon Bergling [Tue, 13 Apr 2021 04:44:04 +0000 (06:44 +0200)]
route(8): Add an example how to print the routing tables

The manual page currently doesn't show an example how to print
the routing table, so add one and .Xr netstat while here.

PR: 231579
Reported by: Pekka Järvinen <pekka dot jarvinen at gmail dot com>
Reviewed by: debdrup
MFC after: 5 days
Differential Revision: https://reviews.freebsd.org/D29702

3 years agoSpellcheck.
John Baldwin [Mon, 12 Apr 2021 22:12:19 +0000 (15:12 -0700)]
Spellcheck.

Reported by: 0mp

3 years agocxgbe: Ignore doomed virtual interfaces when updating the clip table.
John Baldwin [Mon, 12 Apr 2021 21:36:40 +0000 (14:36 -0700)]
cxgbe: Ignore doomed virtual interfaces when updating the clip table.

A doomed VI does not have a valid ifnet.

Reported by: Jithesh Arakkan @ Chelsio
Reviewed by: np
MFC after: 1 week
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29662

3 years agoRELNOTES: Document removal of asym crypto from OCF.
John Baldwin [Mon, 12 Apr 2021 21:34:23 +0000 (14:34 -0700)]
RELNOTES: Document removal of asym crypto from OCF.

Sponsored by: Chelsio Communications

3 years agoOCF: Remove support for asymmetric cryptographic operations.
John Baldwin [Mon, 12 Apr 2021 21:27:42 +0000 (14:27 -0700)]
OCF: Remove support for asymmetric cryptographic operations.

There haven't been any non-obscure drivers that supported this
functionality and it has been impossible to test to ensure that it
still works.  The only known consumer of this interface was the engine
in OpenSSL < 1.1.  Modern OpenSSL versions do not include support for
this interface as it was not well-documented.

Reviewed by: cem
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29736

3 years agoiscsi: Kick threads out of iscsi_ioctl() during unload.
John Baldwin [Mon, 12 Apr 2021 20:56:16 +0000 (13:56 -0700)]
iscsi: Kick threads out of iscsi_ioctl() during unload.

iscsid can be sleeping in iscsi_ioctl() causing the destroy_dev() to
sleep forever if iscsi.ko is unloaded while iscsid is running.

Reported by: Jithesh Arakkan @ Chelsio
Reviewed by: mav
MFC after: 1 week
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29688

3 years agocxgbe: Add counters for iSCSI PDUs transmitted via TOE.
John Baldwin [Mon, 12 Apr 2021 20:56:04 +0000 (13:56 -0700)]
cxgbe: Add counters for iSCSI PDUs transmitted via TOE.

Reviewed by: np
MFC after: 1 week
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29297

3 years agohptrr: Move to using .o files
Warner Losh [Mon, 12 Apr 2021 19:41:25 +0000 (13:41 -0600)]
hptrr: Move to using .o files

Use .o files directly. Replace the .o.uu files that we uudecode with .o files.
Adjust the kernel and module build to cope.

Suggestions by: markj@, emaste@
Sposnored by:           Netflix, Inc
Differential Revision: https://reviews.freebsd.org/D29636

3 years agohptmv: use .o files directly
Warner Losh [Mon, 12 Apr 2021 19:41:20 +0000 (13:41 -0600)]
hptmv: use .o files directly

uudecode the .o.uu files and commit directly to the tree. Adjust the build
infrastructure to cope with the new location, both for the kernel and modules.

Sposnored by:           Netflix, Inc
Differential Revision: https://reviews.freebsd.org/D29635

3 years agohpt27xx: store the .o files directly in the tree
Warner Losh [Mon, 12 Apr 2021 19:41:14 +0000 (13:41 -0600)]
hpt27xx: store the .o files directly in the tree

Store the .o files directly in the tree. We no longer need to play uuencode
games like we did in the CVS days. Adjust the build infrastructure to match.

Reviewed by:            markj@
Sposnored by:           Netflix, Inc
Differential Revision: https://reviews.freebsd.org/D29634

3 years agohptnr: Store the .o files directly in the repo
Warner Losh [Mon, 12 Apr 2021 19:40:43 +0000 (13:40 -0600)]
hptnr: Store the .o files directly in the repo

We no longer need to use uuencode to uuencode files in our tree.  Store the .o
file directly instead. Adjust the build to cope with the new arrangement.

Suggestions by: emaste, bz, donner
Reviewed by: markm
Sposnored by: Netflix, Inc
Differential Revision: https://reviews.freebsd.org/D29632

3 years agobhyve: Move the gdb_active check to gdb_cpu_suspend().
John Baldwin [Mon, 12 Apr 2021 18:43:34 +0000 (11:43 -0700)]
bhyve: Move the gdb_active check to gdb_cpu_suspend().

The check needs to be in the public routine (gdb_cpu_suspend()), not
in the internal routine called from various places
(_gdb_cpu_suspend()).  All the other callers of _gdb_cpu_suspend()
already check gdb_active, and this breaks the use of snapshots when
the debug server is not enabled since gdb_cpu_suspend() tries to lock
an uninitialized mutex.

Reported by: Darius Mihai, Elena Mihailescu
Reviewed by: elenamihailescu22_gmail.com
Fixes: 621b5090487de9fed1b503769702a9a2a27cc7bb
Differential Revision: https://reviews.freebsd.org/D29538

3 years agopfctl, libpfctl: introduce pfctl_pool
Kurosawa Takahiro [Mon, 12 Apr 2021 14:03:40 +0000 (16:03 +0200)]
pfctl, libpfctl: introduce pfctl_pool

Introduce pfctl_pool to be able to extend the pool part of the pf rule
without breaking the ABI.

Reviewed by: kp
MFC after: 4 weeks
Differential Revision: https://reviews.freebsd.org/D29721

3 years agoMerge commit 'd0e943077d94e6266ece9856789c5d5313676e38'
Mark Johnston [Mon, 12 Apr 2021 15:29:47 +0000 (11:29 -0400)]
Merge commit 'd0e943077d94e6266ece9856789c5d5313676e38'

3 years agosyncache: simplify syncache_add() KPI to return struct socket pointer
Gleb Smirnoff [Fri, 19 Mar 2021 05:05:22 +0000 (22:05 -0700)]
syncache: simplify syncache_add() KPI to return struct socket pointer
directly, not overwriting the listen socket pointer argument.
Not a functional change.

3 years agoUpdate capsicum-test to ea66424d921bb393539b298c108a46edee5c3051
Mark Johnston [Mon, 12 Apr 2021 15:20:39 +0000 (11:20 -0400)]
Update capsicum-test to ea66424d921bb393539b298c108a46edee5c3051

This adds regression tests for a recent FreeBSD commit to restrict
certain socket operations in capability mode.

3 years agotcp_input/syncache: acquire only read lock on PCB for SYN,!ACK packets
Gleb Smirnoff [Fri, 19 Mar 2021 02:06:13 +0000 (19:06 -0700)]
tcp_input/syncache: acquire only read lock on PCB for SYN,!ACK packets

When packet is a SYN packet, we don't need to modify any existing PCB.
Normally SYN arrives on a listening socket, we either create a syncache
entry or generate syncookie, but we don't modify anything with the
listening socket or associated PCB. Thus create a new PCB lookup
mode - rlock if listening. This removes the primary contention point
under SYN flood - the listening socket PCB.

Sidenote: when SYN arrives on a synchronized connection, we still
don't need write access to PCB to send a challenge ACK or just to
drop. There is only one exclusion - tcptw recycling. However,
existing entanglement of tcp_input + stacks doesn't allow to make
this change small. Consider this patch as first approach to the problem.

Reviewed by: rrs
Differential revision: https://reviews.freebsd.org/D29576

3 years agobhyve: add SMBIOS Baseboard Information
Chuck Tuffli [Mon, 12 Apr 2021 15:09:52 +0000 (08:09 -0700)]
bhyve: add SMBIOS Baseboard Information

Add the System Management BIOS Baseboard (or Module) Information
a.k.a. Type 2 structure to the SMBIOS emulation.

Reviewed by: rgrimes, bcran, grehan
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D29657

3 years agormlock(9): add an RM_DUPOK flag
Mitchell Horne [Thu, 8 Apr 2021 17:41:19 +0000 (14:41 -0300)]
rmlock(9): add an RM_DUPOK flag

Allows for duplicate locks to be acquired without witness complaining.
Similar flags exists already for rwlock(9) and sx(9).

Reviewed by: markj
MFC after: 3 days
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
NetApp PR: 52
Differential Revision: https://reviews.freebsd.org/D29683n

3 years agorc: replace NETWORK with NETWORKING
Edward Tomasz Napierala [Mon, 5 Apr 2021 15:57:44 +0000 (16:57 +0100)]
rc: replace NETWORK with NETWORKING

This improves consistency; the NETWORKING script provides both,
so there should be no functional change.

Differential Revision: https://reviews.freebsd.org/D29587

3 years agorc: remove the 'archdep' script
Edward Tomasz Napierala [Mon, 12 Apr 2021 13:38:16 +0000 (14:38 +0100)]
rc: remove the 'archdep' script

It was unused since 405c3050f10, which removed iBCS support.

This also moves the 'linux' rc script slightly earlier, which
might help in some setups.  The original version of this patch
moved it even more, before 'mountcritlocal', which would fixe
mount(8) errors due to missing /dev/shm in setups with entries
for /path/to/chroot/dev/shm without the "late" flag; however,
in the end 'kldxref' turned out to depend on 'mountcritlocal'
anyway.

Reported By: pstef
Reviewed By: dchagin
Sponsored By: EPSRC
Differential Revision: https://reviews.freebsd.org/D29590

3 years agoFix build of stand/usb .
Hans Petter Selasky [Mon, 12 Apr 2021 14:12:18 +0000 (16:12 +0200)]
Fix build of stand/usb .

MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking

3 years agoRename struct device to struct _device
Mark Johnston [Mon, 12 Apr 2021 13:32:30 +0000 (09:32 -0400)]
Rename struct device to struct _device

types.h defines device_t as a typedef of struct device *.  struct device
is defined in subr_bus.c and almost all of the kernel uses device_t.
The LinuxKPI also defines a struct device, so type confusion can occur.

This causes bugs and ambiguity for debugging tools.  Rename the FreeBSD
struct device to struct _device.

Reviewed by: gbe (man pages)
Reviewed by: rpokala, imp, jhb
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29676

3 years agolinuxkpi: Fix pcie_set_readrq()
Mark Johnston [Mon, 12 Apr 2021 13:32:21 +0000 (09:32 -0400)]
linuxkpi: Fix pcie_set_readrq()

We were passing a LinuxKPI struct device * to a pci(4) function that
expects a device_t.

Reviewed by: manu, hselasky, bz
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29675

3 years agoqlnxr: Properly initialize the Linux device structure
Mark Johnston [Mon, 12 Apr 2021 13:32:08 +0000 (09:32 -0400)]
qlnxr: Properly initialize the Linux device structure

The driver needs to provide a LinuxKPI device structure to register
itself with the IB subsystem.  It was erroneously using a copy of its
FreeBSD device structure for this purpose.

Use linux_pci_attach_device() instead, following the example of the
Chelsio iwarp driver.  Also ensure that we don't leak the faked device
during detach.

Reviewed by: hselasky
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29595

3 years agocxgb: Use device_t in preference to struct device *
Mark Johnston [Mon, 12 Apr 2021 13:32:04 +0000 (09:32 -0400)]
cxgb: Use device_t in preference to struct device *

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

3 years agoal_eth: Use device_t in preference to struct device *
Mark Johnston [Mon, 12 Apr 2021 13:32:02 +0000 (09:32 -0400)]
al_eth: Use device_t in preference to struct device *

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

3 years agogenet: Use device_t in preference to struct device *
Mark Johnston [Mon, 12 Apr 2021 13:31:58 +0000 (09:31 -0400)]
genet: Use device_t in preference to struct device *

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

3 years agopf: Ensure that we don't use kif passed to pfi_kkif_attach()
Kristof Provost [Mon, 12 Apr 2021 09:45:48 +0000 (11:45 +0200)]
pf: Ensure that we don't use kif passed to pfi_kkif_attach()

Once a kif is passed to pfi_kkif_attach() we must ensure we never re-use
it for anything else.
Set the kif to NULL afterwards to guarantee this.

Reported-by: syzbot+be5d4f4a7a4c295e659a@syzkaller.appspotmail.com
MFC after: 4 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")

3 years agoRemove versatile support
Andrew Turner [Sun, 11 Apr 2021 13:26:50 +0000 (13:26 +0000)]
Remove versatile support

It was used for testing armv6 under QEMU, however since then we added
support for the QEMU virt platform.

Reviewed by: imp, manu
Differential Revision: https://reviews.freebsd.org/D29707

3 years agoCreate VM_MEMATTR_DEVICE on all architectures
Andrew Turner [Sat, 10 Apr 2021 07:59:29 +0000 (07:59 +0000)]
Create VM_MEMATTR_DEVICE on all architectures

This is intended to be used with memory mapped IO, e.g. from
bus_space_map with no flags, or pmap_mapdev.

Use this new memory type in the map request configured by
resource_init_map_request, and in pciconf.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D29692

3 years agocxgbe/tom: Fix potential leak in t4_aiotx_process_job.
Navdeep Parhar [Sun, 4 Apr 2021 22:04:31 +0000 (15:04 -0700)]
cxgbe/tom: Fix potential leak in t4_aiotx_process_job.

The mbuf allocated could be a chain and must be freed with m_freem.

Reviewed by: jhb@
MFC after: 1 week
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29579

3 years agonfsd: cut the Linux NFSv4.1/4.2 some slack w.r.t. RFC5661
Rick Macklem [Sun, 11 Apr 2021 23:51:25 +0000 (16:51 -0700)]
nfsd: cut the Linux NFSv4.1/4.2 some slack w.r.t. RFC5661

Recent testing of network partitioning a FreeBSD NFSv4.1
server from a Linux NFSv4.1 client identified problems
with both the FreeBSD server and Linux client.

Sometimes, after some Linux NFSv4.1/4.2 clients establish
a new TCP connection, they will advance the sequence number
for a session slot by 2 instead of 1.
RFC5661 specifies that a server should reply
NFS4ERR_SEQ_MISORDERED for this case.
This might result in a system call error in the client and
seems to disable future use of the slot by the client.
Since advancing the sequence number by 2 seems harmless,
allow this case if vfs.nfs.linuxseqsesshack is non-zero.

Note that, if the order of RPCs is actually reversed,
a subsequent RPC with a smaller sequence number value
for the slot will be received.  This will result in
a NFS4ERR_SEQ_MISORDERED reply.
This has not been observed during testing.
Setting vfs.nfs.linuxseqsesshack to 0 will provide
RFC5661 compliant behaviour.

This fix affects the fairly rare case where a NFSv4
Linux client does a TCP reconnect and then apparently
erroneously increments the sequence number for the
session slot twice during the reconnect cycle.

PR: 254816
MFC after: 2 weeks

3 years agohv_kbd: Fix leaked $FreeBSD$ expansion
Vladimir Kondratyev [Sun, 11 Apr 2021 23:16:22 +0000 (02:16 +0300)]
hv_kbd: Fix leaked $FreeBSD$ expansion

MFC with: c2a159286c76

3 years agohv_kbd: Add support for K_XLATE and K_CODE modes for gen 2 VMs
Vladimir Kondratyev [Sun, 11 Apr 2021 23:08:36 +0000 (02:08 +0300)]
hv_kbd: Add support for K_XLATE and K_CODE modes for gen 2 VMs

That fixes disabled keyboard input after Xorg server has been stopped.

Reviewed by: whu
MFC after: 1 month
Differential revision: https://reviews.freebsd.org/D28171

3 years agohv_kbd: Add evdev protocol support for gen 2 VMs
Vladimir Kondratyev [Sun, 11 Apr 2021 23:07:35 +0000 (02:07 +0300)]
hv_kbd: Add evdev protocol support for gen 2 VMs

Reviewed by: whu
MFC after: 1 month
Differential revision: https://reviews.freebsd.org/D28170

3 years agoAdd a note to indicate "don't run the nfscbd(8) without this patch.
Rick Macklem [Sun, 11 Apr 2021 22:14:47 +0000 (15:14 -0700)]
Add a note to indicate "don't run the nfscbd(8) without this patch.

3 years agosetclassenvironment: trim leading spaces in variable names
Yuri Pankov [Sun, 11 Apr 2021 22:02:12 +0000 (01:02 +0300)]
setclassenvironment: trim leading spaces in variable names

Trim leading spaces in variable names when the list is e.g.
pretty-formatted in /etc/login.conf or ~/.login_conf.

PR: 247947
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D25649

3 years agoAdd an UPDATING entry for commit 7763814fc9c2
Rick Macklem [Sun, 11 Apr 2021 21:59:11 +0000 (14:59 -0700)]
Add an UPDATING entry for commit 7763814fc9c2

3 years agoparam.h: bump __FreeBSD_version for commit 7763814fc9c2
Rick Macklem [Sun, 11 Apr 2021 21:47:36 +0000 (14:47 -0700)]
param.h: bump __FreeBSD_version for commit 7763814fc9c2

Commit 7763814fc9c2 changed the internal KAPI between the krpc
and NFS.  As such, the krpc, nfscommon and nfscl modules must
all be rebuilt from sources.

3 years agoee: restore the stdin/stdout terminal check
Yuri Pankov [Sun, 11 Apr 2021 21:44:29 +0000 (00:44 +0300)]
ee: restore the stdin/stdout terminal check

This seems to have been lost during updates from upstream, and
was reported (on IRC) as a nice feature to have (again).

Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D28689

3 years agonfsv4 client: do the BindConnectionToSession as required
Rick Macklem [Sun, 11 Apr 2021 21:34:57 +0000 (14:34 -0700)]
nfsv4 client: do the BindConnectionToSession as required

During a recent testing event, it was reported that the NFSv4.1/4.2
server erroneously bound the back channel to a new TCP connection.
RFC5661 specifies that the fore channel is implicitly bound to a
new TCP connection when an RPC with Sequence (almost any of them)
is done on it.  For the back channel to be bound to the new TCP
connection, an explicit BindConnectionToSession must be done as
the first RPC on the new connection.

Since new TCP connections are created by the "reconnect" layer
(sys/rpc/clnt_rc.c) of the krpc, this patch adds an optional
upcall done by the krpc whenever a new connection is created.
The patch also adds the specific upcall function that does a
BindConnectionToSession and configures the krpc to call it
when required.

This is necessary for correct interoperability with NFSv4.1/NFSv4.2
servers when the nfscbd daemon is running.

If doing NFSv4.1/NFSv4.2 mounts without this patch, it is
recommended that the nfscbd daemon not be running and that
the "pnfs" mount option not be specified.

PR: 254840
Comments by: asomers
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D29475

3 years agonetmap: don't use linux type struct device *
Vincenzo Maffione [Sun, 11 Apr 2021 21:06:43 +0000 (21:06 +0000)]
netmap: don't use linux type struct device *

Such type cannot be used in code that is in common between
FreeBSD and Linux. Use the FreeBSD type instead.

MFC after: 3 days
Reported by: markj
Differential Revision: https://reviews.freebsd.org/D29677

3 years agoObsoleteFiles.inc: Add comment regarding optional files
Stefan Eßer [Sun, 11 Apr 2021 21:00:39 +0000 (23:00 +0200)]
ObsoleteFiles.inc: Add comment regarding optional files

I had added entries that depended on some build option to this file
and have been informed, that those go into a different file in another
directory.

Mentioning /usr/src/tools/build/mk/OptionalObsoleteFiles.inc in this
file should help other committers (and me) to not repeat that mistake.

MFC after: 1 week

3 years agoacpi(4): mention NONE as possible setting for hw.acpi.power_button_state
Yuri Pankov [Sun, 11 Apr 2021 20:17:06 +0000 (23:17 +0300)]
acpi(4): mention NONE as possible setting for hw.acpi.power_button_state

Reviewed by: manpages (gbe)
Differential Revision: https://reviews.freebsd.org/D29577