]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoMerge once more from ^/vendor/llvm-project/release-10.x, to get the
Dimitry Andric [Thu, 2 Apr 2020 19:56:43 +0000 (19:56 +0000)]
Merge once more from ^/vendor/llvm-project/release-10.x, to get the
lldb/bindings directory, which will be used to provide lua bindings for
lldb.

Requested by: emaste
MFC after: 6 weeks
X-MFC-With: 358851

4 years agoAdd lldb/bindings to vendor area, since emaste is going to add support
Dimitry Andric [Thu, 2 Apr 2020 19:52:43 +0000 (19:52 +0000)]
Add lldb/bindings to vendor area, since emaste is going to add support
for lldb's lua bindings.

4 years agoAdd the Cadence GEM ethernet driver to NOTES so that it gets built with
Ian Lepore [Thu, 2 Apr 2020 19:06:05 +0000 (19:06 +0000)]
Add the Cadence GEM ethernet driver to NOTES so that it gets built with
LINT kernels.  Move the config for it from files.<arch> files into the
main config (conf/files), because it works on multiple platforms now.

4 years agoCadence GEM ethernet driver style clean-up, no functional changes.
Ian Lepore [Thu, 2 Apr 2020 17:57:40 +0000 (17:57 +0000)]
Cadence GEM ethernet driver style clean-up, no functional changes.

This is mostly indentation whitespace, and reflowing a few multiline
comments.  This gets a bunch of minor stuff out of the way so that the diffs
for style don't clutter up the diffs for some upcoming functional changes.

Submitted by: Thomas Skibo
Differential Revision: https://reviews.freebsd.org/D24226

4 years agoAvoid checking pointers that are never NULL.
John Baldwin [Thu, 2 Apr 2020 17:22:16 +0000 (17:22 +0000)]
Avoid checking pointers that are never NULL.

Coverity noted that cod pointer is always non-NULL at the end of
cryptodev_aead().  While here, fix cryptodev_op() to match by making
one earlier failure case before cod and crp are allocated just return
directly.

CID: 1422185
Reported by: Coverity

4 years agoRemove duplicate conditional.
John Baldwin [Thu, 2 Apr 2020 16:55:28 +0000 (16:55 +0000)]
Remove duplicate conditional.

CID: 1422192
Reported by: Coverity

4 years agoAdd two options to recoverdisk(1) inspired by a recent
Poul-Henning Kamp [Thu, 2 Apr 2020 15:17:53 +0000 (15:17 +0000)]
Add two options to recoverdisk(1) inspired by a recent
data-archæology project:

-u pattern

    Fill unread parts of the output with pattern.
    Default pattern is "_UNREAD_", empty pattern disables.

-v

    Fancy status reporting using ANSI escapes and UTF-8

4 years agoFix various Coverity-detected errors in nvmecontrol
David Bright [Thu, 2 Apr 2020 13:52:54 +0000 (13:52 +0000)]
Fix various Coverity-detected errors in nvmecontrol

This fixes several Coverity-detected errors in nvmecontrol. While in
here, a couple additional errors with shift/mask confusion that were
not diagnosed by Coverity are also fixed.

CIDs addressed: 104029910403001403972140397314039851403988,
1403990140437414044271404469140451014045341418118

CID 1403657 (resource leak of shared library handle) was marked
"intentional" in the Coverity scan database.

Reviewed by: vangyzen, robert.herndon_dell.com
Reviewed by: daniel.william.ryan_gmail.com (earlier version)
Reviewed by: rramsden_isilon.com (earlier version), imp
MFC after: 5 days
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D24203

4 years agoAdd NetBSD 8.2
Sevan Janiyan [Thu, 2 Apr 2020 11:08:19 +0000 (11:08 +0000)]
Add NetBSD 8.2

4 years agoFix mbuf handling in le advertize packet processing.
Takanori Watanabe [Thu, 2 Apr 2020 09:15:31 +0000 (09:15 +0000)]
Fix mbuf handling in le advertize  packet processing.

Submitted by: Marc Veldman <marc at bumblingdork.com>

4 years agoelf.5: correct and expand NT_FREEBSD_NOINIT_TAG description
Ed Maste [Thu, 2 Apr 2020 01:03:27 +0000 (01:03 +0000)]
elf.5: correct and expand NT_FREEBSD_NOINIT_TAG description

Reported by: kib

4 years agoriscv/sifive: add FE310 Always-on driver
Nick O'Brien [Thu, 2 Apr 2020 00:33:15 +0000 (00:33 +0000)]
riscv/sifive: add FE310 Always-on driver

This driver supports SiFive's FE310 Always-on (AON) peripheral's
Real-time clock (RTC) and Watchdog timer (WDT). AON has other
functionality that this driver could support such as the power
management unit (PMU) but that functionality hasn't been implemented.

Reviewed by: philip (mentor), kp (mentor)
Approved by: philip (mentor)
Sponsored by: Axiado
Differential Revision: https://reviews.freebsd.org/D24170

4 years agoelf.5: minor update to FreeBSD ELF note descriptions
Ed Maste [Wed, 1 Apr 2020 23:36:16 +0000 (23:36 +0000)]
elf.5: minor update to FreeBSD ELF note descriptions

4 years agoNote some functions that appeared in First Edition Unix
Warner Losh [Wed, 1 Apr 2020 22:50:41 +0000 (22:50 +0000)]
Note some functions that appeared in First Edition Unix

These functions first appeared in the First Edition of Unix (or earlier in the
pdp-7 version). Just claim 1st Edition for all this. The pdp-7 code is too
fragmented at this point to extend history that far back.

4 years agoRetire procfs-based process debugging.
John Baldwin [Wed, 1 Apr 2020 19:22:09 +0000 (19:22 +0000)]
Retire procfs-based process debugging.

Modern debuggers and process tracers use ptrace() rather than procfs
for debugging.  ptrace() has a supserset of functionality available
via procfs and new debugging features are only added to ptrace().
While the two debugging services share some fields in struct proc,
they each use dedicated fields and separate code.  This results in
extra complexity to support a feature that hasn't been enabled in the
default install for several years.

PR: 244939 (exp-run)
Reviewed by: kib, mjg (earlier version)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D23837

4 years agoSet crp_ilen for crypto requests.
John Baldwin [Wed, 1 Apr 2020 17:09:21 +0000 (17:09 +0000)]
Set crp_ilen for crypto requests.

Assertions in crypto_dispatch() depend on this value being set to
verify that payload and AAD regions are in bounds.  Also, requests
that use a single kernel buffer rely on this to know how long the
buffer is for bus_dma, etc.

Reported by: kp

4 years agoRemove redundant development tag from include Makefile
Ed Maste [Wed, 1 Apr 2020 16:38:45 +0000 (16:38 +0000)]
Remove redundant development tag from include Makefile

Headers are placed in the -development package via install args in rules
in share/mk/bsd.incs.mk; there is no need to explicitly modify TAGS in
include/Makefile.  (Mentioned in review D24139.)

Discussed with: manu

4 years agoStart the retirement process for ufm
Warner Losh [Wed, 1 Apr 2020 16:22:31 +0000 (16:22 +0000)]
Start the retirement process for ufm

This driver hasn't been relevant in almost 15 years. It was for a product on the
shelves for about 6 months in 2003/2004. I've not updated the driver since then,
and have had nobody talk to me about it since maybe 2006 or 2007. It doesn't
implement a standard interface, and can be better done with libusb. All the
action has moved to webcamd for newer, more fully featured hardware. It makes no
appearances in the nycbug dmesg archive.

Relnotes: yes
MFC After: 3 days

4 years agox86 tsc: fall back to CPUID if calibration results looks unbelievable.
Konstantin Belousov [Wed, 1 Apr 2020 16:21:11 +0000 (16:21 +0000)]
x86 tsc: fall back to CPUID if calibration results looks unbelievable.

Teested and reviewed by: scottl
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D24247

4 years agopkgbase: remove more profile package leftovers
Ed Maste [Wed, 1 Apr 2020 16:03:06 +0000 (16:03 +0000)]
pkgbase: remove more profile package leftovers

As of r356797 we don't produce profile packages.  r358549 removed one
remnant of profile package support; clean up another now.

4 years agoAdd a makefile to build and run the tests for the bsnmp library.
Hartmut Brandt [Wed, 1 Apr 2020 15:39:02 +0000 (15:39 +0000)]
Add a makefile to build and run the tests for the bsnmp library.
This is not automatically built or run but must explicitly be built
with 'make' and run with 'make run'.

4 years agoelf.5: add definitions of FreeBSD notes
Ed Maste [Wed, 1 Apr 2020 15:34:10 +0000 (15:34 +0000)]
elf.5: add definitions of FreeBSD notes

I hope to extend this with some more detail in the future but it gives
a good starting point.

Thanks to 0mp for assistance with markup.

Reviewed by: jkoshy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23982

4 years agoMerge release 1.14 of bsnmp.
Hartmut Brandt [Wed, 1 Apr 2020 15:25:16 +0000 (15:25 +0000)]
Merge release 1.14 of bsnmp.

4 years agoBump WARNS for sh(1).
Edward Tomasz Napierala [Wed, 1 Apr 2020 15:12:51 +0000 (15:12 +0000)]
Bump WARNS for sh(1).

Reviewed by: jilles
MFC after: 2 weeks
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D24181

4 years agoStop hardcoding WARNS in uefisign(8).
Edward Tomasz Napierala [Wed, 1 Apr 2020 15:10:26 +0000 (15:10 +0000)]
Stop hardcoding WARNS in uefisign(8).

MFC after: 2 weeks
Sponsored by: DARPA

4 years agoStop hardcoding WARNS in iscsid(8).
Edward Tomasz Napierala [Wed, 1 Apr 2020 15:09:52 +0000 (15:09 +0000)]
Stop hardcoding WARNS in iscsid(8).

MFC after: 2 weeks
Sponsored by: DARPA

4 years agoStop hardcoding WARNS in iscsictl(8).
Edward Tomasz Napierala [Wed, 1 Apr 2020 15:08:53 +0000 (15:08 +0000)]
Stop hardcoding WARNS in iscsictl(8).

MFC after: 2 weeks
Sponsored by: DARPA

4 years agoStop hardcoding WARNS in automount(8) et al.
Edward Tomasz Napierala [Wed, 1 Apr 2020 15:08:13 +0000 (15:08 +0000)]
Stop hardcoding WARNS in automount(8) et al.

MFC after: 2 weeks
Sponsored by: DARPA

4 years agolldb: stop excluding bindings/ subdir
Ed Maste [Wed, 1 Apr 2020 13:18:01 +0000 (13:18 +0000)]
lldb: stop excluding bindings/ subdir

With liblua in the tree we should be able to enable lldb's lua
scripting.  We'll need the files in bindings/, so start by allowing them
to come in with the next import.

Approved by: dim
Sponsored by: The FreeBSD Foundation

4 years agoUse memmove to copy within a buffer
Andrew Turner [Wed, 1 Apr 2020 09:51:29 +0000 (09:51 +0000)]
Use memmove to copy within a buffer

jail(8) would try to use strcpy to remove the interface from the start of
an IP address. This is undefined, and on arm64 will result in unexpected
IPv6 addresses.

Fix this by using memmove top move the string.

PR: 245102
Reported by: sbruno
MFC after: 2 weeks
Sponsored by: Innovate UK

4 years agoUse proper mdoc(7) macros for literal text and do not use Tn
Mateusz Piotrowski [Wed, 1 Apr 2020 09:01:35 +0000 (09:01 +0000)]
Use proper mdoc(7) macros for literal text and do not use Tn

Tn is deprecated and upsets linters.

MFC after: 3 days

4 years agoDo not claim libbearssl et al are INTERNALLIB
Simon J. Gerraty [Wed, 1 Apr 2020 05:45:12 +0000 (05:45 +0000)]
Do not claim libbearssl et al are INTERNALLIB

If INTERNALLIB is defined we need PIE and bsd.incs.mk is
not included.

PR: 245189
Reviewed by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org//D24233

4 years agodeadlkres: include thread name in panic messages
Jason A. Harmening [Wed, 1 Apr 2020 04:51:39 +0000 (04:51 +0000)]
deadlkres: include thread name in panic messages

Reviewed by: markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D24235

4 years agoAdd support for AHCI BIOS/OS Handoff.
Alexander Motin [Wed, 1 Apr 2020 03:27:47 +0000 (03:27 +0000)]
Add support for AHCI BIOS/OS Handoff.

This allows clean handoff from BIOS implementing some asynchronous I/O to
the OS AHCI driver.  During attach driver declares OS ownership request
and waits from 25ms to 2s for BIOS to complete operation and release the
hardware.

MFC after: 2 weeks

4 years agoAdd ID for JMicron JMB582/JMB585 AHCI controller.
Alexander Motin [Wed, 1 Apr 2020 03:19:42 +0000 (03:19 +0000)]
Add ID for JMicron JMB582/JMB585 AHCI controller.

JMB582 has 2 6Gbps SATA ports and PCIe 3.0 x1.
JMB585 has 5 6Gbps SATA ports and PCIe 3.0 x2.

Both chips support AHCI v1.31, Port Multiplier with FBS and 8 MSI vectors.

MFC after: 2 weeks

4 years agoIgnore ND6 neighbor advertisement received for static link-layer entries.
Andrey V. Elsukov [Wed, 1 Apr 2020 02:13:01 +0000 (02:13 +0000)]
Ignore ND6 neighbor advertisement received for static link-layer entries.

Previously such NA could override manually created LLE.

Reported by: Martin Beran <martin at mber cz>
Reviewed by: melifaro
MFC after: 10 days

4 years agoAdd powerpcspe to the EXTRA_TARGETS
Warner Losh [Tue, 31 Mar 2020 22:41:57 +0000 (22:41 +0000)]
Add powerpcspe to the EXTRA_TARGETS

Currently, powerpcspe is broken with clang. Add it to the EXTRA_TARGETS until
that's fixed.

Reviewed by: brooks, bdrewery, emaste (LGTM)
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D24212

4 years agoDocument universe better
Warner Losh [Tue, 31 Mar 2020 22:41:53 +0000 (22:41 +0000)]
Document universe better

Document the kernels and worlds targets. Document the TARGETS and EXTRA_TARGETS
variables.

Reviewed by: brooks, bdrewery, emaste (LGTM)
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D24212

4 years agoFix make kernels to match original commit message
Warner Losh [Tue, 31 Mar 2020 22:41:48 +0000 (22:41 +0000)]
Fix make kernels to match original commit message

make kernels was originally documented (in commit r295099) as the same as make
universe -DJUST_BUILD_KERNELS. However, it used the UNIVERSE_TARGET=buildkernel
which is subtly different in that it also builds the toolchains and doesn't
build the LINT modules unless they happened to already exist in the tree. This
unbreaks POLA and just builds the kernels, including LINT, now rather than all
that other stuff as well. When the commit originally happened, the two just
differed by the LINT bug. r335711 introduced the universe dependency on the
toolchain that wasn't present before, which diverged the two further. This
restores the original intent of r295099.

Reviewed by: brooks, bdrewery, emaste (LGTM)
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D24212

4 years agoMake universe configuration more consistent with rest of system
Warner Losh [Tue, 31 Mar 2020 22:41:43 +0000 (22:41 +0000)]
Make universe configuration more consistent with rest of system

Add 'WITHOUT_WORLDS' and 'WITHOUT_KERNELS' as aliases for the inconsistently
named MAKE_JUST_KERNELS and MAKE_JUST_WORLDS respectively. I always forget the
MAKE_ part (or is it BUILD_), and it's inconsistent with everything
else. Document the new things, but leave speculation of any eventual MAKE_JUST_*
deprecation out of the manuals and comments.

Reviewed by: brooks, bdrewery, emaste (LGTM)
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D24212

4 years agoFix build for mips.XLP64 kernel, by re-ordering headers
Ravi Pokala [Tue, 31 Mar 2020 20:09:20 +0000 (20:09 +0000)]
Fix build for mips.XLP64 kernel, by re-ordering headers

The log for the failure contained errors like this:

| In file included from ${SRCTOP}/sys/mips/nlm/dev/net/xlpge.c:34:
| In file included from ${SRCTOP}/sys/sys/systm.h:44:
| In file included from ./machine/atomic.h:849:
| ${SRCTOP}/sys/sys/_atomic_subword.h:222:37: error: unknown type name 'u_long'; did you mean 'long'?
| atomic_testandset_acq_long(volatile u_long *p, u_int v)
|                                     ^~~~~~
|                                     long

And similar "unknown type name" errors for u_int, not recognizing bool as a type, etc.

This was caused by including <sys/param.h> too far down; move it up where it belongs.

While here, add a blank line after '__FBSDID()', in keeping with convention.

Reviewed by: emaste
Sponsored by: Panasas
Differential Revision: https://reviews.freebsd.org/D24242

4 years agoImport version 1.14 of bsnmp. This mainly consists of bug fixes
Hartmut Brandt [Tue, 31 Mar 2020 17:50:32 +0000 (17:50 +0000)]
Import version 1.14 of bsnmp. This mainly consists of bug fixes
in the ASN.1 functions and comes with a test suite for these
functions.

4 years agovalectl: fix typo in man page
Vincenzo Maffione [Tue, 31 Mar 2020 16:47:15 +0000 (16:47 +0000)]
valectl: fix typo in man page

Submitted by: Jose Luis Duran
MFC after: 3 days

4 years agoInclude ${.CURDIR}/local.init.mk if it exists
Simon J. Gerraty [Tue, 31 Mar 2020 15:59:29 +0000 (15:59 +0000)]
Include ${.CURDIR}/local.init.mk if it exists

This is handy for making local hacks to an app
(eg to build it as tool for non-BSD host)
without making a mess of the code base.

Reviewed by: bdrewery
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org//D24101

4 years agoAllow the TCP backhole detection to be disabled at all, enabled only
Michael Tuexen [Tue, 31 Mar 2020 15:54:54 +0000 (15:54 +0000)]
Allow the TCP backhole detection to be disabled at all, enabled only
for IPv4, enabled only for IPv6, and enabled for IPv4 and IPv6.
The current blackhole detection might classify a temporary outage as
an MTU issue and reduces permanently the MSS. Since the consequences of
such a reduction due to a misclassification are much more drastically
for IPv4 than for IPv6, allow the administrator to enable it for IPv6 only.

Reviewed by: bcr@ (man page), Richard Scheffenegger
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D24219

4 years agoMerge OpenSSL 1.1.1f.
Jung-uk Kim [Tue, 31 Mar 2020 15:47:55 +0000 (15:47 +0000)]
Merge OpenSSL 1.1.1f.

4 years agoImport OpenSSL 1.1.1f.
Jung-uk Kim [Tue, 31 Mar 2020 15:25:23 +0000 (15:25 +0000)]
Import OpenSSL 1.1.1f.

4 years agoMake jemalloc(3) default to retain:true on 64-bit platforms,
Edward Tomasz Napierala [Tue, 31 Mar 2020 13:48:06 +0000 (13:48 +0000)]
Make jemalloc(3) default to retain:true on 64-bit platforms,
like it already does on Linux and OSX.  This results in significantly
fewer calls to mmap(2).  This should result in a small reduction
in system CPU time and improved superpage usage.

Reviewed by: markj
Tested by: markj
MFC after: 2 weeks
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D23874

4 years agoAdd 'ctld -t', to test configuration file validity.
Edward Tomasz Napierala [Tue, 31 Mar 2020 13:43:09 +0000 (13:43 +0000)]
Add 'ctld -t', to test configuration file validity.

Reviewed by: mav, allanjude, bcr (man pages)
MFC after: 2 weeks
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D23792

4 years agoAdd Platform Controller Hub built-in thermal management device driver.
Takanori Watanabe [Tue, 31 Mar 2020 06:25:43 +0000 (06:25 +0000)]
Add Platform Controller Hub built-in thermal management device driver.

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

4 years agoBhyve: fix SMBIOS Type 17 table generation
Rebecca Cran [Tue, 31 Mar 2020 02:36:39 +0000 (02:36 +0000)]
Bhyve: fix SMBIOS Type 17 table generation

According to the SMBIOS specification (revision 2.7 or newer), the
extended module size field should only be used for sizes that can't
fit in the older size field.

Reviewed by: rgrimes, grehan, jhb
Differential Revision: https://reviews.freebsd.org/D24107

4 years agoUse a dedicated taskqueue thread for in6m_release_task().
Mark Johnston [Tue, 31 Mar 2020 02:25:53 +0000 (02:25 +0000)]
Use a dedicated taskqueue thread for in6m_release_task().

Interfaces may be detached from a taskqueue_thread task, for example by
prison_complete(), so after r359438, when draining the queue we may end
up deadlocking.

Reported by: Jenkins via lwhsu
MFC with: r359438

4 years agoRemove dead code leftover from r331018.
Bryan Drewery [Tue, 31 Mar 2020 01:12:53 +0000 (01:12 +0000)]
Remove dead code leftover from r331018.

Sponsored by: Dell EMC

4 years agoKTLS: Coalesce adjacent TLS trailers & headers to improve PCIe bus efficiency
Andrew Gallatin [Mon, 30 Mar 2020 23:29:53 +0000 (23:29 +0000)]
KTLS: Coalesce adjacent TLS trailers & headers to improve PCIe bus efficiency

KTLS uses the embedded header and trailer fields of unmapped
mbufs. This can lead to "silly" buffer lengths, where we have an
mbuf chain that will create a scatter/gather lists with a
regular pattern of 13 bytes followed by 16 bytes between each
adjacent TLS record.

For software ktls we typically wind up with a pattern where we
have several TLS records encrypted, and made ready at once. When
these records are made ready, we can coalesce these silly buffers
in sbready_compress by copying 13b TLS header of the next record
into the 16b TLS trailer of the current record. After doing so,
we now have a small 29 byte chunk between each TLS record.

This marginally increases PCIe bus efficiency. We've seen an
almost 1Gb/s increase in peak throughput on Broadwell based Xeons
running a 100% software TLS workload with Mellanox ConnectX-4
NICs.

Note that this change is ifdef'ed for KTLS, as KTLS is currently
the only user of the hdr/trailer feature of unmapped mbufs, and
peeking into them is expensive, since the ext_pgs struct lives in
separately allocated memory, and may be cold in cache.

This optimization is not applicable to HW ("NIC") TLS, as that
depends on having the entire TLS record described by a single
unmapped mbuf, so we cannot shift parts of the record between
mbufs for HW TLS.

Reviewed by: jhb, hselasky, scottl
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D24204

4 years agokern_sendfile.c: fix bugs with handling of busy page states.
Konstantin Belousov [Mon, 30 Mar 2020 22:13:32 +0000 (22:13 +0000)]
kern_sendfile.c: fix bugs with handling of busy page states.

- Do not call into a vnode pager while leaving some pages from the
  same block as the current run, xbusy. This immediately deadlocks if
  pager needs to instantiate the buffer.
- Only relookup bogus pages after io finished, otherwise we might
  obliterate the valid pages by out of date disk content.  While there,
  expand the comment explaining this pecularity.
- Do not double-unbusy on error.  Split unbusy for error case, which
  is left in the sendfile_swapin(), from the more properly coded
  normal case in sendfile_iodone().
- Add an XXXKIB comment explaining the serious bug in the validation
  algorithm, not fixed by this patch series.

PR: 244713
Reviewed by: glebius, markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D24038

4 years agokern_sendfile.c: do not release sfio reference on error.
Konstantin Belousov [Mon, 30 Mar 2020 22:01:36 +0000 (22:01 +0000)]
kern_sendfile.c: do not release sfio reference on error.

It is already done by sendfile_iodone(), now consistently for all errors.
This de-facto reverts r358597, after r359466.

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

4 years agokern_sendfile.c: wait for all in-flight ios completion before unwiring pages.
Konstantin Belousov [Mon, 30 Mar 2020 21:57:28 +0000 (21:57 +0000)]
kern_sendfile.c: wait for all in-flight ios completion before unwiring pages.

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

4 years agokern_sendfile.c: add specific malloc type.
Konstantin Belousov [Mon, 30 Mar 2020 21:50:51 +0000 (21:50 +0000)]
kern_sendfile.c: add specific malloc type.

Now sfio leaks are more easily seen in the malloc statistics than
e.g. just wired or busy pages leak.

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

4 years agoTrim some duplicate EIO descriptions.
John Baldwin [Mon, 30 Mar 2020 21:48:47 +0000 (21:48 +0000)]
Trim some duplicate EIO descriptions.

While here, drop an extra conjunction from the list of error
conditions for the remaining EIO description in symlink(2).

Discussed with: mckusick (trimming duplicates)
MFC after: 2 weeks

4 years agoVOP_GETPAGES_ASYNC(): consistently call iodone() callback in case of error.
Konstantin Belousov [Mon, 30 Mar 2020 21:44:30 +0000 (21:44 +0000)]
VOP_GETPAGES_ASYNC(): consistently call iodone() callback in case of error.

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

4 years agoDocument EINTEGRITY errors for many system calls.
John Baldwin [Mon, 30 Mar 2020 21:44:00 +0000 (21:44 +0000)]
Document EINTEGRITY errors for many system calls.

EINTEGRITY was previously documented as a UFS-specific error for
mount(2).  This documents EINTEGRITY as a filesystem-independent error
that may be reported by the backing store of a filesystem.

While here, document EIO as a filesystem-independent error for both
mount(2) and posix_fadvise(2).  EIO was previously only documented for
UFS for mount(2).

Reviewed by: mckusick
Suggested by: mckusick
MFC after: 2 weeks
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D24168

4 years agobuffer pager: skip bogus pages.
Konstantin Belousov [Mon, 30 Mar 2020 21:42:46 +0000 (21:42 +0000)]
buffer pager: skip bogus pages.

We cannot validate bogus page by reading a buffer.

PR: 244713
Reviewed by: glebius, markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D24038

4 years agokern_sendfile.c style: order headers alphabetically.
Konstantin Belousov [Mon, 30 Mar 2020 21:40:35 +0000 (21:40 +0000)]
kern_sendfile.c style: order headers alphabetically.

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

4 years agolibc: unconditionalize _NLIST_DO_ELF
Ed Maste [Mon, 30 Mar 2020 21:25:00 +0000 (21:25 +0000)]
libc: unconditionalize _NLIST_DO_ELF

Suggested by: brooks, imp

4 years agoadd shell script for stale dependency hack
Ed Maste [Mon, 30 Mar 2020 20:20:15 +0000 (20:20 +0000)]
add shell script for stale dependency hack

It's rather awkward to debug issues with the dependency cleanup hacks
when implemented via make.  Add a cleanup shell script and move the
libomp hack there as an initial example.

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

4 years agonlist: retire long-obsolete aout support
Ed Maste [Mon, 30 Mar 2020 20:15:19 +0000 (20:15 +0000)]
nlist: retire long-obsolete aout support

Reviewed by: brooks, kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24229

4 years agoregen src.conf.5 after WITHOUT_GDB_LIBEXEC removal r359454
Ed Maste [Mon, 30 Mar 2020 20:08:26 +0000 (20:08 +0000)]
regen src.conf.5 after WITHOUT_GDB_LIBEXEC removal r359454

... and a number of other changes since the last regen.

4 years agogallant: pound sign (0xa3) is a bit broken. Add extra glyphs.
Toomas Soome [Mon, 30 Mar 2020 20:07:25 +0000 (20:07 +0000)]
gallant: pound sign (0xa3) is a bit broken. Add extra glyphs.

I did add some more glyphs to provide box drawing and set of additional
glyphs to provide better support for some code pages. Still does not quite
match terminus.

4 years agodrop GDB_LIBEXEC option (now always true)
Ed Maste [Mon, 30 Mar 2020 20:05:09 +0000 (20:05 +0000)]
drop GDB_LIBEXEC option (now always true)

In-tree gdb is essentially obsolete.  We kept it for sparc64 (because
gdb in ports lacked sparc64 support) and as a fallback for crashinfo.
gdb was installed to /libexec on all archs other than sparc64, where the
WITHOUT_GDB_LIBEXEC option was default, with gdb installed to /usr/bin.
With sparc64's retirement WITH_GDB_LIBEXEC became the default for all
architectures, but it was still possible to set it off and install gdb
into /usr/bin.

As the next step in gdb's retirement, remove the option and install gdb
only into /libexec as the crashinfo fallback. We expect users to install
the gdb port or package for debugging. The in-tree gdb lacks support for
a number of supported architectures and does not support contemporary
DWARF debug info.

Reviewed by: jhb (earlier)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24227

4 years agoRelax existence check of ${LOCALBASE}/bin/kyua
Brooks Davis [Mon, 30 Mar 2020 20:04:55 +0000 (20:04 +0000)]
Relax existence check of ${LOCALBASE}/bin/kyua

After the base kyua import the testsuite can utilize the in-base kyua
just fine.

Submitted by: Dries Michiels
Differential Revision: https://reviews.freebsd.org/D24230

4 years agoflua: follow-up to r359453, don't bother with libedit in bootstrap
Kyle Evans [Mon, 30 Mar 2020 20:01:44 +0000 (20:01 +0000)]
flua: follow-up to r359453, don't bother with libedit in bootstrap

The bootstrap flua should not be used for REPL-like activities; exclude it
to save the dependency on libedit and not waste time with it.

X-MFC-With: r359453

4 years agoelf.5: table markup fixes
Ed Maste [Mon, 30 Mar 2020 19:10:12 +0000 (19:10 +0000)]
elf.5: table markup fixes

Suggested by 0mp in review D23982.

Submitted by: 0mp

4 years agoflua: enable readline bits, courtesy of libedit
Kyle Evans [Mon, 30 Mar 2020 18:43:05 +0000 (18:43 +0000)]
flua: enable readline bits, courtesy of libedit

This is a nicer experience when attempting to run ad-hoc lua bits in the
flua REPL.

PR: 245121
MFC after: 1 week

4 years agoFine grain locking inside the cuse(3) kernel module.
Hans Petter Selasky [Mon, 30 Mar 2020 18:25:43 +0000 (18:25 +0000)]
Fine grain locking inside the cuse(3) kernel module.

Implement one mutex per cuse(3) server instance which also cover the
clients belonging to the given server instance.

This should significantly reduce the mutex congestion inside the
cuse(3) kernel module when multiple servers are in use.

MFC after: 1 week
Sponsored by: Mellanox Technologies

4 years agocapabilities.conf: provide information about capmode permitted syscalls
Ed Maste [Mon, 30 Mar 2020 18:24:07 +0000 (18:24 +0000)]
capabilities.conf: provide information about capmode permitted syscalls

Reviewed by: jhb (earlier)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24118

4 years agoMake sure we convert internal audit records for thr_new
Christian S.J. Peron [Mon, 30 Mar 2020 18:15:36 +0000 (18:15 +0000)]
Make sure we convert internal audit records for thr_new
into BSM records.

MFC after: 2 weeks

4 years agocorrect 'disble' typo in hccontrol
Ed Maste [Mon, 30 Mar 2020 17:38:13 +0000 (17:38 +0000)]
correct 'disble' typo in hccontrol

PR: 245125
Submitted by: Marc Veldman
MFC after: 1 week

4 years agoAdd support for multiple playback and recording devices per physical USB audio
Hans Petter Selasky [Mon, 30 Mar 2020 16:50:32 +0000 (16:50 +0000)]
Add support for multiple playback and recording devices per physical USB audio
device. This requires some structural refactoring inside the driver, mostly
about converting existing audio channel structures into arrays.

The main audio mixer is provided by the first PCM instance.
The non-first audio instances may only have a software mixer for PCM playback.

Tested by: Horse Ma <Shichun.Ma@dell.com>
MFC after: 1 week
Sponsored by: Mellanox Technologies

4 years agopowerpc/pmap: Replace a logical TAILQ_FOREACH_SAFE with the real thing
Justin Hibbits [Mon, 30 Mar 2020 16:32:55 +0000 (16:32 +0000)]
powerpc/pmap: Replace a logical TAILQ_FOREACH_SAFE with the real thing

No functional change, just cleanup.

4 years agopowerpc: --secure-plt only needs to pass to ld.bfd, not ld.lld
Justin Hibbits [Mon, 30 Mar 2020 16:24:05 +0000 (16:24 +0000)]
powerpc: --secure-plt only needs to pass to ld.bfd, not ld.lld

ld.lld only supports secure-plt for powerpc, so no need to pass the argument
in.

4 years agoMFV r359442: bmake: import -fno-common fix build back from upstream
Kyle Evans [Mon, 30 Mar 2020 16:22:16 +0000 (16:22 +0000)]
MFV r359442: bmake: import -fno-common fix build back from upstream

sjg@ committed the local patch previously committed upstream; pull it in to
vendor/ to ease any potential stress of future imports.

4 years agobmake: import -fno-common fix build back from upstream
Kyle Evans [Mon, 30 Mar 2020 16:20:04 +0000 (16:20 +0000)]
bmake: import -fno-common fix build back from upstream

sjg@ committed the local patch previously committed upstream; pull it in to
vendor/ to ease any potential stress of future imports.

4 years agoremove extraneous double ;s in sys/
Ed Maste [Mon, 30 Mar 2020 16:04:25 +0000 (16:04 +0000)]
remove extraneous double ;s in sys/

4 years agoImplement new mixer API to return the device pointer based on the mixer pointer.
Hans Petter Selasky [Mon, 30 Mar 2020 15:36:38 +0000 (15:36 +0000)]
Implement new mixer API to return the device pointer based on the mixer pointer.

MFC after: 1 week
Sponsored by: Mellanox Technologies

4 years agoEvaluate modifier keys before the regular keys, so that if a modifier
Hans Petter Selasky [Mon, 30 Mar 2020 15:29:39 +0000 (15:29 +0000)]
Evaluate modifier keys before the regular keys, so that if a modifier
key is pressed at the same time as a regular key, that means key with
modifier is output. Some automated USB keyboards like Yubikeys need this.

This fixes a regression issue after r357861.

Reported by: Adam McDougall <mcdouga9@egr.msu.edu>
PR: 224592
PR: 233884
MFC after: 3 days
Sponsored by: Mellanox Technologies

4 years agoRemove the "config" taskqgroup and its KPIs.
Mark Johnston [Mon, 30 Mar 2020 14:24:03 +0000 (14:24 +0000)]
Remove the "config" taskqgroup and its KPIs.

Equivalent functionality is already provided by taskqueue(9), just use
that instead.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agoFix accounting of hwpmc's thread descriptor freelist.
Mark Johnston [Mon, 30 Mar 2020 14:23:08 +0000 (14:23 +0000)]
Fix accounting of hwpmc's thread descriptor freelist.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoSimplify taskqgroup inititialization.
Mark Johnston [Mon, 30 Mar 2020 14:22:52 +0000 (14:22 +0000)]
Simplify taskqgroup inititialization.

taskqgroup initialization was broken into two steps:

1. allocate the taskqgroup structure, at SI_SUB_TASKQ;
2. initialize taskqueues, start taskqueue threads, enqueue "binder"
   tasks to bind threads to specific CPUs, at SI_SUB_SMP.

Step 2 tries to handle the case where tasks have already been attached
to a queue, by migrating them to their intended queue.  In particular,
tasks can't be enqueued before step 2 has completed.  This breaks NFS
mountroot on systems using an iflib-based driver when EARLY_AP_STARTUP
is not defined, since mountroot happens before SI_SUB_SMP in this case.

Simplify initialization: do all initialization except for CPU binding at
SI_SUB_TASKQ.  This means that until CPU binding is completed, group
tasks may be executed on a CPU other than that to which they were bound,
but this should not be a problem for existing users of the taskqgroup
KPIs.

Reported by: sbruno
Tested by: bdragon, sbruno
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24188

4 years agofusefs: add a dtrace probe that fires after mounting is complete
Alan Somers [Mon, 30 Mar 2020 14:03:35 +0000 (14:03 +0000)]
fusefs: add a dtrace probe that fires after mounting is complete

This probe is useful for showing the protocol options negotiated with a FUSE
server.

MFC after: 2 weeks

4 years agocron: respect PATH from login.conf
Kyle Evans [Mon, 30 Mar 2020 03:26:52 +0000 (03:26 +0000)]
cron: respect PATH from login.conf

As a followup to the use of login.conf environment vars (other than PATH) in
cron, this patch adds PATH (and HOME) to the list of login.conf settings
respected.

The new logic is as follows:

1. SHELL is always _PATH_BSHELL unless explicitly overridden in the crontab
file itself; no other settings are respected. This is unchanged.

2. PATH is taken from the first of: crontab file, login.conf, _PATH_DEFPATH

3. HOME is taken from the first of: crontab file, login.conf, passwd entry,
unset

4. The current directory for invoking the command is taken from the crontab
file's value of HOME (existing behavior), or the passwd entry, but not
anywhere else (so it might not equal HOME if that was set in login.conf).

Submitted by: Andrew Gierth <andrew_tao173.riddles.org.uk>
Reviewed by: sigsys_gmail.com
Differential Revision: https://reviews.freebsd.org/D23597

4 years agobmake: fix -fno-common build
Kyle Evans [Mon, 30 Mar 2020 00:06:56 +0000 (00:06 +0000)]
bmake: fix -fno-common build

debug was declared extern, but debug_file was not; correct this and define
debug_file in main.c (as debug is) to fix the -fno-common build.

-fno-common will become the default with GCC10/LLVM11.

MFC after: 3 days

4 years agogdb: compile with -fcommon explicitly
Kyle Evans [Sun, 29 Mar 2020 23:59:14 +0000 (23:59 +0000)]
gdb: compile with -fcommon explicitly

As described in the comment, gdb relies on some of the linker magic that
happens with -fcommon. I suspect the life expectancy of gdb-in-base is low
enough that this isn't worth spending much time addressing, especially given
the vintage. Hit it with the -fcommon hammer so that it continues to just
work.

MFC after: 3 days

4 years agoevdev: return error rather than zero-length data on blocked read()
Vladimir Kondratyev [Sun, 29 Mar 2020 23:01:36 +0000 (23:01 +0000)]
evdev: return error rather than zero-length data on blocked read()

if blocked process has been woken up by evdev device destruction.

MFC after: 2 weeks

4 years agoevdev: Add COMPAT_FREEBSD32 support for amd64 arch
Vladimir Kondratyev [Sun, 29 Mar 2020 23:00:33 +0000 (23:00 +0000)]
evdev: Add COMPAT_FREEBSD32 support for amd64 arch

Incompatibility between i386 and amd64 evdev ABIs was caused by presence of
'struct timeval' in evdev protocol. Replace it with 'struct timeval32' for
32 bit binaries.

Big-endian platforms may require additional work due to bitstr_t (array of
unsigned longs) usage in ioctl interface.

MFC after: 2 weeks

4 years agofsck_ffs/fsdb: fix -fno-common build
Kyle Evans [Sun, 29 Mar 2020 20:03:46 +0000 (20:03 +0000)]
fsck_ffs/fsdb: fix -fno-common build

This one is also a small list:

- 3x duplicate definition (ufs2_zino, returntosingle, nflag)
- 5x 'needs extern', 3/5 of which are referenced in fsdb

-fno-common will become the default in GCC10/LLVM11.

MFC after: 1 week

4 years agoFix build with src on a noexec filesystem.
Brooks Davis [Sun, 29 Mar 2020 19:48:28 +0000 (19:48 +0000)]
Fix build with src on a noexec filesystem.

${SH} expands to nothing on src builds so this worked by accident.  Use
a bare "sh" instead.

PR: 245086
Reported by: pkubaj
Sponsored by: DARPA

4 years agolocate: fix -fno-common build
Kyle Evans [Sun, 29 Mar 2020 19:16:14 +0000 (19:16 +0000)]
locate: fix -fno-common build

Just a single variable declaration to extern and define elsewhere here,
myctype.

-fno-common will become a default in GCC10/LLVM11.

MFC after: 3 days

4 years agoopenssh: -fno-common fix from upstream f47d72ddad
Kyle Evans [Sun, 29 Mar 2020 19:14:27 +0000 (19:14 +0000)]
openssh: -fno-common fix from upstream f47d72ddad

This is currently staged in vendor/ as part of the 8.0p1 import, which isn't
quite ready to land. Given that this is a simple one-line fix, apply it now
as the fallout will be pretty minimal.

-fno-common will become the default in GCC10/LLVM11.

MFC after: 3 days

4 years agoAdd a missing suffix that was causing a whole word to get loaded instead
Ian Lepore [Sun, 29 Mar 2020 17:30:08 +0000 (17:30 +0000)]
Add a missing suffix that was causing a whole word to get loaded instead
of the proper 8 or 16 bits when the macro was expanded for those sizes.

Fixes a hang in the armv7 kernel.

Submitted by: Thomas Skibo
Pointy hat: ian@

4 years agoBe a bit more precisly in the description of the sysctl variable
Michael Tuexen [Sun, 29 Mar 2020 15:43:00 +0000 (15:43 +0000)]
Be a bit more precisly in the description of the sysctl variable
net.inet.tcp.pmtud_blackhole_detection. Also remove three entries,
which are not sysctl variables but statistic counters for TCP.
Thanks to 0mp@ for suggesting an improvement.

Reviewed by: bcr@
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D24216