]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoRemove gzip'ed a.out support.
delphij [Tue, 30 Jul 2019 05:13:16 +0000 (05:13 +0000)]
Remove gzip'ed a.out support.

The current implementation of gzipped a.out support was based
on a very old version of InfoZIP which ships with an ancient
modified version of zlib, and was removed from the GENERIC
kernel in 1999 when we moved to an ELF world.

PR: 205822
Reviewed by: imp, kib, emaste, Yoshihiro Ota <ota at j.email.ne.jp>
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D21099

4 years agoFix sound on headset jack for ALC255 and ALC256 codec.
araujo [Tue, 30 Jul 2019 02:01:49 +0000 (02:01 +0000)]
Fix sound on headset jack for ALC255 and ALC256 codec.

PR: 219350 [1], [2]
Submitted by: Masachika ISHIZUKA (ish_at_amail.plala.or.jp) [1]
Neel Chauhan (neel_at_neelc.org) [2]
uri Momotyuk (yurkis_at_gmail.com) [3]
Reported by: miwi
Reviewed by: mav
Obtained from: https://github.com/trueos/trueos/pull/279 [3]
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19017

4 years agoMerge r3778 and r3779 from ELFToolchain.
markj [Mon, 29 Jul 2019 22:07:43 +0000 (22:07 +0000)]
Merge r3778 and r3779 from ELFToolchain.

Modify strip(1) to not accept multiple input files when an output
file is specified.  There is no good way to handle this combination,
and the change is compatible with binutils.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoCentralize the logic in vfs_vmio_unwire() and sendfile_free_page().
markj [Mon, 29 Jul 2019 22:01:28 +0000 (22:01 +0000)]
Centralize the logic in vfs_vmio_unwire() and sendfile_free_page().

Both of these functions atomically unwire a page, optionally attempt
to free the page, and enqueue or requeue the page.  Add functions
vm_page_release() and vm_page_release_locked() to perform the same task.
The latter must be called with the page's object lock held.

As a side effect of this refactoring, the buffer cache will no longer
attempt to free mapped pages when completing direct I/O.  This is
consistent with the handling of pages by sendfile(SF_NOCACHE).

Reviewed by: alc, kib
MFC after: 2 weeks
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D20986

4 years agoseqc: add man page
oshogbo [Mon, 29 Jul 2019 21:53:02 +0000 (21:53 +0000)]
seqc: add man page

Reviewed by: markj
Earlier version reviewed by: emaste, mjg, bcr, 0mp
Differential Revision: https://reviews.freebsd.org/D16744

4 years agoproc: make clear_orphan an public API
oshogbo [Mon, 29 Jul 2019 21:42:57 +0000 (21:42 +0000)]
proc: make clear_orphan an public API

This will be useful for other patches with process descriptors.
Change its name as well.

Reviewed by: markj, kib

4 years agolibcasper: remove reference to deprecated system.random
oshogbo [Mon, 29 Jul 2019 21:26:26 +0000 (21:26 +0000)]
libcasper: remove reference to deprecated system.random

4 years agoHave arm64's pmap_fault() handle WnR faults on dirty PTEs.
markj [Mon, 29 Jul 2019 21:21:53 +0000 (21:21 +0000)]
Have arm64's pmap_fault() handle WnR faults on dirty PTEs.

If we take a WnR permission fault on a managed, writeable and dirty
PTE, simply return success without calling the main fault handler.  This
situation can occur if multiple threads simultaneously access a clean
writeable mapping and trigger WnR faults; losers of the race to mark the
PTE dirty would end up calling the main fault handler, which had no work
to do.

Reported by: alc
Reviewed by: alc
MFC with: r350004
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21097

4 years agosendfile: don't panic when VOP_GETPAGES_ASYNC returns an error
asomers [Mon, 29 Jul 2019 20:50:26 +0000 (20:50 +0000)]
sendfile: don't panic when VOP_GETPAGES_ASYNC returns an error

This is a partial merge of 350144 from projects/fuse2

PR: 236466
Reviewed by: markj
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21095

4 years agoprintf(1): Note that \c only works in %b strings
jilles [Mon, 29 Jul 2019 20:43:07 +0000 (20:43 +0000)]
printf(1): Note that \c only works in %b strings

PR: 238313
Reported by: Andras Farkas
MFC after: 1 week

4 years agoUse present now scsi_mode_sense_subpage().
mav [Mon, 29 Jul 2019 20:41:11 +0000 (20:41 +0000)]
Use present now scsi_mode_sense_subpage().

MFC after: 2 weeks

4 years agoRemove a duplicate file listing in the libarchive tests.
markj [Mon, 29 Jul 2019 20:37:04 +0000 (20:37 +0000)]
Remove a duplicate file listing in the libarchive tests.

MFC after: 3 days

4 years agoRemove an unneeded trunc_page() in pmap_fault().
markj [Mon, 29 Jul 2019 20:31:28 +0000 (20:31 +0000)]
Remove an unneeded trunc_page() in pmap_fault().

Reported by: alc
MFC with: r350004
Sponsored by: The FreeBSD Foundation

4 years agoAvoid relying on header pollution from sys/refcount.h.
markj [Mon, 29 Jul 2019 20:26:01 +0000 (20:26 +0000)]
Avoid relying on header pollution from sys/refcount.h.

MFC after: 3 days
Sponsored by: The FreeBSD Foundation

4 years agoAdd mkostempsat(3).
markj [Mon, 29 Jul 2019 19:02:16 +0000 (19:02 +0000)]
Add mkostempsat(3).

This is a variant of mkostemps() which takes a directory descriptor and
returns a descriptor for a tempfile relative to that directory.  Unlike
the other mktemp functions, mkostempsat() can be used in capability
mode.

Reviewed by: cem
Discussed with: brooks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21031

4 years agoAdd glue driver for Altera SOCFPGA Ethernet MAC (EMAC) found in
br [Mon, 29 Jul 2019 16:32:23 +0000 (16:32 +0000)]
Add glue driver for Altera SOCFPGA Ethernet MAC (EMAC) found in
Terasic DE10-Pro (an Intel Stratix 10 GX/SX FPGA Development Kit).

The Altera EMAC is an instance of Synopsys DesignWare Gigabit MAC.

This driver sets correct clock range for MDIO interface on Intel Stratix 10
platform.

This is required due to lack of support for clock manager device for
this platform that could tell us the clock frequency value for ethernet
clock domain.

Sponsored by: DARPA, AFRL

4 years agodd ipfw_get_action() function to get the pointer to action opcode.
ae [Mon, 29 Jul 2019 15:09:12 +0000 (15:09 +0000)]
dd ipfw_get_action() function to get the pointer to action opcode.

ACTION_PTR() returns pointer to the start of rule action section,
but rule can keep several rule modifiers like O_LOG, O_TAG and O_ALTQ,
and only then real action opcode is stored.

ipfw_get_action() function inspects the rule action section, skips
all modifiers and returns action opcode.

Use this function in ipfw_reset_eaction() and flush_nat_ptrs().

MFC after: 1 week
Sponsored by: Yandex LLC

4 years agoriscv: Fix copyin/copyout
kp [Mon, 29 Jul 2019 14:59:14 +0000 (14:59 +0000)]
riscv: Fix copyin/copyout

r343275 introduced a performance optimisation to the copyin/copyout
routines by attempting to copy word-per-word rather than byte-per-byte
where possible.

This optimisation failed to account for cases where the buffer is longer
than XLEN_BYTES, but due to misalignment does not not allow for any
word-sized copies. E.g. a 9 byte buffer (with XLEN_BYTES == 8) which is
misaligned by 2 bytes. The code nevertheless did a single full-word
copy, which meant we copied too much data. This potentially clobbered
other data.

This is most easily demonstrated by a simple `sysctl -a`.

Fix it by not assuming that we'll always have at least one full-word
copy to do, but instead checking the remaining length first.

Reviewed by: markj@, mhorne@, br@ (previous version)
MFC after: 1 week
Sponsored by: Axiado
Differential Revision: https://reviews.freebsd.org/D21100

4 years agoFind the correct node of PHY chip using "phy-handle" property of
br [Mon, 29 Jul 2019 14:58:29 +0000 (14:58 +0000)]
Find the correct node of PHY chip using "phy-handle" property of
ethernet MAC node.

This fixes operation on Terasic DE10-Pro (Intel Stratix 10 GX/SX
FPGA Development Kit).

Sponsored by: DARPA, AFRL

4 years agopf: Remove partial RFC2675 support
kp [Mon, 29 Jul 2019 13:21:31 +0000 (13:21 +0000)]
pf: Remove partial RFC2675 support

Remove our (very partial) support for RFC2675 Jumbograms. They're not
used, not actually supported and not a good idea.

Reviewed by: thj@
Differential Revision: https://reviews.freebsd.org/D21086

4 years agoAvoid possible lock leaking.
ae [Mon, 29 Jul 2019 12:55:48 +0000 (12:55 +0000)]
Avoid possible lock leaking.

After r343619 ipfw uses own locking for packets flow. PULLUP_LEN() macro
is used in ipfw_chk() to make m_pullup(). When m_pullup() fails, it just
returns via `goto pullup_failed`. There are two places where PULLUP_LEN()
is called with IPFW_PF_RLOCK() held.

Add PULLUP_LEN_LOCKED() macro to use in these places to be able release
the lock, when m_pullup() fails.

Sponsored by: Yandex LLC

4 years agoarm: ti: cpsw: Check the new slave node address
manu [Mon, 29 Jul 2019 10:42:15 +0000 (10:42 +0000)]
arm: ti: cpsw: Check the new slave node address

Since DTS from >= Linux 5.0 the slave address are relative to the parent
node address and aren't the full ones.
Check both so the cpsw driver can find the phy id.

4 years agoarm: ti: Get the hwmods property either from the node or the parent
manu [Mon, 29 Jul 2019 10:40:51 +0000 (10:40 +0000)]
arm: ti: Get the hwmods property either from the node or the parent

r350229 changed the code to lookup the ti,hwmods property in the parent
as it's now like that in the DTS from >= Linux 5.0, allow the property
to be also in the node itself so we can boot with an older DTB.

Reported by: "Dr. Rolf Jansen" <rj@obsigna.com>

4 years agoWhen performing after_idle() or post_recovery(), don't disable the
tuexen [Mon, 29 Jul 2019 09:19:48 +0000 (09:19 +0000)]
When performing after_idle() or post_recovery(), don't disable the
DCTCP specific methods. Also fallthrough NewReno for non ECN capable
TCP connections and improve the integer arithmetic.

Obtained from: Richard Scheffenegger
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D20550

4 years ago* Improve input validation of sysctl parameters for DCTPC.
tuexen [Mon, 29 Jul 2019 08:50:35 +0000 (08:50 +0000)]
* Improve input validation of sysctl parameters for DCTPC.
* Initialize the alpha parameter to a conservative value (like Linux)
* Improve handling of arithmetic.
* Improve man-page

Obtained from: Richard Scheffenegger
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D20549

4 years agoAdd some new fields and bits from NVMe 1.4.
mav [Mon, 29 Jul 2019 03:28:46 +0000 (03:28 +0000)]
Add some new fields and bits from NVMe 1.4.

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

4 years agoAdd support for tethering with Nokia 7 plus and the alike.
hselasky [Sun, 28 Jul 2019 21:47:04 +0000 (21:47 +0000)]
Add support for tethering with Nokia 7 plus and the alike.

PR: 239495
MFC after: 1 week
Sponsored by: Mellanox Technologies

4 years agoFix printing of Server Re-Failed and Server Faults.
rmacklem [Sun, 28 Jul 2019 21:44:01 +0000 (21:44 +0000)]
Fix printing of Server Re-Failed and Server Faults.

nfsstat -s prints bogus large numbers for the Server Re-Failed and Server
Faults fields. This was introduced by r328588.
Although I know nothing about libxo, these lines aren't titles and this
patch seems to fix the problem, so I am committing it for rea@ who emailed
it to me.
It also deleted the trailing ':' from the title lines, since those were not
in the pre-r328588 output.

If there is a more correct fix, someone conversant with libxo will need
to do so.

Submitted by: rea
MFC after: 2 weeks

4 years agoDecode some more IDENTIFY DEVICE bits.
mav [Sun, 28 Jul 2019 20:17:40 +0000 (20:17 +0000)]
Decode some more IDENTIFY DEVICE bits.

MFC after: 2 weeks

4 years agoIn swap_pager_putpages, move the initialization of a free-blocks
dougm [Sun, 28 Jul 2019 19:32:23 +0000 (19:32 +0000)]
In swap_pager_putpages, move the initialization of a free-blocks
counter, and the final freeing of freed swap blocks, outside the
region where an object lock is held.  Correct some style(9) and
spelling errors.  Change a panic() to a KASSERT().  Change a boolean_t
to a bool.

Suggested by: alc
Reviewed by: alc
Approved by: kib, markj (mentors)
Differential Revision: https://reviews.freebsd.org/D21093

4 years agoBetter comments for vlrureclaim
asomers [Sun, 28 Jul 2019 16:07:27 +0000 (16:07 +0000)]
Better comments for vlrureclaim

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agoAdd v_inval_buf_range, like vtruncbuf but for a range of a file
asomers [Sun, 28 Jul 2019 00:48:28 +0000 (00:48 +0000)]
Add v_inval_buf_range, like vtruncbuf but for a range of a file

v_inval_buf_range invalidates all buffers within a certain LBA range of a
file. It will be used by fusefs(5). This commit is a partial merge of
r346162, r346606, and r346756 from projects/fuse2.

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

4 years agoReenable UNMAP support on ramdisks by default.
mav [Sat, 27 Jul 2019 18:07:46 +0000 (18:07 +0000)]
Reenable UNMAP support on ramdisks by default.

For some reason, I guess just mechanical editing, it was disable in r333446.

MFC after: 2 weeks

4 years agoAllow WRITE SAME handle more then 2^^32 blocks.
mav [Sat, 27 Jul 2019 17:27:26 +0000 (17:27 +0000)]
Allow WRITE SAME handle more then 2^^32 blocks.

If not limited by write_same_max_lba option, split operation into several
2^^31 blocks chunks in a loop.  For large disks it may take a while, so
setting write_same_max_lba may be useful to avoid timeouts.

While there, fix build with CAM_CTL_DEBUG.

MFC after: 2 weeks

4 years agoRemove support for kernel.tramp and kernel.tramp.gz
imp [Sat, 27 Jul 2019 17:24:19 +0000 (17:24 +0000)]
Remove support for kernel.tramp and kernel.tramp.gz

Nothing uses these anymore. They were for super small armv4 boards without
uboot. We removed armv4 support before 13.0, but neglected to garbage collect
this at the same time. Today, both flavors of armv5 kernels (mv and ralink) boot
via uboot which has its own compression scheme for boards that need it.

Note: OLDFILES has not been updated beacuse installkernel will move the whole
directory out of the way before installing the new kernel.

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

4 years agoarm: Fix TEGRA124 kernel
manu [Sat, 27 Jul 2019 15:04:10 +0000 (15:04 +0000)]
arm: Fix TEGRA124 kernel

Since r350162 device syscon is needed for sdhci driver.
Add it to the config file.

Reported by: dim

4 years agosfxge(4): unify power of 2 alignment check macro
arybchik [Sat, 27 Jul 2019 09:36:45 +0000 (09:36 +0000)]
sfxge(4): unify power of 2 alignment check macro

Substitute driver-defined IS_P2ALIGNED() with EFX_IS_P2ALIGNED()
defined in libefx.

Add type argument and cast value and alignment to one specified type.

Reported by:    Andrea Valsania <andrea.valsania at answervad.it>
Reviewed by:    philip
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D21076

4 years agosfxge(4): fix align to power of 2 when align has smaller type
arybchik [Sat, 27 Jul 2019 09:36:36 +0000 (09:36 +0000)]
sfxge(4): fix align to power of 2 when align has smaller type

Substitute driver-defined P2ALIGN() with EFX_P2ALIGN() defined in
libefx.

Cast value and alignment to one specified type to guarantee result
correctness.

Reported by:    Andrea Valsania <andrea.valsania at answervad.it>
Reviewed by: philip
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D21075

4 years agosfxge(4): fix power of 2 round up when align has smaller type
arybchik [Sat, 27 Jul 2019 09:36:27 +0000 (09:36 +0000)]
sfxge(4): fix power of 2 round up when align has smaller type

Substitute driver-defined P2ROUNDUP() h with EFX_P2ROUNDUP()
defined in libefx.

Cast value and alignment to one specified type to guarantee result
correctness.

Reported by: Andrea Valsania <andrea.valsania at answervad.it>
Reviewed by:    philip
Sponsored by:   Solarflare Communications, Inc.
MFC after:      2 days
Differential Revision:  https://reviews.freebsd.org/D21074

4 years agoLock the vnode before calling ufs_bmap_seekdata().
rmacklem [Sat, 27 Jul 2019 01:52:34 +0000 (01:52 +0000)]
Lock the vnode before calling ufs_bmap_seekdata().

r346932 replaced a call to vn_bmap_seekhole() with a call to
ufs_bmap_seekdata(). Although vn_bmap_seekhole() locks the vnode,
ufs_bmap_seekdata() assumes it is already locked.
This patch adds locking of the vnode before the ufs_bmap_seekdata() call.
If the vn_lock() call fails, it returns EBADF since that is the normal
error returned when a file system is forced dismounted and is already
listed as an error return in the lseek(2) man page.

Discussed with: markj
Reviewed by: kib

4 years agovirtio: Fix running on machines with memory above 0xffffffff
kp [Fri, 26 Jul 2019 19:16:02 +0000 (19:16 +0000)]
virtio: Fix running on machines with memory above 0xffffffff

We want to allocate a contiguous memory block anywhere in memory, but
expressed this as having to be between 0 and 0xffffffff. This limits us
on 64-bit machines, and outright breaks on machines where memory is
mapped above that address range.

Allow the full address range to be used for this allocation.

Sponsored by: Axiado

4 years agoAdd support for Long LBA mode parameter block descriptor.
mav [Fri, 26 Jul 2019 19:14:12 +0000 (19:14 +0000)]
Add support for Long LBA mode parameter block descriptor.

It is formally required for SBC Base 2016 feature set.

MFC after: 2 weeks

4 years agoPull in r366369 from upstream llvm trunk (by Francis Visoiu Mistrih):
dim [Fri, 26 Jul 2019 18:49:20 +0000 (18:49 +0000)]
Pull in r366369 from upstream llvm trunk (by Francis Visoiu Mistrih):

  [CodeGen][NFC] Simplify checks for stack protector index checking

  Use `hasStackProtectorIndex()` instead of `getStackProtectorIndex()
  >= 0`.

Pull in r366371 from upstream llvm trunk (by Francis Visoiu Mistrih):

  [PEI] Don't re-allocate a pre-allocated stack protector slot

  The LocalStackSlotPass pre-allocates a stack protector and makes sure
  that it comes before the local variables on the stack.

  We need to make sure that later during PEI we don't re-allocate a new
  stack protector slot. If that happens, the new stack protector slot
  will end up being **after** the local variables that it should be
  protecting.

  Therefore, we would have two slots assigned for two different stack
  protectors, one at the top of the stack, and one at the bottom. Since
  PEI will overwrite the assigned slot for the stack protector, the
  load that is used to compare the value of the stack protector will
  use the slot assigned by PEI, which is wrong.

  For this, we need to check if the object is pre-allocated, and re-use
  that pre-allocated slot.

  Differential Revision: https://reviews.llvm.org/D64757

Pull in r367068 from upstream llvm trunk (by Francis Visoiu Mistrih):

  [CodeGen] Don't resolve the stack protector frame accesses until PEI

  Currently, stack protector loads and stores are resolved during
  LocalStackSlotAllocation (if the pass needs to run). When this is the
  case, the base register assigned to the frame access is going to be
  one of the vregs created during LocalStackSlotAllocation. This means
  that we are keeping a pointer to the stack protector slot, and we're
  using this pointer to load and store to it.

  In case register pressure goes up, we may end up spilling this
  pointer to the stack, which can be a security concern.

  Instead, leave it to PEI to resolve the frame accesses. In order to
  do that, we make all stack protector accesses go through frame index
  operands, then PEI will resolve this using an offset from sp/fp/bp.

  Differential Revision: https://reviews.llvm.org/D64759

Together, these fix a issue where the stack protection feature in LLVM's
ARM backend can be rendered ineffective when the stack protector slot is
re-allocated so that it appears after the local variables that it is
meant to protect, leaving the function potentially vulnerable to a
stack-based buffer overflow.

Reported by: andrew
Security: https://kb.cert.org/vuls/id/129209/
MFC after: 3 days

4 years agoRe-wrap the text at 80 columns after fixing the indent in the prior commit.
ian [Fri, 26 Jul 2019 17:58:46 +0000 (17:58 +0000)]
Re-wrap the text at 80 columns after fixing the indent in the prior commit.

4 years agoMerge libcxxrt master f96846efbfd508f66d91fcbbef5dd808947c7f6d.
dim [Fri, 26 Jul 2019 16:55:06 +0000 (16:55 +0000)]
Merge libcxxrt master f96846efbfd508f66d91fcbbef5dd808947c7f6d.

Interesting fixes:
f96846e Fix std::size_t -> size_t to unbreak build against libc++ 6.0.0
6f4cfa2 Fix the uncaught exception count with rethrowing (PR 239265)
db54f53 Added C++14-specific operator delete (#47)

PR: 239265
MFC after: 3 days

4 years agoRewrite the comments that explain swapon_trim() to make them more
dougm [Fri, 26 Jul 2019 15:18:11 +0000 (15:18 +0000)]
Rewrite the comments that explain swapon_trim() to make them more
comprehensible.

Suggested by: rpokala
Approved by: markj (mentor)
Differential Revision: https://reviews.freebsd.org/D21034

4 years agoFix a bug introduced with parallel mounting of zfs
bapt [Fri, 26 Jul 2019 13:12:33 +0000 (13:12 +0000)]
Fix a bug introduced with parallel mounting of zfs

Incorporate a fix from zol:
https://github.com/zfsonlinux/zfs/commit/ab5036df1ccbe1b18c1ce6160b5829e8039d94ce

commit log from upstream:
 Fix race in parallel mount's thread dispatching algorithm

Strategy of parallel mount is as follows.

1) Initial thread dispatching is to select sets of mount points that
 don't have dependencies on other sets, hence threads can/should run
 lock-less and shouldn't race with other threads for other sets. Each
 thread dispatched corresponds to top level directory which may or may
 not have datasets to be mounted on sub directories.

2) Subsequent recursive thread dispatching for each thread from 1)
 is to mount datasets for each set of mount points. The mount points
 within each set have dependencies (i.e. child directories), so child
 directories are processed only after parent directory completes.

The problem is that the initial thread dispatching in
zfs_foreach_mountpoint() can be multi-threaded when it needs to be
single-threaded, and this puts threads under race condition. This race
appeared as mount/unmount issues on ZoL for ZoL having different
timing regarding mount(2) execution due to fork(2)/exec(2) of mount(8).
`zfs unmount -a` which expects proper mount order can't unmount if the
mounts were reordered by the race condition.

There are currently two known patterns of input list `handles` in
`zfs_foreach_mountpoint(..,handles,..)` which cause the race condition.

1) #8833 case where input is `/a /a /a/b` after sorting.
 The problem is that libzfs_path_contains() can't correctly handle an
 input list with two same top level directories.
 There is a race between two POSIX threads A and B,
  * ThreadA for "/a" for test1 and "/a/b"
  * ThreadB for "/a" for test0/a
 and in case of #8833, ThreadA won the race. Two threads were created
 because "/a" wasn't considered as `"/a" contains "/a"`.

2) #8450 case where input is `/ /var/data /var/data/test` after sorting.
 The problem is that libzfs_path_contains() can't correctly handle an
 input list containing "/".
 There is a race between two POSIX threads A and B,
  * ThreadA for "/" and "/var/data/test"
  * ThreadB for "/var/data"
 and in case of #8450, ThreadA won the race. Two threads were created
 because "/var/data" wasn't considered as `"/" contains "/var/data"`.
 In other words, if there is (at least one) "/" in the input list,
 the initial thread dispatching must be single-threaded since every
 directory is a child of "/", meaning they all directly or indirectly
 depend on "/".

In both cases, the first non_descendant_idx() call fails to correctly
determine "path1-contains-path2", and as a result the initial thread
dispatching creates another thread when it needs to be single-threaded.
Fix a conditional in libzfs_path_contains() to consider above two.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
PR: 237517, 237397, 239243
Submitted by: Matthew D. Fuller <fullermd@over-yonder.net> (by email)
MFC after: 3 days

4 years agoUpdate mandoc to cvs snapshot 2019-07-23
bapt [Fri, 26 Jul 2019 10:00:33 +0000 (10:00 +0000)]
Update mandoc to cvs snapshot 2019-07-23

This snapshot among other things includes a fix for a crash of mandoc with empty
tbl reported by rea@ (his regression test has been incorporated upstream)

MFC after: 3 weeks

4 years agoImplement pmap_advise(). (Without a working pmap_advise() implementation
alc [Fri, 26 Jul 2019 05:07:09 +0000 (05:07 +0000)]
Implement pmap_advise().  (Without a working pmap_advise() implementation
madvise(MADV_DONTNEED) and madvise(MADV_FREE) are NOPs.)

Reviewed by: markj
X-MFC after: r350004
Differential Revision: https://reviews.freebsd.org/D21062

4 years agoAdd device temperature reporting into CTL.
mav [Fri, 26 Jul 2019 03:49:16 +0000 (03:49 +0000)]
Add device temperature reporting into CTL.

The values to report can be set via LUN options.  It can be useful for
testing, and also required for Drive Maintenance 2016 feature set.

MFC after: 2 weeks

4 years agoAdd reporting of SCSI Feature Sets VPD page from SPC-5.
mav [Fri, 26 Jul 2019 01:49:28 +0000 (01:49 +0000)]
Add reporting of SCSI Feature Sets VPD page from SPC-5.

CTL implements all defined feature sets except Drive Maintenance 2016,
which is not very applicable to such a virtual device, and implemented
only partially now.  But may be it could be fixed later at least for
completeness.

MFC after: 2 weeks

4 years agoif_tuntap(4): Add TUNGIFNAME
kevans [Thu, 25 Jul 2019 22:23:34 +0000 (22:23 +0000)]
if_tuntap(4): Add TUNGIFNAME

This effectively just moves TAPGIFNAME into common ioctl territory.

MFC after: 3 days

4 years agoSimplify the handling of superpages in pmap_clear_modify(). Specifically,
alc [Thu, 25 Jul 2019 22:02:55 +0000 (22:02 +0000)]
Simplify the handling of superpages in pmap_clear_modify().  Specifically,
if a demotion succeeds, then all of the 4KB page mappings within the
superpage-sized region must be valid, so there is no point in testing the
validity of the 4KB page mapping that is going to be write protected.

Deindent the nearby code.

Reviewed by: kib, markj
Tested by: pho (amd64, i386)
X-MFC after: r350004 (this change depends on arm64 dirty bit emulation)
Differential Revision: https://reviews.freebsd.org/D21027

4 years agoWiden the type for to.
imp [Thu, 25 Jul 2019 20:26:21 +0000 (20:26 +0000)]
Widen the type for to.

The timeout field in the CAPS register is defined to be 8 bits, so its type was
uint8_t. We recently started adding 1 to it to cope with rogue devices that
listed 0 timeout time (which is impossible). However, in so doing, other devices
that list 0xff (for a 2 minute timeout) were broken when adding 1
overflowed. Widen the type to be uint32_t like its source register to avoid the
issue.

Reported by: bapt@

4 years agoMake `camcontrol sanitize` support also ATA devices.
mav [Thu, 25 Jul 2019 18:48:31 +0000 (18:48 +0000)]
Make `camcontrol sanitize` support also ATA devices.

ATA sanitize is functionally identical to SCSI, just uses different
initiation commands and status reporting mechanism.

While there, make kernel better handle sanitize commands and statuses.

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

4 years agolibsysdecode: use the proper include directory
emaste [Thu, 25 Jul 2019 17:10:17 +0000 (17:10 +0000)]
libsysdecode: use the proper include directory

Reported by: cy
Reviewed by: lwhsu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21068

4 years agoFix grammar nit in copy_file_range docs
bjk [Thu, 25 Jul 2019 15:43:15 +0000 (15:43 +0000)]
Fix grammar nit in copy_file_range docs

Bytes are countable, so we have fewer of them, not less of them.

4 years agoFix indentation (spaces->tab).
ian [Thu, 25 Jul 2019 15:31:15 +0000 (15:31 +0000)]
Fix indentation (spaces->tab).

Reported by: garga@

4 years agopowerpc: Improve pvo allocation code
luporl [Thu, 25 Jul 2019 15:27:05 +0000 (15:27 +0000)]
powerpc: Improve pvo allocation code

Added allocation retry loop in alloc_pvo_entry(), to wait for
memory to become available if the caller specifies the M_WAITOK flag.

Also, the loop in moa64_enter() was removed, as moea64_pvo_enter()
never returns ENOMEM. It is alloc_pvo_entry() memory allocation that
can fail and must be retried.

Reviewed by: jhibbits
Differential Revision: https://reviews.freebsd.org/D21035

4 years agoWorkaround the build failure on platforms have lib32 after r350301
lwhsu [Thu, 25 Jul 2019 07:57:01 +0000 (07:57 +0000)]
Workaround the build failure on platforms have lib32 after r350301

Error message:

make[5]: make[5]: don't know how to make /usr/obj/usr/src/amd64.amd64/obj-lib32/tmp/sys/netinet/in.h. Stop

make[5]: stopped in /usr/src/lib/libsysdecode

Sponsored by: The FreeBSD Foundation

4 years agor350320 committed the wrong version of generated syscall.mk.
rmacklem [Thu, 25 Jul 2019 06:48:30 +0000 (06:48 +0000)]
r350320 committed the wrong version of generated syscall.mk.

This commit is for the correct version. (The incorrect one had the order
of the last two entries reversed, due to my testing with copy_file_range
at 568 instead of 569.) This misordering should not have been a problem,
but is now fixed.

4 years agoUpdate the generated syscall.mk for copy_file_range(2).
rmacklem [Thu, 25 Jul 2019 06:35:21 +0000 (06:35 +0000)]
Update the generated syscall.mk for copy_file_range(2).

I missed this file for commit r350316.

4 years agoCreate a man page for VOP_COPY_FILE_RANGE(9).
rmacklem [Thu, 25 Jul 2019 06:20:00 +0000 (06:20 +0000)]
Create a man page for VOP_COPY_FILE_RANGE(9).

r350315 created a Linux compatible copy_file_range(2) syscall.
It uses a VOP method called VOP_COPY_FILE_RANGE so that file systems,
such as the NFSv4.2 client can do file system specific copying.
For NFSv4.2, this allows the copying to be done locally on the NFS server,
avoiding transferring the data across the wire twice.

This is a new man page (content changed).

Reviewed by: kib, asomers
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D20584

4 years agoAdd an entry for copy_file_range(2) to unistd.h.
rmacklem [Thu, 25 Jul 2019 06:10:44 +0000 (06:10 +0000)]
Add an entry for copy_file_range(2) to unistd.h.

copy_file_range(2) is a Linux compatible syscall created by r350315.

Reviewed by: kib, asomers
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D20584

4 years agoAdd libc support for the copy_file_range(2) syscall added by r350315.
rmacklem [Thu, 25 Jul 2019 06:05:49 +0000 (06:05 +0000)]
Add libc support for the copy_file_range(2) syscall added by r350315.

copy_file_range.2 is a new man page (content change).

Reviewed by: kib, asomers
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D20584

4 years agoUpdate the generated syscall files for copy_file_range(2) added by
rmacklem [Thu, 25 Jul 2019 05:55:55 +0000 (05:55 +0000)]
Update the generated syscall files for copy_file_range(2) added by
r350315.

4 years agoAdd kernel support for a Linux compatible copy_file_range(2) syscall.
rmacklem [Thu, 25 Jul 2019 05:46:16 +0000 (05:46 +0000)]
Add kernel support for a Linux compatible copy_file_range(2) syscall.

This patch adds support to the kernel for a Linux compatible
copy_file_range(2) syscall and the related VOP_COPY_FILE_RANGE(9).
This syscall/VOP can be used by the NFSv4.2 client to implement the
Copy operation against an NFSv4.2 server to do file copies locally on
the server.
The vn_generic_copy_file_range() function in this patch can be used
by the NFSv4.2 server to implement the Copy operation.
Fuse may also me able to use the VOP_COPY_FILE_RANGE() method.

vn_generic_copy_file_range() attempts to maintain holes in the output
file in the range to be copied, but may fail to do so if the input and
output files are on different file systems with different _PC_MIN_HOLE_SIZE
values.

Separate commits will be done for the generated syscall files and userland
changes. A commit for a compat32 syscall will be done later.

Reviewed by: kib, asomers (plus comments by brooks, jilles)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D20584

4 years agospecial-case getvfsbyname(3) for fusefs(5)
asomers [Thu, 25 Jul 2019 03:55:05 +0000 (03:55 +0000)]
special-case getvfsbyname(3) for fusefs(5)

fusefs file systems may have a fsname subtype (set by mount_fusefs's "-o
subtype" option) that gets appended to the fsname as returned by statfs(2).
The subtype is set on a per-mount basis so it isn't part of the struct
vfsconf. Special-case getvfsbyname to match either the full "fusefs.foobar"
or short "fusefs" fsname.

This is a merge of r348007, r348054, and r350093 from projects/fuse2

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

4 years agopowerpc/pmap64: Make moea64 statistics optional
jhibbits [Thu, 25 Jul 2019 03:47:27 +0000 (03:47 +0000)]
powerpc/pmap64: Make moea64 statistics optional

Summary:
It turns out statistics accounting is very expensive in the pmap driver,
and doesn't seem necessary in the common case.  Make this optional
behind a MOEA64_STATS #define, which one can set if they really need
statistics.

This saves ~7-8% on buildworld time on a POWER9.

Found by bdragon.

Reviewed by: luporl
Differential Revision: https://reviews.freebsd.org/D20903

4 years agoFix the fix to the logic bug. Upon further testing, the bug is that we shadoow
imp [Wed, 24 Jul 2019 23:08:49 +0000 (23:08 +0000)]
Fix the fix to the logic bug. Upon further testing, the bug is that we shadoow
opt.vendor with vendor. We shouldn't. Delete the latter and use the former
everywhere and restore the prior logic which is now correct.

4 years agoFix the turnstile_lock() KPI.
markj [Wed, 24 Jul 2019 23:04:59 +0000 (23:04 +0000)]
Fix the turnstile_lock() KPI.

turnstile_{lock,unlock}() were added for use in epoch.  turnstile_lock()
returned NULL to indicate that the calling thread had lost a race and
the turnstile was no longer associated with the given lock, or the lock
owner.  However, reader-writer locks may not have a designated owner,
in which case turnstile_lock() would return NULL and
epoch_block_handler_preempt() would leak spinlocks as a result.

Apply a minimal fix: return the lock owner as a separate return value.

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

4 years agoFix several related coverity issues:
imp [Wed, 24 Jul 2019 23:04:26 +0000 (23:04 +0000)]
Fix several related coverity issues:

Make sure to always free shortopts and lopts when returning.
Fix minor logic bug to guard against NULLs properly.

CID: 140365414036561403658

4 years agoDocument r350307.
markj [Wed, 24 Jul 2019 22:57:17 +0000 (22:57 +0000)]
Document r350307.

Sponsored by: The FreeBSD Foundation

4 years agoRemove cap_random(3).
markj [Wed, 24 Jul 2019 22:50:43 +0000 (22:50 +0000)]
Remove cap_random(3).

Now that we have a way to obtain entropy in capability mode
(getrandom(2)), libcap_random is obsolete.  Remove it.

Bump __FreeBSD_version in case anything happens to use it, though I've
found no consumers.

Reviewed by: delphij, emaste, oshogbo
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21033

4 years agoiflib: fix dangling device softc pointer
erj [Wed, 24 Jul 2019 21:43:41 +0000 (21:43 +0000)]
iflib: fix dangling device softc pointer

Commit text by Jake:
If a driver's IFDI_ATTACH_PRE function fails, the iflib_device_register
function will free the ctx pointer. However, it does not reset the
device softc pointer to NULL.

This will result in memory corruption as a future access to the now
invalid pointer will corrupt memory that is later allocated on top of
the same memory location.

The iflib_device_deregister function correctly resets the softc pointer
by using device_set_softc().

This clears up the invalid dangling pointer and prevents memory
corruption that could lead to a panic or undefined behavior if the
device's driver failed to attach.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Submitted by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed by: erj@, gallatin@
MFC after: 1 week
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D21003

4 years agoenable ig4_acpi on aarch64
emaste [Wed, 24 Jul 2019 21:26:17 +0000 (21:26 +0000)]
enable ig4_acpi on aarch64

The already-listed APMC0D0F ID belongs to the Ampere eMAG aarch64
platform, but ACPI support was not even built on aarch64.

Submitted by: Greg V <greg_unrelenting.technology>
Differential Revision: https://reviews.freebsd.org/D21059

4 years agocirrus.yml: use OVMF.fd from uefi-edk2-qemu-x86_64 package
emaste [Wed, 24 Jul 2019 21:08:30 +0000 (21:08 +0000)]
cirrus.yml: use OVMF.fd from uefi-edk2-qemu-x86_64 package

Sponsored by: The FreeBSD Foundation

4 years agolibsysdecode: add explicit dependencies on recently changed headers
emaste [Wed, 24 Jul 2019 21:06:19 +0000 (21:06 +0000)]
libsysdecode: add explicit dependencies on recently changed headers

r349369 removed IP_MIN_MEMBERSHIPS and IPV6_MIN_MEMBERSHIPS, and r349893
removed TCP_RACK_SESS_CWV. libsysdecode lacked dependencies to trigger a
rebuild of tables.h.

Add explicit dependencies as a workaround to address these specific
cases; a holistic solution is still needed.

Sponsored by: The FreeBSD Foundation

4 years agoTemporarily skip flakey test case
lwhsu [Wed, 24 Jul 2019 17:41:40 +0000 (17:41 +0000)]
Temporarily skip flakey test case
sys.kern.ptrace_test.ptrace__follow_fork_parent_detached_unrelated_debugger

PR: 239425
Sponsored by: The FreeBSD Foundation

4 years agopf: zero output buffer in pfioctl
emaste [Wed, 24 Jul 2019 16:51:14 +0000 (16:51 +0000)]
pf: zero output buffer in pfioctl

Avoid potential structure padding leak.

Reported by: Vlad Tsyrklevich <vlad@tsyrklevich.net>
Reviewed by: kp
MFC after: 3 days
Security: Potential kernel memory disclosure
Sponsored by: The FreeBSD Foundation

4 years agoAllow set MTU more than 1500 bytes.
krion [Wed, 24 Jul 2019 16:10:20 +0000 (16:10 +0000)]
Allow set MTU more than 1500 bytes.

Submitted by: Alexandr Fedorov <aleksandr.fedorov_itglobal_dot_com>
Approved by: jhb, rgrimes
Sponsored by: ITGlobal.com
Differential Revision: https://reviews.freebsd.org/D19422

4 years agoRemove a redundant offset computation in elf_load_section().
markj [Wed, 24 Jul 2019 15:18:05 +0000 (15:18 +0000)]
Remove a redundant offset computation in elf_load_section().

With r344705 the offset is always zero.

Submitted by: Wuyang Chung <wuyang.chung1@gmail.com>

4 years agoAdd c++14 and c++17 to COMPILER_FEATURES
asomers [Wed, 24 Jul 2019 15:10:09 +0000 (15:10 +0000)]
Add c++14 and c++17 to COMPILER_FEATURES

This will be used to gate the fusefs tests. It's a partial merge of r348281
from projects/fuse2.

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

4 years agopkgbase: Add the sub stage-packages targets to TGTS
manu [Wed, 24 Jul 2019 08:00:00 +0000 (08:00 +0000)]
pkgbase: Add the sub stage-packages targets to TGTS

This helps when you don't want to run the dependencies targets.

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

4 years agoDon't use .Xr for things that have no man page.
kevlo [Wed, 24 Jul 2019 07:07:46 +0000 (07:07 +0000)]
Don't use .Xr for things that have no man page.

4 years agoVOP_FSYNC.9: update copyright after r345677
asomers [Tue, 23 Jul 2019 23:14:57 +0000 (23:14 +0000)]
VOP_FSYNC.9: update copyright after r345677

MFC after: 2 weeks
MFC-With: r345677
Sponsored by: The FreeBSD Foundation

4 years agoAdd a sysctl variable ts_offset_per_conn to change the computation
tuexen [Tue, 23 Jul 2019 21:28:20 +0000 (21:28 +0000)]
Add a sysctl variable ts_offset_per_conn to change the computation
of the TCP TS offset from taking the IP addresses and the TCP port
numbers into account to a version just taking only the IP addresses
into account. This works around broken middleboxes or endpoints.
The default is to keep the behaviour, which is also the behaviour
recommended in RFC 7323.

Reported by: devgs@ukr.net
Reviewed by: rrs@
MFC after: 2 weeks
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D20980

4 years agomqueuefs: fix struct file leak
emaste [Tue, 23 Jul 2019 20:59:36 +0000 (20:59 +0000)]
mqueuefs: fix struct file leak

In some error cases we previously leaked a stuct file.

Submitted by: mjg, markj

4 years agoMake `camcontrol hpa` and `camcontrol ama` trigger reprobe.
mav [Tue, 23 Jul 2019 19:42:03 +0000 (19:42 +0000)]
Make `camcontrol hpa` and `camcontrol ama` trigger reprobe.

This makes OS automatically see the disk's new disk size.

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

4 years agoFix the register layout for the Buffer Descript List Entry. It
scottl [Tue, 23 Jul 2019 18:40:07 +0000 (18:40 +0000)]
Fix the register layout for the Buffer Descript List Entry.  It
got jumbled around during some other cleanups and was causing
audio failures on some guests.

PR: 239341
Reported by: shamaz.mazum@gmail.com

4 years agoDon't hold a mutex while calling sbwait. This was found by syzkaller.
tuexen [Tue, 23 Jul 2019 18:31:07 +0000 (18:31 +0000)]
Don't hold a mutex while calling sbwait. This was found by syzkaller.

Submitted by: rrs@
Reported by: markj@
MFC after: 1 week

4 years agoixgbe(4): Fix enabling/disabling and reconfiguration of queues
erj [Tue, 23 Jul 2019 18:14:32 +0000 (18:14 +0000)]
ixgbe(4): Fix enabling/disabling and reconfiguration of queues

- Wrong order of casting and bit shift caused that enabling and disabling
  queues didn't work properly for queues number larger than 32. Use literals
  with right suffix instead.

- TX ring tail address was not updated during reinitiailzation of TX
  structures. It could block sending traffic.

- Also remove unused variables 'eims' and 'active_queues'.

Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Reviewed by: erj@
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D20826

4 years agoFix a LOR in SCTP which was found by running syzkaller.
tuexen [Tue, 23 Jul 2019 18:07:36 +0000 (18:07 +0000)]
Fix a LOR in SCTP which was found by running syzkaller.

Submitted by: rrs@
Reported by: markj@
MFC after: 1 week

4 years agopciconf: report PCI Gen4 speeds
gallatin [Tue, 23 Jul 2019 16:28:17 +0000 (16:28 +0000)]
pciconf: report PCI Gen4 speeds

PCIe gen4 runs at 16GT/s.  Report this as
the speed of Gen4 links.

Reviewed by: imp
MFC after: 7 days
Sponsored by: Netflix

4 years agobhyve: correct out-of-bounds read in XHCI device emulation
emaste [Tue, 23 Jul 2019 16:27:36 +0000 (16:27 +0000)]
bhyve: correct out-of-bounds read in XHCI device emulation

Add appropriate bounds checks on the epid and streamid fields in the
device doorbell registers.

admbugs: 919
Submitted by: jhb
Reported by: Reno Robert <renorobert@gmail.com>
Reviewed by: markj
Approved by: so
Security: out-of-bounds read

4 years agoUpdate refcount(9).
kib [Tue, 23 Jul 2019 16:11:38 +0000 (16:11 +0000)]
Update refcount(9).

Describe missed functions.
Give some hint about refcount_release(9) memory ordering guarantees.

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

4 years agoAs with r350241 use the new UL macro on the main register mask.
andrew [Tue, 23 Jul 2019 14:52:46 +0000 (14:52 +0000)]
As with r350241 use the new UL macro on the main register mask.

MFC after: 1 week
Sponsored by: DARPA, AFRL

4 years agoEnsure the arm64 ID register fields are 64 bit types.
andrew [Tue, 23 Jul 2019 14:40:37 +0000 (14:40 +0000)]
Ensure the arm64 ID register fields are 64 bit types.

Previously only some of the ID register fields were 64 bit. To allow
for a script to generate these mark them all 64 bit. To allow for their
use in assembly we need to use the UINT64_C macro via a new UL macro
to stop the lines from being too long.

MFC after: 1 week
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D20977

4 years agoEliminate rmlock from ipfw's BPF code.
ae [Tue, 23 Jul 2019 12:52:36 +0000 (12:52 +0000)]
Eliminate rmlock from ipfw's BPF code.

After r343631 pfil hooks are invoked in net_epoch_preempt section,
this allows to avoid extra locking. Add NET_EPOCH_ASSER() assertion
to each ipfw_bpf_*tap*() call to require to be called from inside
epoch section.

Use NET_EPOCH_WAIT() in ipfw_clone_destroy() to wait until it becomes
safe to free() ifnet. And use on-stack ifnet pointer in each
ipfw_bpf_*tap*() call to avoid NULL pointer dereference in case when
V_*log_if global variable will become NULL during ipfw_bpf_*tap*() call.

Sponsored by: Yandex LLC

4 years agoTemporarily skip flakey test case
lwhsu [Tue, 23 Jul 2019 09:39:27 +0000 (09:39 +0000)]
Temporarily skip flakey test case
sys.kern.ptrace_test.ptrace__parent_sees_exit_after_child_debugger

PR: 239399
Sponsored by: The FreeBSD Foundation