]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoBSD.sendmail.dist: simplify mqueue group name setting
emaste [Sun, 22 Mar 2020 16:55:20 +0000 (16:55 +0000)]
BSD.sendmail.dist: simplify mqueue group name setting

Submitted by: gshapiro

4 years agopkgbase: create sendmail directories only from BSD.sendmail.dist
emaste [Sun, 22 Mar 2020 15:37:38 +0000 (15:37 +0000)]
pkgbase: create sendmail directories only from BSD.sendmail.dist

Else when WITHOUT_SENDMAIL is set we still create a sendmail package
that contains (only) two directories.

Reviewed by: manu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24149

4 years agoexec man page: Add HISTORY section
carlavilla [Sun, 22 Mar 2020 12:57:49 +0000 (12:57 +0000)]
exec man page: Add HISTORY section

PR: 240258
Submitted by: gbergling@gmail.com
Patch by: gbergling@gmail.com
Approved by: bcr@(mentor)
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D24145

4 years agoAdd new USB ID.
hselasky [Sun, 22 Mar 2020 11:44:24 +0000 (11:44 +0000)]
Add new USB ID.

Submitted by: Konrad Jopek <kjopek@gmail.com>
Differential Revision: https://reviews.freebsd.org/D24142
MFC after: 1 week
Sponsored by: Mellanox Technologies

4 years agoMakefile.inc1: set DB_FROM_SRC also for stageworld
emaste [Sun, 22 Mar 2020 03:10:31 +0000 (03:10 +0000)]
Makefile.inc1: set DB_FROM_SRC also for stageworld

stageworld, invoked from e.g. `make packages`, shouldn't rely on the
build host's users/groups.

Sponsored by: The FreeBSD Foundation

4 years agoMFV r359197: xz 5.2.5.
delphij [Sun, 22 Mar 2020 01:27:38 +0000 (01:27 +0000)]
MFV r359197: xz 5.2.5.

MFC after: 2 weeks
Relnotes: yes

4 years agoMore timer cleanups, no functional change.
tuexen [Sat, 21 Mar 2020 16:12:19 +0000 (16:12 +0000)]
More timer cleanups, no functional change.

MFC after: 1 week

4 years agonlist(3): add elf(5) xref
emaste [Sat, 21 Mar 2020 15:51:05 +0000 (15:51 +0000)]
nlist(3): add elf(5) xref

Found while looking for a.out remnants; nlist should also xref the
binary format we currently use.

4 years agoreadelf: simplify Xen string note printing
emaste [Sat, 21 Mar 2020 00:08:33 +0000 (00:08 +0000)]
readelf: simplify Xen string note printing

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24140

4 years agoRedo r359164 now that it's baked : Eliminate misuse of $MACHINE for userland things.
imp [Sat, 21 Mar 2020 00:01:06 +0000 (00:01 +0000)]
Redo r359164 now that it's baked : Eliminate misuse of $MACHINE for userland things.

Use TARGET_ARCH and/or MACHINE_ARCH exclusively. Change all __TT uses to __T
with appropriate translations. MACHINE/TARGET is to be used only for kernel
things, and this fixes the last few stragglers.

4 years agoWhen printing out the contents of the VSEC, include the contents of the
scottl [Fri, 20 Mar 2020 23:26:37 +0000 (23:26 +0000)]
When printing out the contents of the VSEC, include the contents of the
headers.  Device documentation often times give offsets relative to the
start of the entire VSEC, not just the post-header data area, so this
change makes it easier to correlate offsets.

4 years agoIntroduce LINUXKPI_GENSRCS.
kib [Fri, 20 Mar 2020 21:06:58 +0000 (21:06 +0000)]
Introduce LINUXKPI_GENSRCS.

Centralize the list of generated files required by linuxkpi consumers,
into the common variable.  This way, consumers that use the variable
are insulated from possible changes in the list.

Reviewed by: hselasky, imp
Sponsored by: Mellanox Technologies
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D24137

4 years agoLock the socket in soo_stat().
markj [Fri, 20 Mar 2020 20:09:00 +0000 (20:09 +0000)]
Lock the socket in soo_stat().

Otherwise nothing synchronizes with a concurrent conversion of the
socket to a listening socket.

Only the PF_LOCAL protocols implement pru_sense, and it is safe to hold
the socket lock there, so do so for now.

Reported by: syzbot+4801f1b79ea40953ca8e@syzkaller.appspotmail.com
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoFix uselocale(3) to not leak a reference to the old locale.
markj [Fri, 20 Mar 2020 20:02:53 +0000 (20:02 +0000)]
Fix uselocale(3) to not leak a reference to the old locale.

In a single-threaded program pthread_getspecific() always returns NULL,
so the old locale would not end up being freed.

PR: 239520
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agoRemove cx module subdir, missed in r359178
emaste [Fri, 20 Mar 2020 19:38:14 +0000 (19:38 +0000)]
Remove cx module subdir, missed in r359178

4 years agoUse a separate copy of machdep.h in cp and ce drivers
emaste [Fri, 20 Mar 2020 19:28:55 +0000 (19:28 +0000)]
Use a separate copy of machdep.h in cp and ce drivers

Previously they included sys/dev/cx/machdep.h, but the cx driver was
retired in r359178.  These drivers haven't had real development for
a decade or more so there's no real benefit in sharing this file; just
copy it to the ce and cp subdirs.

4 years agoRemove ctau module subdir, missed in r359178
emaste [Fri, 20 Mar 2020 19:23:55 +0000 (19:23 +0000)]
Remove ctau module subdir, missed in r359178

4 years agoAdd myself (nick) as a src committer
nick [Fri, 20 Mar 2020 17:16:21 +0000 (17:16 +0000)]
Add myself (nick) as a src committer

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

4 years agoretire cx,ctau drivers
emaste [Fri, 20 Mar 2020 16:50:19 +0000 (16:50 +0000)]
retire cx,ctau drivers

The devices supported by these drivers are obsolete ISA cards, and the
sync serial protocols they supported are essentially obsolete too.

Sponsored by: The FreeBSD Foundation

4 years agoObsoleteFiles.inc: add blank line between some recent entries
emaste [Fri, 20 Mar 2020 16:25:06 +0000 (16:25 +0000)]
ObsoleteFiles.inc: add blank line between some recent entries

We recently switched to including a blank line between ObsoleteFiles.inc
entries.  I missed this when adding GCC 4.2.1 (because the change was
prepared months ago in a WIP tree); add a space for GCC 4.2.1 now, as
well as for the other entry after the switch.

4 years agolibelftc: Fix a memory leak in cpp_demangle_read_type().
markj [Fri, 20 Mar 2020 16:25:06 +0000 (16:25 +0000)]
libelftc: Fix a memory leak in cpp_demangle_read_type().

CID: 1305425
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoreadelf: Fix another instance of the leak mentioned in r357542.
markj [Fri, 20 Mar 2020 16:24:53 +0000 (16:24 +0000)]
readelf: Fix another instance of the leak mentioned in r357542.

CID: 1292493
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoreadelf: Avoid leaking ELF descriptors for archive entries.
markj [Fri, 20 Mar 2020 16:24:40 +0000 (16:24 +0000)]
readelf: Avoid leaking ELF descriptors for archive entries.

CID: 1292494
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agolibpe: Avoid a potential use-after-free in pe_update_symtab().
markj [Fri, 20 Mar 2020 16:24:23 +0000 (16:24 +0000)]
libpe: Avoid a potential use-after-free in pe_update_symtab().

This function appears to be unused within FreeBSD and ELFToolChain.

CID: 1418982
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agolibdwarf: Make an out-pointer assignment unconditional.
markj [Fri, 20 Mar 2020 16:24:06 +0000 (16:24 +0000)]
libdwarf: Make an out-pointer assignment unconditional.

There is no reason for diep to ever be NULL, since in that case we would
simply be leaking memory.

CID: 1418801
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

4 years agoSimplify uipc_detach() slightly.
markj [Fri, 20 Mar 2020 16:18:54 +0000 (16:18 +0000)]
Simplify uipc_detach() slightly.

Remove a goto and an unneeded local variable, and fix style.  No
functional change intended.

Tested by: pho
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agoRemove UNP_NASCENT, reverting r303855.
markj [Fri, 20 Mar 2020 16:17:54 +0000 (16:17 +0000)]
Remove UNP_NASCENT, reverting r303855.

unp_connectat() no longer holds the link lock across calls to
sonewconn(), so the recursion described in r303855 can no longer occur.
No functional change intended.

Tested by: pho
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation

4 years agosys/cam: remove doubled ;s
emaste [Fri, 20 Mar 2020 16:15:45 +0000 (16:15 +0000)]
sys/cam: remove doubled ;s

4 years agoremove ancient pre-2000 ObsoleteFiles.inc entries
emaste [Fri, 20 Mar 2020 16:02:45 +0000 (16:02 +0000)]
remove ancient pre-2000 ObsoleteFiles.inc entries

We support 10.3 as the minimum version to install from, which was
released in the mid-2010s.  There's a lot of ancient ObsoleteFiles.inc
history that serves no purpose today; start by removing entries from
1999 and earlier.

4 years agoRevert r359164.
imp [Fri, 20 Mar 2020 16:00:26 +0000 (16:00 +0000)]
Revert r359164.

This was in my staging tree by mistake when I pushed. Revert until it's ready.

4 years agoobjcopy: add new sections also when there is no .shstrtab
emaste [Fri, 20 Mar 2020 15:50:37 +0000 (15:50 +0000)]
objcopy: add new sections also when there is no .shstrtab

Previously objcopy (elfcopy) --add-sections inserted new sections before
.shstrtab, but omitted them if there was no .shstrtab.

Now, after processing existing sections add new sections if they were
not yet added.

PR: 241437
Reported by: arrowd
Submitted by: Tiger Gao <tig@FreeBSDFoundation.org>
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23571

4 years agoImplement a workaround for kms-drm modules
imp [Fri, 20 Mar 2020 15:07:25 +0000 (15:07 +0000)]
Implement a workaround for kms-drm modules

pci_iov_if.h was added to pci.h, but none of the kms-drm branches have
that. Rather than play whack a mole with the branches, move its inclusion to
linux_pci.c which is the only part of the code that needs it now.

Longer term, other solutions will be needed, but this gives us time to get those
deployed on all the supported versions.

4 years agoEliminate misuse of $MACHINE for userland things.
imp [Fri, 20 Mar 2020 15:07:21 +0000 (15:07 +0000)]
Eliminate misuse of $MACHINE for userland things.

Use TARGET_ARCH and/or MACHINE_ARCH exclusively. Change all __TT uses to __T
with appropriate translations. MACHINE/TARGET is to be used only for kernel
things.

4 years agoRemove sparc support from clang build infrastructure. Any remaining sparc files
imp [Fri, 20 Mar 2020 15:07:15 +0000 (15:07 +0000)]
Remove sparc support from clang build infrastructure. Any remaining sparc files
will be mopped up in future imports.

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

4 years agoRemove a set, but unused variable.
tuexen [Fri, 20 Mar 2020 14:49:44 +0000 (14:49 +0000)]
Remove a set, but unused variable.

MFC after: 1 week

4 years ago[PowerPC] fix panic reading /dev/kmem on !DMAP machines
alfredo [Fri, 20 Mar 2020 11:51:08 +0000 (11:51 +0000)]
[PowerPC] fix panic reading /dev/kmem on !DMAP machines

This fixes /dev/kmem causing panic on machines not using DMAP.

Found when running libkvm Kyua test case on QEMU VM with no
Huge Pages support.

Reviewed by: jhibbits, luporl
Approved by: jhibbits (mentor)
Sponsored by: Eldorado Research Institute (eldorado.org.br)
Differential Revision: https://reviews.freebsd.org/D23776

4 years agocxgbe(4): Split sge_nm_rxq into three cachelines.
np [Fri, 20 Mar 2020 05:12:16 +0000 (05:12 +0000)]
cxgbe(4): Split sge_nm_rxq into three cachelines.

This reduces the lines bouncing around between the driver rx ithread and
the netmap rxsync thread.  There is no net change in the size of the
struct (it continues to waste a lot of space).

This kind of split was originally proposed in D17869 by Marc De La
Gueronniere @ Verisign, Inc.

MFC after: 1 week
Sponsored by: Chelsio Communications

4 years agoAdd new USB device ID for Elecom 802.11ac USB device.
gavin [Fri, 20 Mar 2020 04:13:39 +0000 (04:13 +0000)]
Add new USB device ID for Elecom 802.11ac USB device.

MFC after: 2 weeks

4 years agoAdd DragonFly BSD 5.8 & 5.63
sevan [Fri, 20 Mar 2020 03:15:23 +0000 (03:15 +0000)]
Add DragonFly BSD 5.8 & 5.63

4 years agoA a missing NET_EPOCH_ENTER/NET_EPOCH_EXIT pair. This was affecting
tuexen [Thu, 19 Mar 2020 23:07:52 +0000 (23:07 +0000)]
A a missing NET_EPOCH_ENTER/NET_EPOCH_EXIT pair. This was affecting
implicit connection setups via sendmsg().

Reported by: syzbot+febbe3383a0e9b700c1b@syzkaller.appspotmail.com
Reported by: syzbot+dca98631455d790223ca@syzkaller.appspotmail.com
Reported by: syzbot+5a71a7760d6bcf11b8cd@syzkaller.appspotmail.com
Reported by: syzbot+da64217e140444c49f00@syzkaller.appspotmail.com

4 years agoFix synchronization in the IPV6_2292PKTOPTIONS set handler.
markj [Thu, 19 Mar 2020 21:38:52 +0000 (21:38 +0000)]
Fix synchronization in the IPV6_2292PKTOPTIONS set handler.

The inpcb needs to be locked when we update output packet options.
Otherwise it is possible for the IPV6_2292PKTOPTIONS handler to free
packet option structures while another thread is reading or updating
them.

Note that the option handler is still kind of broken.  For instance it
frees all options before performing privilege checks for individual
options.  However, this can be fixed separately.

Reported by: syzbot+52eb0fd4ddc119787f9d@syzkaller.appspotmail.com
Reviewed by: bz, tuexen
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24125

4 years agoloader: remove libsa/crc32.c and use version from zlib
tsoome [Thu, 19 Mar 2020 21:05:11 +0000 (21:05 +0000)]
loader: remove libsa/crc32.c and use version from zlib

we have crc32(const void *, size_t) in libsa. Unfortunately zlib has
crc32(long, const unigned char *, unsigned) and we have conflict.

Since we do build libsa with zlib, we can use zlib version instead.

Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D24068

4 years agoConsistently provide arguments for timer start and stop routines.
tuexen [Thu, 19 Mar 2020 21:01:16 +0000 (21:01 +0000)]
Consistently provide arguments for timer start and stop routines.
This is another step in cleaning up timer handling.
MFC after: 1 week

4 years agoCleanup the stream reset and asconf timer.
tuexen [Thu, 19 Mar 2020 18:55:54 +0000 (18:55 +0000)]
Cleanup the stream reset and asconf timer.

MFC after: 1 week

4 years agoloader: misaligned access of dos_partition structure
tsoome [Thu, 19 Mar 2020 17:27:08 +0000 (17:27 +0000)]
loader: misaligned access of dos_partition structure

armv7 crash due to misligned access of dos_partition dp_start field.

Allocate and make copy of dos_partition array to make sure the data
is aligned.

Reported by: marklmi at yahoo.com

4 years agoFix SES on device slots without phys after r349321.
mav [Thu, 19 Mar 2020 17:20:50 +0000 (17:20 +0000)]
Fix SES on device slots without phys after r349321.

Broadcom 9400-8i8e HBAs report virtual SES device, where slots representing
external connectors are reported having no phys.  Since sasdev_phys is NULL
there and proto_hdr is a union, ses_paths_iter() misinterpreted them as ATA.
Add explicit protocol check to properly differentiate them.

MFC after: 1 week
Sponsored by: iXsystems, Inc.

4 years agokern_dup(): Call filecaps_free_prep() in a write section.
markj [Thu, 19 Mar 2020 15:40:05 +0000 (15:40 +0000)]
kern_dup(): Call filecaps_free_prep() in a write section.

filecaps_free_prep() bzeros the capabilities structure and we need to be
careful to synchronize with unlocked readers, which expect a consistent
rights structure.

Reviewed by: kib, mjg
Reported by: syzbot+5f30b507f91ddedded21@syzkaller.appspotmail.com
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24120

4 years agoEnter a write sequence when updating rights.
markj [Thu, 19 Mar 2020 15:39:45 +0000 (15:39 +0000)]
Enter a write sequence when updating rights.

The Capsicum system calls modify file descriptor table entries.  To
ensure that readers observe a consistent snapshot of descriptor writes,
the system calls need to signal to unlocked readers that an update is
pending.

Note that ioctl rights are always checked with the descriptor table lock
held, so it is not strictly necessary to signal unlocked readers.
However, we probably want to enable lockless ioctl checks eventually, so
use seqc_write_begin() in kern_cap_ioctls_limit() too.

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

4 years agoThe MTU candidates MUST be a multiple of 4, so make them so.
tuexen [Thu, 19 Mar 2020 14:37:28 +0000 (14:37 +0000)]
The MTU candidates MUST be a multiple of 4, so make them so.

MFC after: 1 week

4 years agopfctl: improve rule load times with thousands of interfaces
kp [Thu, 19 Mar 2020 12:54:43 +0000 (12:54 +0000)]
pfctl: improve rule load times with thousands of interfaces

r343287 / D18759 introduced ifa_add_groups_to_map() which is now run by
ifa_load/ifa_lookup/host_if. When loading an anchor or ruleset via pfctl that
does NOT contain ifnames as hosts, host() still ends up iterating all
interfaces twice, grabbing SIOCGIFGROUP ioctl twice for each. This adds an
unnecessary amount of time on systems with thousands or tens of thousands of
interfaces.

Prioritize the IPv4/6 check over the interface name lookup, which skips loading
the iftab and iterating all interfaces when the configuration does not contain
interface names.

Submitted by: Nick Rogers
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D24100

4 years agoFix parameter reversal potentially causing buffer overrun.
dab [Thu, 19 Mar 2020 12:22:20 +0000 (12:22 +0000)]
Fix parameter reversal potentially causing buffer overrun.

Two arguments were reversed in calls to cam_strvis() in
nvme_da.c. This was found by a Coverity scan of this code within Dell
(Isilon). These are also marked in the FreeBSD Coverity scan as CIDs
1400526 & 1400531.

Submitted by: robert.herndon@dell.com
Reviewed by: vangyzen@, imp@
MFC after: 3 days
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D24117

4 years agoDocument my doc bit and that bcr@ was my mentor
0mp [Thu, 19 Mar 2020 10:20:32 +0000 (10:20 +0000)]
Document my doc bit and that bcr@ was my mentor

4 years agoDocument geli(8) loader variables conventions
0mp [Thu, 19 Mar 2020 09:23:26 +0000 (09:23 +0000)]
Document geli(8) loader variables conventions

The geli(8) manual page has an example for preloading keyfiles during boot.
There is no detail though on how the lookup of these variables actually
works.

Let's document that the name of a device does not have to be a part
of the variable.

PR: 243261
Submitted by: johannes@jo-t.de
Approved by: bcr (mentor)
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D24114

4 years agoCorrectly implement support for remote wakeup for USB 3.0 device.
hselasky [Thu, 19 Mar 2020 09:15:59 +0000 (09:15 +0000)]
Correctly implement support for remote wakeup for USB 3.0 device.

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

4 years agoFix race condition in catopen(3).
delphij [Thu, 19 Mar 2020 06:33:06 +0000 (06:33 +0000)]
Fix race condition in catopen(3).

The current code uses a rwlock to protect the cached list, which
in turn holds a list of catentry objects, and increments reference
count while holding only read lock.

Fix this by converting the reference counter to use atomic operations.

While I'm there, also perform some clean ups around memory operations.

PR: 202636
Reported by: Henry Hu <henry.hu.sh@gmail.com>
Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D24095

4 years agoMFOpenZFS: make zil max block size tunable
mav [Thu, 19 Mar 2020 01:05:54 +0000 (01:05 +0000)]
MFOpenZFS: make zil max block size tunable

We've observed that on some highly fragmented pools, most metaslab
allocations are small (~2-8KB), but there are some large, 128K
allocations.  The large allocations are for ZIL blocks.  If there is a
lot of fragmentation, the large allocations can be hard to satisfy.

The most common impact of this is that we need to check (and thus load)
lots of metaslabs from the ZIL allocation code path, causing sync writes
to wait for metaslabs to load, which can take a second or more.  In the
worst case, we may not be able to satisfy the allocation, in which case
the ZIL will resort to txg_wait_synced() to ensure the change is on
disk.

To provide a workaround for this, this change adds a tunable that can
reduce the size of ZIL blocks.

External-issue: DLPX-61719
Reviewed-by: George Wilson <george.wilson@delphix.com>
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #8865
openzfs/zfs@b8738257c2607c73c731ce8e0fd73282b266d6ef

MFC after: 2 weeks

4 years agoAdd file for static compilation of mlx5.
kib [Thu, 19 Mar 2020 00:53:31 +0000 (00:53 +0000)]
Add file for static compilation of mlx5.

Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agoAdd missing STAILQ_INIT() in ciss_disable_adapter().
mav [Thu, 19 Mar 2020 00:19:50 +0000 (00:19 +0000)]
Add missing STAILQ_INIT() in ciss_disable_adapter().

I think it should fix reported panic after "ADAPTER HEARTBEAT FAILED".

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

4 years agomlx5_core: lower the severity of message noting that no SR-IOV cap is present.
kib [Wed, 18 Mar 2020 22:47:14 +0000 (22:47 +0000)]
mlx5_core: lower the severity of message noting that no SR-IOV cap is present.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5: Route NIC_VPORT_CHANGE events to eswitch code.
kib [Wed, 18 Mar 2020 22:44:48 +0000 (22:44 +0000)]
mlx5: Route NIC_VPORT_CHANGE events to eswitch code.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5: Read number of VF ports from the SR-IOV cap.
kib [Wed, 18 Mar 2020 22:43:39 +0000 (22:43 +0000)]
mlx5: Read number of VF ports from the SR-IOV cap.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5: Use eswitch interface to configure VFs steering.
kib [Wed, 18 Mar 2020 22:40:26 +0000 (22:40 +0000)]
mlx5: Use eswitch interface to configure VFs steering.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5: Add 'follow' vport state, relevant for VFs.
kib [Wed, 18 Mar 2020 22:38:57 +0000 (22:38 +0000)]
mlx5: Add 'follow' vport state, relevant for VFs.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5: Integrate eswitch and mpfs management code.
kib [Wed, 18 Mar 2020 22:33:39 +0000 (22:33 +0000)]
mlx5: Integrate eswitch and mpfs management code.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5: Restore eswitch management code from attic.
kib [Wed, 18 Mar 2020 22:30:56 +0000 (22:30 +0000)]
mlx5: Restore eswitch management code from attic.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agoloader.efi: handle efi_cons_init() failure cases better
tsoome [Wed, 18 Mar 2020 22:21:42 +0000 (22:21 +0000)]
loader.efi: handle efi_cons_init() failure cases better

if we fail to allocate buffer, set up the TERM_EMU and continue.
On output, use TERM_EMU in case we did fail to allocate buffer.

4 years agomlx5: Basic PCIe side of SR-IOV support.
kib [Wed, 18 Mar 2020 22:17:01 +0000 (22:17 +0000)]
mlx5: Basic PCIe side of SR-IOV support.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agoPACKAGE_STRING should be the same as PACKAGE_VERSION.
cy [Wed, 18 Mar 2020 22:14:25 +0000 (22:14 +0000)]
PACKAGE_STRING should be the same as PACKAGE_VERSION.

MFC after: 3 days

4 years agolinuxkpi: Add infrastructure to pass FreeBSD IOV method calls into
kib [Wed, 18 Mar 2020 22:10:49 +0000 (22:10 +0000)]
linuxkpi: Add infrastructure to pass FreeBSD IOV method calls into
pci_driver methods.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agoAdd pci_iov_if.h header as a dependency for Linuxkpi consumers.
kib [Wed, 18 Mar 2020 22:09:16 +0000 (22:09 +0000)]
Add pci_iov_if.h header as a dependency for Linuxkpi consumers.

Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agomlx5_core: add sysctls to report device capabilities.
kib [Wed, 18 Mar 2020 21:54:32 +0000 (21:54 +0000)]
mlx5_core: add sysctls to report device capabilities.

Reviewed by: hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks

4 years agoDo not spuriously re-enable disabled io_apic pin on EOI for some configurations.
kib [Wed, 18 Mar 2020 21:34:52 +0000 (21:34 +0000)]
Do not spuriously re-enable disabled io_apic pin on EOI for some configurations.

If EOI suppression is supported but reported ioapic version is so old
that it does not has EOI register (weird virtualization setup), fix
Intel trick of eoi-ing by flipping pin type (edge/level) to account
for the disabled pin.

Reported by: Juniper
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D23965

4 years agoStop (trying to) renumber io apics.
kib [Wed, 18 Mar 2020 21:31:35 +0000 (21:31 +0000)]
Stop (trying to) renumber io apics.

It does not serve any purpose now, the io apic id is not seen by
software, and some Intel documents claim that the register is
implemented for FUD reasons.  More, renumbering seems to not work on
new Intel machines which actually have mismatched MADT and hw IDs.

On older machines where separate APIC bus existed, unique numbering of
all APICs was required for bus arbitration to work, but it is no
longer true (that machines were SMP from pre-Pentium IV era).

When matching PCIe IOAPIC device against MADT-enumerated IOAPICs,
compare io_apic_id from BAR against io_apic_id read from the
MADT-pointed register page.

Reviewed by: jhb
Tested by: flo (previous version), pho
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D23965

4 years agosrc.opts.mk: remove remaining support for pre-C++11 C++ compilers
emaste [Wed, 18 Mar 2020 21:28:55 +0000 (21:28 +0000)]
src.opts.mk: remove remaining support for pre-C++11 C++ compilers

Delete the conditions that forcibly disabled GOOGLETEST and LLDB for
pre-C++11 C++ compilers, since we no longer support such compilers.

Also delete the complicated method of defaulting LIBCPLUSPLUS to YES.

Prodded by: kevans
Sponsored by: The FreeBSD Foundation

4 years agoWiden the stored io_apic_id to 8 bits.
kib [Wed, 18 Mar 2020 21:24:34 +0000 (21:24 +0000)]
Widen the stored io_apic_id to 8 bits.

It seems that the newer Intel chipset did that, and Linux reads 8
bits. The only detail is that all seen datasheets, even under NDA,
claim that io apic id is 4 bits.

Submitted by: jeff
Reviewed by: jhb
Tested by: flo, pho
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D23965

4 years agoRevert r359083, fixed properly by r359088
emaste [Wed, 18 Mar 2020 21:20:10 +0000 (21:20 +0000)]
Revert r359083, fixed properly by r359088

r359083 introduced a workaround for stale libomp dependencies during a
regular (no -DNO_CLEAN) buildworld.  r359088 addressed the reason the
clean step missed libomp, so revert the workaround.

Sponsored by: The FreeBSD Foundation

4 years agosrc.opts.mk: drop C++11 compiler conditional from OPENMP
emaste [Wed, 18 Mar 2020 21:15:45 +0000 (21:15 +0000)]
src.opts.mk: drop C++11 compiler conditional from OPENMP

We no longer support older C++ compilers, so do not need to explicitly
test for C++11 support.

After r339946 we stopped running `cc --version` during cleandir/obj
stages, so stopped setting COMPILER_FEATURES.  This in turn meant
lib/libomp was excluded from the clean stage in a normal buildworld
(i.e., one without -DNO_CLEAN), and this is what caused recent build
failures with errors about missing ittnotify_static.c.

This commit should obviate the need for the workaround committed in
r359083.  Thanks to bdrewery for the insight and for pushing for a
correct fix.  There are more cleanups to be done, but this change is
a simplification and an improvement over r359083.

Sponsored by: The FreeBSD Foundation

4 years agoMerge commit 585a3cc31 from llvm git (by me):
dim [Wed, 18 Mar 2020 20:50:30 +0000 (20:50 +0000)]
Merge commit 585a3cc31 from llvm git (by me):

  Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec
  warnings.

  Summary:
  The former are like:

  libcxx/include/typeinfo:322:11: warning: definition of implicit copy
  constructor for 'bad_cast' is deprecated because it has a
  user-declared destructor [-Wdeprecated-copy-dtor]
    virtual ~bad_cast() _NOEXCEPT;
    ^
  libcxx/include/typeinfo:344:11: note: in implicit copy constructor
  for 'std::bad_cast' first required here
      throw bad_cast();
    ^

  Fix these by adding an explicitly defaulted copy constructor.

  The latter are like:

  libcxx/include/codecvt:105:37: warning: dynamic exception
  specifications are deprecated [-Wdeprecated-dynamic-exception-spec]
      virtual int do_encoding() const throw();
      ^~~~~~~

  Fix these by using the _NOEXCEPT macro instead.

  Reviewers: EricWF, mclow.lists, ldionne, #libc

  Reviewed By: EricWF, #libc

  Subscribers: dexonsmith, libcxx-commits

  Tags: #libc

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

This is because we use -Wsystem-headers during buildworld, and the two
warnings above are now triggered by default with clang 10, preventing
most C++ code from compiling without NO_WERROR.

Requested by: brooks
MFC after: 6 weeks
X-MFC-With: 358851
Differential Revision: https://reviews.freebsd.org/D24049

4 years agoMerge commit b8ebc11f0 from llvm git (by Sanjay Patel):
dim [Wed, 18 Mar 2020 20:44:40 +0000 (20:44 +0000)]
Merge commit b8ebc11f0 from llvm git (by Sanjay Patel):

  [EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083)

  As discussed in PR41083:
  https://bugs.llvm.org/show_bug.cgi?id=41083
  ...we can assert/crash in EarlyCSE using the current hashing scheme
  and instructions with flags.

  ValueTracking's matchSelectPattern() may rely on overflow (nsw, etc)
  or other flags when detecting patterns such as min/max/abs composed
  of compare+select. But the value numbering / hashing mechanism used
  by EarlyCSE intersects those flags to allow more CSE.

  Several alternatives to solve this are discussed in the bug report.
  This patch avoids the issue by doing simple matching of min/max/abs
  patterns that never requires instruction flags. We give up some CSE
  power because of that, but that is not expected to result in much
  actual performance difference because InstCombine will canonicalize
  these patterns when possible. It even has this comment for abs/nabs:

    /// Canonicalize all these variants to 1 pattern.
    /// This makes CSE more likely.

  (And this patch adds PhaseOrdering tests to verify that the expected
  transforms are still happening in the standard optimization
  pipelines.

  I left this code to use ValueTracking's "flavor" enum values, so we
  don't have to change the callers' code. If we decide to go back to
  using the ValueTracking call (by changing the hashing algorithm
  instead), it should be obvious how to replace this chunk.

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

This fixes an assertion when building the math/gsl port on PowerPC64.

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

4 years agoMerge commit 315f8a55f from llvm git (by Fangrui Song):
dim [Wed, 18 Mar 2020 20:38:15 +0000 (20:38 +0000)]
Merge commit 315f8a55f from llvm git (by Fangrui Song):

  [ELF][PPC32] Don't report "relocation refers to a discarded section"
  for .got2

  Similar to D63182 [ELF][PPC64] Don't report "relocation refers to a
  discarded section" for .toc

  Reviewed By: Bdragon28

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

This is needed to fix compile errors when building for ppc32/lld10.

Requested by: bdragon
MFC after: 6 weeks
X-MFC-With: 358851
Differential Revision: https://reviews.freebsd.org/D24110

4 years agoMerge commit 00925aadb from llvm git (by Fangrui Song):
dim [Wed, 18 Mar 2020 20:28:26 +0000 (20:28 +0000)]
Merge commit 00925aadb from llvm git (by Fangrui Song):

  [ELF][PPC32] Fix canonical PLTs when the order does not match the PLT order

  Reviewed By: Bdragon28

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

This is needed to fix miscompiled canonical PLTs on ppc32/lld10.

Requested by: bdragon
MFC after: 6 weeks
X-MFC-With: 358851
Differential Revision: https://reviews.freebsd.org/D24109

4 years agoinvoke _cleanobj_fast_depend_hack unconditionally
emaste [Wed, 18 Mar 2020 20:12:46 +0000 (20:12 +0000)]
invoke _cleanobj_fast_depend_hack unconditionally

Apparently make ${CLEANDIR} is leaving stale entries in .depend files;
for now invoke the hacky cleanup in both the -DNO_CLEAN and normal
(no -DNO_CLEAN) cases.

In collaboration with: dim
Sponsored by: The FreeBSD Foundation

4 years agoMerge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
dim [Wed, 18 Mar 2020 18:26:53 +0000 (18:26 +0000)]
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.0-rc4-5-g52c365aa9ca.  The actual release should follow Real
Soon Now.

PR:             244251
MFC after:      6 weeks

4 years agoFixup line lost from previous commit (r359072)
freqlabs [Wed, 18 Mar 2020 17:01:03 +0000 (17:01 +0000)]
Fixup line lost from previous commit (r359072)

Reviewed by: kevans
Approved by: mav (mentor)
MFC after: 1 week
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D24115

4 years agoloader: Add a "kernel.loaded" hook
freqlabs [Wed, 18 Mar 2020 16:21:11 +0000 (16:21 +0000)]
loader: Add a "kernel.loaded" hook

This hook can be useful, for example to run a local function to choose
different modules to load when a user has picked a different kernel
from the menu.

Reviewed by: kevans
Approved by: mav (mentor)
MFC after: 1 week
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D24115

4 years agoDocument that posixshmcontrol first appeared in 12.1
0mp [Wed, 18 Mar 2020 15:02:09 +0000 (15:02 +0000)]
Document that posixshmcontrol first appeared in 12.1

Also while here, I am addressing some linting issues.

PR: 243132
Submitted by: Noah Altunian <nbaltunian gmail com>
Approved by: bcr (mentor)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D24112

4 years agoif_muge: use C99 bool for boolean vars
emaste [Wed, 18 Mar 2020 14:16:14 +0000 (14:16 +0000)]
if_muge: use C99 bool for boolean vars

4 years agoAdd fsck_flags config option
luporl [Wed, 18 Mar 2020 13:09:47 +0000 (13:09 +0000)]
Add fsck_flags config option

On UFS with SU+J, sometimes fsck's default recovery from journal marks the
filesystem as clean but some errors remain.

With SU only, default fsck in preen mode sometimes thinks all errors have
been fixed but some still remain.

To address the issues above, this change adds a new config option:
fsck_flags.  By default it's set to -p, but the user may change it to -y
or -f -y, for instance, to force a full fsck after a system crash.

Submitted by: jhibbits@ (original version)
Reviewed by: mckusick
Differential Revision: https://reviews.freebsd.org/D24087

4 years agoRemove /etc/host.conf, which was automatically generated from
hrs [Wed, 18 Mar 2020 08:17:24 +0000 (08:17 +0000)]
Remove /etc/host.conf, which was automatically generated from
nsswitch.conf for backward compatibility.  This file was used
over 19 years ago, before introducing nsdispatch() in the
name-service lookup APIs.

MFC after: 3 days

4 years ago-F is GNU diff specific, not implemented in BSD diff.
hrs [Wed, 18 Mar 2020 08:00:46 +0000 (08:00 +0000)]
-F is GNU diff specific, not implemented in BSD diff.

Reported by: kouya@ryuhoku.jp
MFC after: 3 days

4 years agoRemove wrong entries added in the previous commit.
jkim [Wed, 18 Mar 2020 05:28:36 +0000 (05:28 +0000)]
Remove wrong entries added in the previous commit.

Pointyhat to: jkim

4 years agoBhyve: log message when rfb client connects
bcran [Wed, 18 Mar 2020 03:17:15 +0000 (03:17 +0000)]
Bhyve: log message when rfb client connects

Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D24098

4 years agoBhyve: DPRINTF already includes newline, so don't add another
bcran [Wed, 18 Mar 2020 03:15:57 +0000 (03:15 +0000)]
Bhyve: DPRINTF already includes newline, so don't add another

Reviewed by: jhb, vmaffione, emaste
Differential Revision: https://reviews.freebsd.org/D24099

4 years agoath_hal: fix typo in ath_hal_printf
bcran [Wed, 18 Mar 2020 03:14:17 +0000 (03:14 +0000)]
ath_hal: fix typo in ath_hal_printf

4 years ago[PowerPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic().
bdragon [Wed, 18 Mar 2020 02:58:18 +0000 (02:58 +0000)]
[PowerPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic().

When I implemented MD DYNAMIC parsing, I was originally passing a
linker_file_t so that the MD code could relocate pointers.

However, it turns out this isn't even filled in until later, so it was
always 0.

Just pass the load base (ef->address) directly, as that's really the only
thing we were interested in in the first place.

This fixes a crash on RB800 where it was trying to write to an unmapped
address when updating the GOT.

Reviewed by: jhibbits
Sponsored by: Tag1 Consulting, Inc.
Differential Revision: https://reviews.freebsd.org/D24105

4 years agoReduce diff with the vendor version. No functional change.
jkim [Wed, 18 Mar 2020 02:20:03 +0000 (02:20 +0000)]
Reduce diff with the vendor version.  No functional change.

4 years agoMerge OpenSSL 1.1.1e.
jkim [Wed, 18 Mar 2020 02:13:12 +0000 (02:13 +0000)]
Merge OpenSSL 1.1.1e.

4 years agopowerpc: Axe PPC4xx support.
jhibbits [Wed, 18 Mar 2020 01:09:43 +0000 (01:09 +0000)]
powerpc: Axe PPC4xx support.

Summary:
The support was added almost a decade ago, and never completed.  Just axe
it.  It was also inadvertently broken 5 years ago, and nobody noticed.

Reviewed by: bdragon
Differential Revision: https://reviews.freebsd.org/D23753

4 years agoRemove spurious warning about invalid VPD data.
np [Wed, 18 Mar 2020 01:09:40 +0000 (01:09 +0000)]
Remove spurious warning about invalid VPD data.

The warning used to be displayed for valid VPDs about 512B or above in
size.  Fix the size check and add a break while here so that the routine
stops if if detects any problem.

Tested with "pciconf -lV"

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

4 years agoFix the workaround to ignore the #warning for GCC.
jhb [Tue, 17 Mar 2020 23:22:07 +0000 (23:22 +0000)]
Fix the workaround to ignore the #warning for GCC.

clang and gcc use different warning flags for #warning preprocessor
directives.

Reported by: Jenkins
MFC after: 1 week