]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
3 years agoRevert r361645. The current quarterly ports branch contains ebsnvme-id,
Colin Percival [Tue, 22 Sep 2020 18:18:57 +0000 (18:18 +0000)]
Revert r361645.  The current quarterly ports branch contains ebsnvme-id,
so packages are now available for all architectures.

(Direct commit to stable/12 since r361645 never happened in HEAD.)

3 years agoMFC r365853: domainset(9): Some markup fixes
Gordon Bergling [Tue, 22 Sep 2020 17:30:53 +0000 (17:30 +0000)]
MFC r365853: domainset(9): Some markup fixes

- new sentence, new line
- whitespace at end of input line

3 years agoMFC r365854: VOP_INACTIVE(9): Remove trailing whitespace
Gordon Bergling [Tue, 22 Sep 2020 17:29:44 +0000 (17:29 +0000)]
MFC r365854: VOP_INACTIVE(9): Remove trailing whitespace

3 years agoMFC r365857: pwmbus(9): some markup fixes
Gordon Bergling [Tue, 22 Sep 2020 17:28:32 +0000 (17:28 +0000)]
MFC r365857: pwmbus(9): some markup fixes

- whitespace at end of input line

3 years agoMFC r365729:
Ian Lepore [Tue, 22 Sep 2020 14:59:05 +0000 (14:59 +0000)]
MFC r365729:

Add product ID strings for a couple Microchip usb hubs.  Also, update the
vendor ID string to say just "Microchip Technology" -- the buyout of
Standard Microsystems happened in 2012 and the SMC/SMSC names are pretty
much retired at this point.

PR: 241406

3 years agoMFC r365304, r365459
Mitchell Horne [Tue, 22 Sep 2020 14:15:06 +0000 (14:15 +0000)]
MFC r365304, r365459

r365304:
arm64: update the set of HWCAP definitions

r365459:
arm64: fix incorrect HWCAP definitions

Sponsored by: The FreeBSD Foundation

3 years agoMFC r365749:
Mark Johnston [Tue, 22 Sep 2020 12:14:46 +0000 (12:14 +0000)]
MFC r365749:
Fix some posixshmcontrol nits.

3 years agoMFC r365829, r365837, r365852: certctl rehash upon install/distribute
Kyle Evans [Tue, 22 Sep 2020 02:14:55 +0000 (02:14 +0000)]
MFC r365829, r365837, r365852: certctl rehash upon install/distribute

r365829:
installworld: run `certctl rehash` after installation completes

This was originally introduced back in r360833, and subsequently reverted
because it was broken for -DNO_ROOT builds and it may not have been the
correct place for it.

While debatably this may still not be 'the correct place,' it's much cleaner
than scattering rehashes all throughout the tree. brooks has fixed the issue
with -DNO_ROOT by properly writing to the METALOG in r361397.

Do note that this is different than what was originally committed; brooks
had revisions in D24932 that made it actually use the revised unprivileged
mode and write to METALOG, along with being a little more friendly to
foreign crossbuilds and just using the certctl in-tree.

With this change, I believe we should now have a populated /etc/ssl/certs in
the VM images.

r365837:
Promote the installworld `certctl rehash` to distributeworld

Contrary to my belief, installworld is not sufficient for getting certs
installed into VM images. Promote the rehash to both installworld and
distributeworld (notably: not stageworld) and rehash the base distdir so we
end up with /etc/ssl/certs populated in the base dist archive. A future
commit will remove the rehash from bsdinstall, which doesn't really need to
happen if they're installed into base.txz.

While here, fix a minor typo: s/CERTCLTFLAGS/CERTCTLFLAGS/

r365852:
Revert r361257: bsdinstall: do a `certctl rehash` upon installation [...]

As of r365829, any given base distribution set will now include the /etc/ssl
symlinks that this rehash would've otherwise installed. This extra step is
no longer required.

3 years agoMFC r365896: caroot: update base store
Kyle Evans [Tue, 22 Sep 2020 01:58:18 +0000 (01:58 +0000)]
MFC r365896: caroot: update base store

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

3 years agoMFC r365774 and r365776
Eric Joyner [Mon, 21 Sep 2020 22:52:57 +0000 (22:52 +0000)]
MFC r365774 and r365776

These two commits fix issues in em(4)/igb(4):
- Fix define and includes with RSS option enabled
- Properly retain promisc flag in init

PR: 249191, 248869
MFC after: 1 day

3 years agoMark sysctls added in r365689 as MPSAFE.
Mark Johnston [Mon, 21 Sep 2020 22:22:06 +0000 (22:22 +0000)]
Mark sysctls added in r365689 as MPSAFE.

This is a direct commit to stable/12.

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

3 years agoMFC of 365700
Kirk McKusick [Mon, 21 Sep 2020 19:25:41 +0000 (19:25 +0000)]
MFC of 365700

Switch to more appropriate libufs interfaces in newfs.

Sponsored by: Netflix

3 years agoMFC r364932:
Hans Petter Selasky [Mon, 21 Sep 2020 18:27:44 +0000 (18:27 +0000)]
MFC r364932:
Allow slow USB devices to be given more time to return their USB descriptors,
like Logitech HD Pro Webcam C920.

PR: 248926
Sponsored by: Mellanox Technologies

3 years agoMFC r365238:
Hans Petter Selasky [Mon, 21 Sep 2020 18:24:28 +0000 (18:24 +0000)]
MFC r365238:
Assert that cc_exec_drain(cc, direct) is NULL before assigning a new value.

Suggested by: markj@
Tested by: callout_test
Sponsored by: Mellanox Technologies // NVIDIA Networking

3 years agoMFC r365237:
Hans Petter Selasky [Mon, 21 Sep 2020 18:21:59 +0000 (18:21 +0000)]
MFC r365237:
Micro optimise _callout_stop_safe() by removing dead code.

The CS_DRAIN flag cannot be set at the same time like the async-drain function
pointer is set. These are orthogonal features. Assert this at the beginning
of the function.

Before:
        if (flags & CS_DRAIN) {
                /* FALLTHROUGH */
        } else if (xxx) {
                return yyy;
        }
        if (drain) {
                zzz = drain;
        }
After:
        if (flags & CS_DRAIN) {
                /* FALLTHROUGH */
        } else if (xxx) {
                return yyy;
        } else {
                if (drain) {
                        zzz = drain;
                }
        }

Reviewed by: markj@
Tested by: callout_test
Differential Revision: https://reviews.freebsd.org/D26285
Sponsored by: Mellanox Technologies // NVIDIA Networking

3 years agoMFC r365719:
Hans Petter Selasky [Mon, 21 Sep 2020 18:18:53 +0000 (18:18 +0000)]
MFC r365719:
Poll statistics more frequently in mlx5en(4).

This makes traffic steering algorithms more accurate.

Submitted by: gallatin @
Sponsored by: Mellanox Technologies // NVIDIA Networking

3 years agoMFC r363887 (by manu), r365395: allwinner: clk: Fix nm clock calculation
Andriy Gapon [Mon, 21 Sep 2020 09:50:57 +0000 (09:50 +0000)]
MFC r363887 (by manu), r365395: allwinner: clk: Fix nm clock calculation

r363887:
Use the right factor when finding the best frequency and compare the
absolute value of the result.
Submitted by: kibab

r365395:
aw_clk_nm: fix incorrect use of abs()
abs() takes a (signed) int as input.
Instead, it was used with unsigned 64-bit integers.
So, add and use a new helper function to calculate a difference between
two uint64_t-s.

3 years agoMFC r365861 and r365872.
Navdeep Parhar [Mon, 21 Sep 2020 08:16:42 +0000 (08:16 +0000)]
MFC r365861 and r365872.

r365861:
cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0.

r365872:
cxgbe(4): add the firmware binaries instead of the empty files that were added
in r365861.

Obtained from: Chelsio Communications
Sponsored by: Chelsio Communications

3 years agoMFC: r365703
Rick Macklem [Mon, 21 Sep 2020 00:50:32 +0000 (00:50 +0000)]
MFC: r365703
Fix a case where the NFSv4.0 server might crash if delegations are enabled.

asomers@ reported a crash on an NFSv4.0 server with a backtrace of:
kdb_backtrace
vpanic
panic
nfsrv_docallback
nfsrv_checkgetattr
nfsrvd_getattr
nfsrvd_dorpc
nfssvc_program
svc_run_internal
svc_thread_start
fork_exit
fork_trampoline
where the panic message was "docallb", which indicates that a callback
was attempted when the ClientID is unconfirmed.
This would not normally occur, but it is possible to have an unconfirmed
ClientID structure with delegation structure(s) chained off it if the
client were to issue a SetClientID with the same "id" but different
"verifier" after acquiring delegations on the previously confirmed ClientID.

The bug appears to be that nfsrv_checkgetattr() failed to check for
this uncommon case of an unconfirmed ClientID with a delegation structure
that no longer refers to a delegation the client knows about.

This patch adds a check for this case, handling it as if no delegation
exists, which is the case when the above occurs.
Although difficult to reproduce, this change should avoid the panic().

PR: 249127

3 years agoMFC r365841:
Mark Johnston [Sun, 20 Sep 2020 16:49:48 +0000 (16:49 +0000)]
MFC r365841:
Increase the default vm.max_user_wired value.

3 years agoMFC r365863:
Konstantin Belousov [Sun, 20 Sep 2020 09:47:28 +0000 (09:47 +0000)]
MFC r365863:
State kgssapi dependency on xdr.

PR: 249378

3 years agoMFC r365830: make it possible recovering broken GPT after some LBAs cut off
Eugene Grosbein [Sun, 20 Sep 2020 05:23:16 +0000 (05:23 +0000)]
MFC r365830: make it possible recovering broken GPT after some LBAs cut off

If pre-formatted device has GPT and a partition covering
last available LBAs and the device is attached using
a bridge reducing amount of LBAs, then it could be not enough
forcing GEOM to use primary GPT. Also, we should make it possible
to recover GPT and this requires either deleting or resizing the partition.

This change enables "gpart delete" and "gpart resize" commands
on corrupted GPT with following "gpart recover".

It still does not allow modifying corrupted GPT without
preliminary setting sysctl kern.geom.part.check_integrity=0

Reported by: Alex Korchmar

3 years agoMFC r361361, r365791
Baptiste Daroussin [Sat, 19 Sep 2020 20:17:08 +0000 (20:17 +0000)]
MFC r361361, r365791

r361361:
Update pciids to 2020.05.22

r365791:
Update to 2020.08.19

3 years agoMFC r361688-r361690, r365041
Baptiste Daroussin [Sat, 19 Sep 2020 20:15:51 +0000 (20:15 +0000)]
MFC r361688-r361690, r365041

r361688:
Restore compatibility with GNU diff regarding --label

Various options to "diff(1)" show filenames, and traditionally make use of the
"--label" parameter, if set.

Restore this behaviour in BSD diff.

While here add a regression test

PR:  244533
Submitted by: Jamie Landeg-Jones <jamie@catflap.org>

r361689:
diff: restore compatibility with GNU diff regarding -N option

When -N is used the missing files are treated as empty.

PR:  233402
Submitted by: Fehmi Noyan Isi <fnoyanisi@yahoo.com>
Reported by: Roman Neuhauser <roman@sigpipe.cz>
Differential Revision: D25081

r361690:
Document long version of -b option

PR:  234195
Submitted by: Fehmi Noyan Isi <fnoyanisi@yahoo.com>
Reported by: Andras Farkas <deepbluemistake@gmail.com>

r365041:
diff: always properly kill pr(1)

When diff is invoked with -l it will spawn the pr(1) program.
In some circumpstances the pr(1) was not properly killed when diff program
exits.

Submitted by: Bret Ketchum
Differential Revision: https://reviews.freebsd.org/D26232

3 years agoMFC r360775:
Baptiste Daroussin [Sat, 19 Sep 2020 20:06:30 +0000 (20:06 +0000)]
MFC r360775:

Fix indentation of the Kitty entry

3 years agoMFC r365391, r365415
Alan Somers [Sat, 19 Sep 2020 19:48:15 +0000 (19:48 +0000)]
MFC r365391, r365415

r365391:
nsswitch.conf(5): recommend placing cache after files

When cache precedes files, and nscd is configured to allow negative caching,
commands like "pw groupadd" can fail. The sequence of events looks like:

1. A command like pkg(8) looks up the group, and finds it absent.
2. pkg invokes pw(8) to add the group
3. pkg queries the group, but nscd says it doesn't exist, since it has a
   negative cache entry for that group.

See also: https://lists.freebsd.org/pipermail/freebsd-current/2012-January/031595.html

Reviewed by: bcr (manpages)
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D26184

r365415:
nsswitch.conf.5: style fixes

Fix some whitespace, and remove the .Tn macro

Reported by: mandoc, igor
Reviewed by: bcr (manpages)
Differential Revision: https://reviews.freebsd.org/D26345

3 years agoMFC r363361:
Alan Somers [Sat, 19 Sep 2020 18:25:52 +0000 (18:25 +0000)]
MFC r363361:

tests/sys/opencrypto: use python3

python2 will be EOL soon

Reviewed by: lwhsu, jmg
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D25682

3 years agoMFC r365809:
Konstantin Belousov [Sat, 19 Sep 2020 18:02:55 +0000 (18:02 +0000)]
MFC r365809:
Style.

3 years agoMFC r365756: certctl: fix unprivileged mode
Kyle Evans [Fri, 18 Sep 2020 22:24:51 +0000 (22:24 +0000)]
MFC r365756: certctl: fix unprivileged mode

The first issue was lack of quoting around INSTALLFLAGS, which set it
incorrectly and produced an error on -M.

The second issue was that we weren't actually doing the install in
unprivileged mode, making it effectively useless. This was designed to pass
through the proper metalog/unpriv flags to install(1), so just let it
happen.

3 years agoMFC r360219:
Konstantin Belousov [Thu, 17 Sep 2020 22:27:07 +0000 (22:27 +0000)]
MFC r360219:
Make nfslockd depend on xdr.

PR: 249378

3 years agoUpdate naming of per-dataset counters introduced in r365689
Allan Jude [Thu, 17 Sep 2020 21:51:05 +0000 (21:51 +0000)]
Update naming of per-dataset counters introduced in r365689

Upstream OpenZFS is changing the structure of the sysctl mibs to avoid
having a / in the element name. Chase this change here to avoid introducing
a new sysctl that will change named between 12.2 and 13.0

MFC-with: 365689
Relnotes: yes (fix example)
Sponsored by: Klara Inc.

3 years agoMFC r365646, r365720:
Glen Barber [Thu, 17 Sep 2020 16:09:38 +0000 (16:09 +0000)]
MFC r365646, r365720:
 r365646:
  Enclose BRANCH_OVERRIDE in quotes in order to fix an issue with
  freebsd-update(8) builds, where BRANCH is suffixed with -p0 for
  builds.

 r365720 (gordon):
  Partially revert r346018 and use the if/then construct instead of
  shell.

Sponsored by: Rubicon Communications, LLC (netgate.com)

3 years agoMFC r365631: Only set WARNS if not defined
Kyle Evans [Wed, 16 Sep 2020 23:17:15 +0000 (23:17 +0000)]
MFC r365631: Only set WARNS if not defined

This would allow interested parties to do experimental runs with an
environment set appropriately to raise all the warnings throughout the
build; e.g. env WARNS=6 NO_WERROR=yes buildworld.

Not currently touching the numerous instances in ^/tools.

3 years agoMFC r365493-r365494, r365600, r365602, r365637: various WARNS fixes
Kyle Evans [Wed, 16 Sep 2020 23:14:22 +0000 (23:14 +0000)]
MFC r365493-r365494, r365600, r365602, r365637: various WARNS fixes

r365493:
libc/resolv: attempt to fix the test under WARNS=6

In a side-change that I'm working on to start defaulting src builds to
WARNS=6 where WARNS isn't otherwise specified, GCC6 (and clang, to a lesser
extent) pointed out a number of issues with the resolv tests:

- Global method variable that gets shadowed in run_tests()
- Signed/unsigned comparison between i in run_tests() and hosts->sl_cur

The shadowed variable looks like it might actually be bogus as written, as
we pass it to RUN_TESTS -> run_tests, but other parts use the global method
instead. This change is mainly geared towards correcting that by removing
the global and plumbing the method through from run_tests -> run into the
new thread.

For the signed/unsigned comparison, there's no compelling reason to not just
switch i/nthreads/nhosts to size_t.

The review also included a change to the load() function that was better
addressed by jhb in r365302.

r365494:
libc tests: dynthr_mod: fix some WARNS issues

This is being addressed as part of a side-patch I'm working on that builds
all the things with WARNS=6, instead of relying on it being supplied in just
shallow parts of the build with higher-level Makefile.inc.

Provide a prototype for mod_main and annotate the thread function argument
as unused.

r365600:
MFV r365599: import fix for a libexecinfo warning at higher WARNS

v1.17 of this file included a fix that I just submitted upstream to fix a
warning about prevent_inline with external linkage not having been
previously declared.

r365602:
librt: tests: fix minor issues with higher WARNS

got_sigalrm is a global with external linkage and must therefore have a
previous extern declaration. There's no reason to maintain the status quo
there, so just make it static.

The result var is unused.

This part of the test has not been upstreamed, presumably because it exists
solely for sem_clockwait_np. We should perhaps consider moving it into its
own test file outside of ^/contrib/netbsd-tests, but this can happen later.

r365637:
MFV r365636: libarchive: import fix for WARNS=6 builds in testing bits

Two more cases of explicitly marking globals for internal linkage where they
need not be shared. Committed upstream as of a38e62314a1f.

3 years agoMFC 365276: Compute the correct size of the string to move forward.
John Baldwin [Wed, 16 Sep 2020 22:55:27 +0000 (22:55 +0000)]
MFC 365276: Compute the correct size of the string to move forward.

Previously this was counting the amount of spare room at the start of
the buffer that the string needed to move forward and passing that as
the number of bytes to copy to memmove rather than the length of the
string to be copied.

In the strfmon test in the test suite this caused the memmove to
overflow the allocated buffer by one byte which CHERI caught.

3 years agoMFC outstanding crunchgen work: r350152, r364166, r364174, r364234,
Kyle Evans [Wed, 16 Sep 2020 22:36:03 +0000 (22:36 +0000)]
MFC outstanding crunchgen work: r350152, r364166, r364174, r364234,
r364646-r364647, r365605, r365705

r350152:
Remove obsolete RELEASE_CRUNCH

Remove documentation of RELEASE_CRUNCH here. It's obsolete and no longer a
good example.

r364166:
Fix crunchgen usage of mkstemp()

On Glibc systems mkstemp can only be used once with the same template
string since it will be modified in-place and no longer contain any 'X'
chars. It is fine to reuse the same file here but we need to be explicit and
use open() instead of mkstemp() on the second use.

While touching this file also avoid a hardcoded /bin/pwd since that may not
work when building on non-FreeBSD systems.

r364174:
Use env pwd instead of pwd in crunchgen.c

In r364166 I changed /bin/pwd to pwd, but pwd can be shell builtin that
may not correctly return a real path. To ensure that all symlinks are
resolved use `env pwd -P` instead (the -P flag is part of POSIX so
should be supported everywhere).

r364234:
crunchgen: use pwd -P without env

The -P flag is required by POSIX so we don't have to care whether pwd is
a shell builtin or not. This also allows removing pwd from the list of
bootstrap tools since all shells we care about for building have a
builtin pwd command. This effectively reverts r364190.

r364646:
Re-indent crunched_main.c in preparation for D25998

r364647:
Correctly determine the real executable in crunched binaries

This should fix cases like su setting argv[0] to _su for /bin/sh.
Previously cheribsdbox (a crunched tool we use in CheriBSD to reduce the
size of our minimal disk images to allow loading them onto FPGAs without
waiting forever for the transfer) would complain about _su not being
compiled in, but now that we also look at AT_EXECPATH it correctly
invokes the sh tool.

Note: we use use AT_EXECPATH instead of the KERN_PROC_PATHNAME sysctl to get
the crunchgen binary name since it seems like KERN_PROC_PATHNAME just
returns the last cached path for a given hardlink.
When using `su`, instead of invoking /bin/csh this would invoke the last
used hardlink to cheribsdbox. This caused weird test failures when running
tests due to `id` being executed instead of `echo`:

$ id  # id is a hardlink to /bin/cheribsdbox
$ su postgres -c 'echo 1' # su is also a hardlink
uid=1001(postgres) gid=1001(postgres) groups=1001(postgres)

r365605:
crunchgen(8): fix crunched application build with WARNS=6

This was revealed by the rescue build with a patch I'm working on to default
WARNS=6 everywhere. The issues resolved were:

- Missing prototype for _crunched_${ident}_stub in the *_stub.c generated
  bits
- Missing prototype for crunched_main
- Incomplete prototype for _crunched_${ident}_stub in the generated parts of
  crunched_main
- Literal strings in the stub table must drop const qualifier, unless we
  const'ify name
- f field in struct stub didn't have a proper prototype

Most of these issues are minor formalities and easily addressed.

I note that if my patch to eventually raise WARNS for the rescue build
lands, we'll need to bump the __FreeBSD_version requirement for
bootstrapping crunchgen and wipe out the rescue .OBJDIR if it's stale, which
we should be able to detect pretty easily from a couple of the issues that
have been fixed here.

r365705:
__FreeBSD_version bump for r365605 (crunchgen producing WARNS-clean)

The change in D26397 will need a __FreeBSD_version to base off of for
bootstrapping crunchgen, to avoid avoidable build failures just because the
host has an outdated crunchgen.

3 years agoConnect new ZFS source file to the kernel build
Allan Jude [Wed, 16 Sep 2020 20:58:24 +0000 (20:58 +0000)]
Connect new ZFS source file to the kernel build

This was missed in r365689

This causes compile issues when building ZFS into the kernel

PR: 249311
MFC-with: r365689
Sponsored by: Klara Inc.

3 years agoMFC r365515:
Konstantin Belousov [Wed, 16 Sep 2020 15:48:32 +0000 (15:48 +0000)]
MFC r365515:
Move MAP_32BIT_MAX_ADDR definition to sys/mman.h.

3 years agoMFC r365516:
Konstantin Belousov [Wed, 16 Sep 2020 15:45:35 +0000 (15:45 +0000)]
MFC r365516:
Add vm_map_find_aligned(9).

3 years agoMFC r365513:
Konstantin Belousov [Wed, 16 Sep 2020 15:42:58 +0000 (15:42 +0000)]
MFC r365513:
Prepare to handle non-trivial errors from vm_map_delete().

3 years agoMFC r365488:
Konstantin Belousov [Wed, 16 Sep 2020 15:38:22 +0000 (15:38 +0000)]
MFC r365488:
Allow consumer to customize physical pager.

3 years agoMFC r365486:
Konstantin Belousov [Wed, 16 Sep 2020 14:20:45 +0000 (14:20 +0000)]
MFC r365486:
Add kern_mmap_racct_check(), a helper to verify limits in vm_mmap*().

3 years agoMFC r365485:
Konstantin Belousov [Wed, 16 Sep 2020 14:16:09 +0000 (14:16 +0000)]
MFC r365485:
Convert allocations of the phys pager to vm_pager_allocate().

3 years agoMFC r365484:
Konstantin Belousov [Wed, 16 Sep 2020 14:14:26 +0000 (14:14 +0000)]
MFC r365484:
Add interruptible variant of vm_wait(9), vm_wait_intr(9).

3 years agoAdd a mem(4) ioctl stub for sparc64.
Mark Johnston [Wed, 16 Sep 2020 14:12:57 +0000 (14:12 +0000)]
Add a mem(4) ioctl stub for sparc64.

This is a direct commit to stable/12.

Reported by: Jenkins

3 years agoMFC r365265:
Mark Johnston [Wed, 16 Sep 2020 13:46:58 +0000 (13:46 +0000)]
MFC r365265:
Add the MEM_EXTRACT_PADDR ioctl to /dev/mem.

3 years agoMFC r365502:
Mark Johnston [Wed, 16 Sep 2020 13:45:53 +0000 (13:45 +0000)]
MFC r365502:
ggate: Fix ggated/ggatec debug print of offsets.

3 years agoMFC r365510:
Konstantin Belousov [Wed, 16 Sep 2020 07:53:15 +0000 (07:53 +0000)]
MFC r365510:
uipc_shm.c: Move comment where it belongs.

3 years agoMFC r365775: bhyve: do not permit write access to VMCB / VMCS
Ed Maste [Tue, 15 Sep 2020 21:28:47 +0000 (21:28 +0000)]
MFC r365775: bhyve: do not permit write access to VMCB / VMCS

Reported by: Patrick Mooney
Submitted by: jhb
Security: CVE-2020-24718

3 years agoMFC r365771:
Mark Johnston [Tue, 15 Sep 2020 20:55:13 +0000 (20:55 +0000)]
MFC r365771:
ftpd: Exit during authentication if an error occurs after chroot().

admbug: 969
Security: CVE-2020-7468

3 years agoMFC r365766:
Konstantin Belousov [Tue, 15 Sep 2020 20:25:30 +0000 (20:25 +0000)]
MFC r365766:
bhyve: intercept AMD SVM instructions.

CVE: CVE-2020-7467

3 years agoMFC r365458: sort(1): Remove duplicate option check
Gordon Bergling [Tue, 15 Sep 2020 09:27:01 +0000 (09:27 +0000)]
MFC r365458: sort(1): Remove duplicate option check

Reviewed by: lwhsu, emaste
Approved by: emaste
Obtained from: DragonFlyBSD
Differential Revision: https://reviews.freebsd.org/D23892

3 years agoMFC r365449:
Andrey V. Elsukov [Tue, 15 Sep 2020 08:52:36 +0000 (08:52 +0000)]
MFC r365449:
  Add a few features to rcorder:

  o Enhance dependency loop logging: print full chain instead of the
    last link competing the loop;
  o Add -g option to generate dependency graph suitable for GraphViz
    visualization, loops and other graph generation issues are highlighted
    automatically;
  o Add -p option that enables grouping items that can be processed in
    parallel.

  Submitted by: Boris Lytochkin <lytboris at gmail>
  Differential Revision: https://reviews.freebsd.org/D25389

3 years agoMFC r365606:
Li-Wen Hsu [Tue, 15 Sep 2020 06:14:00 +0000 (06:14 +0000)]
MFC r365606:

urndis(4): Add support of Inseego/Novatel Wireless MiFi 8800/8000

PR: 245152
Submitted by: rootless@gmail.com
Reviewed by: hselasky

3 years agoMFC r365447: mmc_da: universally use uint8_t for the partition index
Andriy Gapon [Tue, 15 Sep 2020 05:51:03 +0000 (05:51 +0000)]
MFC r365447: mmc_da: universally use uint8_t for the partition index

3 years agoMFC r365445: mmc_da: make sure that part_index is not used uninitialized in sddastart
Andriy Gapon [Tue, 15 Sep 2020 05:48:55 +0000 (05:48 +0000)]
MFC r365445: mmc_da: make sure that part_index is not used uninitialized in sddastart

3 years agoMFC r365446: mmc_da: fix a typo and a too long line
Andriy Gapon [Tue, 15 Sep 2020 05:46:51 +0000 (05:46 +0000)]
MFC r365446: mmc_da: fix a typo and a too long line

3 years agoice: MFC commits for update to 0.26.16
Eric Joyner [Mon, 14 Sep 2020 21:33:11 +0000 (21:33 +0000)]
ice: MFC commits for update to 0.26.16

These include r365332, r365550, and r365617, which update
both the ice_ddp package and the ice(4) driver itself.

Relnotes: yes
Sponsored by: Intel Corporation

3 years agoMFC r365623: Don't clear reserved bits per RealTek
John-Mark Gurney [Mon, 14 Sep 2020 19:39:43 +0000 (19:39 +0000)]
MFC r365623: Don't clear reserved bits per RealTek

3 years agoMFC r365437:
Mark Johnston [Mon, 14 Sep 2020 12:22:19 +0000 (12:22 +0000)]
MFC r365437:
vm_object_split(): Handle orig_object type changes.

3 years agoMFC r365433:
Konstantin Belousov [Mon, 14 Sep 2020 11:01:46 +0000 (11:01 +0000)]
MFC r365433:
imgact_elf.c: unify check for phdr fitting into the first page.

3 years agoMFC r365432:
Konstantin Belousov [Mon, 14 Sep 2020 10:49:38 +0000 (10:49 +0000)]
MFC r365432:
rtld: pass argc/argv/env to dso inits.

PR: 249162

3 years agoMFC r365422: ntp: whitespace and typo fix in conf file
Ed Maste [Mon, 14 Sep 2020 01:20:57 +0000 (01:20 +0000)]
MFC r365422: ntp: whitespace and typo fix in conf file

PR: 248942
Submitted by: Jose Luis Duran (whitespace), igor (typo)

3 years agoMFOpenZFS: Introduce read/write kstats per dataset
Allan Jude [Sun, 13 Sep 2020 16:28:25 +0000 (16:28 +0000)]
MFOpenZFS: Introduce read/write kstats per dataset

The following patch introduces a few statistics on reads and writes
grouped by dataset. These statistics are implemented as kstats
(backed by aggregate sums for performance) and can be retrieved by
using the dataset objset ID number. The motivation for this change is
to provide some preliminary analytics on dataset usage/performance.

Reviewed-by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
openzfs/zfs@a448a2557ec4938ed6944c7766fe0b8e6e5f6456

Also contains parts of:
MFOpenZFS: Connect dataset_kstats for FreeBSD

Example output:
kstat.zfs/mypool.dataset.objset-0x10b.nread: 150528
kstat.zfs/mypool.dataset.objset-0x10b.reads: 48
kstat.zfs/mypool.dataset.objset-0x10b.nwritten: 134217728
kstat.zfs/mypool.dataset.objset-0x10b.writes: 1024
kstat.zfs/mypool.dataset.objset-0x10b.dataset_name: mypool/datasetname

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Allan Jude <allan@klarasystems.com>
openzfs/zfs@4547fc4e071ceb1818b3a46c3035b923e06e5390

This is a direct commit to stable/12 because they do not exist in
illumos upstream ZFS and needed to be heavily modified to work in
stable/12

Relnotes: yes
Sponsored by: Klara Inc.

3 years agoMFC r365506 getlogin_r: fix the type of len
Kyle Evans [Sun, 13 Sep 2020 01:44:31 +0000 (01:44 +0000)]
MFC r365506 getlogin_r: fix the type of len

getlogin_r is specified by POSIX to to take a size_t len, not int. Fix our
version to do the same, bump the symbol version due to ABI change and
provide compat.

This was reported to break compilation of Ruby 2.8.

Some discussion about the necessity of the ABI compat did take place in the
review. While many 64-bit platforms would likely be passing it in a 64-bit
register and zero-extended and thus, not notice ABI breakage, some do
sign-extend (e.g. mips).

PR: 247102

3 years agoMFC r365500: certctl: fix hashed link generation with duplicate subjects
Kyle Evans [Sun, 13 Sep 2020 01:09:22 +0000 (01:09 +0000)]
MFC r365500: certctl: fix hashed link generation with duplicate subjects

Currently, certctl rehash will just keep clobbering .0 rather than
incrementing the suffix upon encountering a duplicate. Do this, and do it
for blacklisted certs as well.

This also improves the situation with the blacklist to be a little less
flakey, comparing cert fingerprints for all certs with a matching subject
hash in the blacklist to determine if the cert we're looking at can be
installed.

Future work needs to completely revamp the blacklist to align more with how
it's described in PR 246614. In particular, /etc/ssl/blacklisted should go
away to avoid potential confusion -- OpenSSL will not read it, it's
basically certctl internal.

PR: 246614

3 years agoFollow-up r365662 (MFC of r365371 and r365373) by also removing the
Dimitry Andric [Sat, 12 Sep 2020 20:20:55 +0000 (20:20 +0000)]
Follow-up r365662 (MFC of r365371 and r365373) by also removing the
header hack from jemalloc_FreeBSD.h, which rendered any make.conf
MALLOC_PRODUCTION or src.conf WITH/WITHOUT_MALLOC_PRODUCTION irrelevant.

Direct commit to stable/{11,12} as this does not apply to head.

Noticed by: kevans

3 years agoFollow-up r365662 (MFC of r365371 and r365373) by correctly setting
Dimitry Andric [Sat, 12 Sep 2020 19:40:04 +0000 (19:40 +0000)]
Follow-up r365662 (MFC of r365371 and r365373) by correctly setting
WITH_MALLOC_PRODUCTION for stable branches. Also add a note to UPDATING,
to inform users about the new setting.

Direct commit to stable/{11,12} as this does not apply to head.

Noticed by: imp, Ronald Klop <ronald-lists@klop.ws>

3 years agoMFC r365477: geom_part: extend kern.geom.part.check_integrity to work on GPT
Eugene Grosbein [Sat, 12 Sep 2020 18:40:39 +0000 (18:40 +0000)]
MFC r365477: geom_part: extend kern.geom.part.check_integrity to work on GPT

In short, this change allows accessing partition and recovering secondary
GPT in case it is unaccessible but primary table is fine.

Reported by: Alex Korchmar

3 years agoMFC r365371:
Dimitry Andric [Sat, 12 Sep 2020 16:50:04 +0000 (16:50 +0000)]
MFC r365371:

Turn MALLOC_PRODUCTION into a regular src.conf(5) option

For historical reasons, defining MALLOC_PRODUCTION in /etc/make.conf has
been used to turn off potentially expensive debug checks and statistics
gathering in the implementation of malloc(3).

It seems more consistent to turn this into a regular src.conf(5) option,
e.g. WITH_MALLOC_PRODUCTION / WITHOUT_MALLOC_PRODUCTION. This can then
be toggled similar to any other source build option, and turned on or
off by default for e.g. stable branches.

Reviewed by: imp, #manpages
Differential Revision: https://reviews.freebsd.org/D26337

MFC r365373:

Follow-up r365371 by removing sentences which indicate the state of the
MK_MALLOC_PRODUCTION option on -CURRENT.

Also, for the sake of backwards compatibility, support the old way of
enabling 'production malloc', e.g. by adding a define in make.conf(5).

3 years agoMFC r364753:
Dimitry Andric [Sat, 12 Sep 2020 16:33:05 +0000 (16:33 +0000)]
MFC r364753:

Add atomic and bswap functions to libcompiler_rt

There have been several mentions on our mailing lists about missing
atomic functions in our system libraries (e.g. __atomic_load_8 and
friends), and recently I saw __bswapdi2 and __bswapsi2 mentioned too.

To address this, add implementations for the functions from compiler-rt
to the system compiler support libraries, e.g. libcompiler_rt.a and and
libgcc_s.so.

This also needs a small fixup in compiler-rt's atomic.c, to ensure that
32-bit mips can build correctly.

Bump __FreeBSD_version to make it easier for port maintainers to detect
when these functions were added.

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

MFC r364782:

After r364753, there should be no need to suppress -Watomic-alignment
warnings anymore for compiler-rt's atomic.c. This occurred because the
IS_LOCK_FREE_8 macro was not correctly defined to 0 for mips, and this
caused the compiler to emit a runtime call to __atomic_is_lock_free(),
and that triggers the warning.

MFC r365509:

Follow-up r364753 by enabling compiler-rt's atomic implementation only
for clang, as it uses clang specific builtins, and does not compile
correctly with gcc. Note that gcc packages usually come with their own
libatomic, providing these primitives.

MFC r365588:

Follow-up r364753 by only using arm's stdatomic.c implementation, as it
already covers the functions in compiler-rt's atomic.c, leading to
conflicts when linking.

PR: 230888

3 years agoMFC r365457:
Kristof Provost [Sat, 12 Sep 2020 12:45:31 +0000 (12:45 +0000)]
MFC r365457:

net: mitigate vnet / epair cleanup races

There's a race where dying vnets move their interfaces back to their original
vnet, and if_epair cleanup (where deleting one interface also deletes the other
end of the epair). This is commonly triggered by the pf tests, but also by
cleanup of vnet jails.

As we've not yet been able to fix the root cause of the issue work around the
panic by not dereferencing a NULL softc in epair_qflush() and by not
re-attaching DYING interfaces.

This isn't a full fix, but makes a very common panic far less likely.

PR: 244703, 238870

3 years agoMFC r365369:
Konstantin Belousov [Sat, 12 Sep 2020 09:46:14 +0000 (09:46 +0000)]
MFC r365369:
rtld: do not refuse to relocate objects without dynamic symtabs.

PR: 249121

3 years agoMFC r365368:
Konstantin Belousov [Sat, 12 Sep 2020 09:44:50 +0000 (09:44 +0000)]
MFC r365368:
rtld: do not process absent dynamic.

PR: 249121

3 years agoRegen src.conf(5) after r365649
Kyle Evans [Sat, 12 Sep 2020 01:55:07 +0000 (01:55 +0000)]
Regen src.conf(5) after r365649

3 years agoAdd missing WITHOUT_CAROOT description
Kyle Evans [Sat, 12 Sep 2020 01:54:47 +0000 (01:54 +0000)]
Add missing WITHOUT_CAROOT description

This should have been MFC'd as part of r353800, but was not because caroot
had not been MFC'd at that time. As such, this is a direct commit to
stable/12.

3 years agoMFC r365490-r365491: Remove FREEBSD_UPDATE dependency on PORTSNAP
Kyle Evans [Sat, 12 Sep 2020 01:47:59 +0000 (01:47 +0000)]
MFC r365490-r365491: Remove FREEBSD_UPDATE dependency on PORTSNAP

r365490:
phttpget: move out of portsnap

Currently, WITHOUT_PORTSNAP forces WITHOUT_FREEBSD_UPDATE because the
latter relies on phttpget, which lives inside the portsnap build bits.

Remove the dependency between these two options by moving phttpget out into
^/libexec and building/installing it if either WITH_PORTSNAP or
WITH_FREEBSD_UPDATE.

Future work could remove the conditional if it's decided that users will use
it independently of either the current in-base consumers.

r365491:
opts: FREEBSD_UPDATE no longer relies on PORTSNAP

phttpget is no longer tied to the portsnap build as of r365490.

3 years agoMFC r358698 and r364241
Eric Joyner [Sat, 12 Sep 2020 00:22:02 +0000 (00:22 +0000)]
MFC r358698 and r364241

r358698: ixl: Add missing conversions from/to LE16
r364241: Remove redeclaration found by gcc build

Together, these should allow ixl(4) to work properly on powerpc64 and
prevent build warnings there.

PR: 249254
Reported by: pkubaj@
MFC after: 3 days

3 years agoMFC r342852 (by cem): powerpc: Fix regression introduced in r342771
Alexander Motin [Fri, 11 Sep 2020 14:00:10 +0000 (14:00 +0000)]
MFC r342852 (by cem): powerpc: Fix regression introduced in r342771

In r342771, I introduced a regression in Power by abusing the platform
smp_topo() method as a shortcut for providing the MI information needed for
the stated sysctls.  The smp_topo() method was already called later by
sched_ule (under the name cpu_topo()), and initializes a static array of
scheduler topology information.  I had skimmed the smp_topo_foo() functions
and assumed they were idempotent; empirically, they are not (or at least,
detect re-initialization and panic).

Do the cleaner thing I should have done in the first place and add a
platform method specifically for core- and thread-count probing.

PR: 249250

3 years agoMFC r342788,354926,364771 (markj, bz)
Bjoern A. Zeeb [Fri, 11 Sep 2020 12:36:05 +0000 (12:36 +0000)]
MFC r342788,354926,364771 (markj, bz)

 - Capsicumize rtsol(8) and rtsold(8).
 - Avoid relying on pollution from libcasper.h.
 - Add script for "M bit".

3 years agoMFC r365360, r365370:
Konstantin Belousov [Fri, 11 Sep 2020 10:05:44 +0000 (10:05 +0000)]
MFC r365360, r365370:
rtld: Handle ELF dso with program headers outside the first page.

PR: 229708

3 years agoRename stable/12 to -STABLE, and bump __FreeBSD_version after
Glen Barber [Fri, 11 Sep 2020 00:04:23 +0000 (00:04 +0000)]
Rename stable/12 to -STABLE, and bump __FreeBSD_version after
releng/12.2 had been created.

Approved by: re (implicit)
Sponsored by: Rubicon Communications, LLC (netgate.com)

3 years agoMFC r360229, r363255
Allan Jude [Thu, 10 Sep 2020 21:01:22 +0000 (21:01 +0000)]
MFC r360229, r363255

r360229:
Add VIRTIO_BLK_T_DISCARD (TRIM) support to the bhyve virtio-blk backend

This will advertise support for TRIM to the guest virtio-blk driver and
perform the DIOCGDELETE ioctl on the backing storage if it supports it.

Thanks to Jason King and others at Joyent and illumos for expanding on
my original patch, adding improvements including better error handling
and making sure to following the virtio spec.

r363255:
Add VIRTIO_BLK_T_DISCARD support to the virtio-blk driver

If the hypervisor advertises support for the DISCARD command then the
guest can perform TRIM commands, freeing space on the backing store.

If VIRTIO_BLK_F_DISCARD is enabled, advertise DISKFLAG_CANDELETE

Tested with FreeBSD guests on bhyve and KVM

Relnotes: yes
Sponsored by: Klara Inc.

3 years agoMFC r361541, r362038, r364240
Eric Joyner [Thu, 10 Sep 2020 20:46:16 +0000 (20:46 +0000)]
MFC r361541, r362038, r364240

These MFCs add the ice(4) driver to the kernel for Intel 800 Series
Ethernet adapters, a couple fixes for the ice_ddp module makefile, and
remove some redeclarations, respectively.

Relnotes: yes
Sponsored by: Intel Corporation

3 years agoMFC 363459:
John Baldwin [Thu, 10 Sep 2020 20:34:44 +0000 (20:34 +0000)]
MFC 363459:
Pass the right size to memcpy() when copying the array of FP registers.

The size of the containing structure was passed instead of the size of
the array.  This happened to be harmless as the extra word copied is
one we copy in the next line anyway.

3 years agoMFC r344749-344750,344841-344843,345284,346405,346470,347140-347141,348331,
Bjoern A. Zeeb [Thu, 10 Sep 2020 19:00:17 +0000 (19:00 +0000)]
MFC r344749-344750,344841-344843,345284,346405,346470,347140-347141,348331,
    349593,351868,353506-353507,353809,353853,353858,353860,356852,359063,
    359158,360819,360888,360950-360951,360953-360954,360998,361009,361025,
    361085,361087,361098,361106-361107,361115,361118,361319-361321,361486,
    361560,361566,361626,361636-361637,361687,361726,361737-361738,361768,
    361778,361811-361813,361819-361822,361825-361826,361834,361863-361864,
    361878,361885-361886,362016,362084-362085,362156-362157,362161-362162,
    362210-362213,362216,362256-362257,362671,362815-362816,363325,
    363327-363328,364011-364012,364299,364301,364303,364312,364315,
    364326-364327,364551,364553,364673,365097,365116,365125-365126,
    365130-365131,365198,365419
  by adrian(78), bcran(1), bz(13), cem(1), gavin(1), glebius(6),
     landonf(1), mjg(7)

Merge WiFi net80211, drivers, and management in order to support better 11n
and upcoming 11ac.

This includes an ath(4) update, some run(4) 11n support, 11n for otus(4),
A-MPDU, A-MSDU, A-MPDU+A-MSDU and Fast frames options, scanning fixes,
enahnced PRIV checks for jails, restored parent device name printing,
improvements for upcoming VHT support, lots of under-the-hood infrastructure
improvements, new device ID, debug tools updates, some whistespace changes
(to make future MFCs easier).

This does not include (nost) epoch(9) related changes as too much other
infrastructure was not merged for that.

Bump __FreeBSD_veresion as this changes the priv(9) names (not know to be
used externally), and net80211 structures.

Tested on: some ath(4) AP, run(4) STA, and rtwn(4) STA
Discussed with: adrian (extremly briefly)
Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") [partially]
Relnotes: yes

3 years agoMFC r350061:
Michael Tuexen [Thu, 10 Sep 2020 18:04:34 +0000 (18:04 +0000)]
MFC r350061:
Fix compilation on platforms using gcc.
When compiling RACK on platforms using gcc, a warning that tcp_outflags
is defined but not used is issued and terminates compilation on PPC64,
for example. So don't indicate that tcp_outflags is used.

3 years agoMFC r356417 (from rrs):
Michael Tuexen [Thu, 10 Sep 2020 17:49:21 +0000 (17:49 +0000)]
MFC r356417 (from rrs):
This catches rack up in the recent changes to ECN and
also commonizes the functions that both the freebsd and
rack stack uses.

3 years agoMFC r353490 (from rrs):
Michael Tuexen [Thu, 10 Sep 2020 17:44:27 +0000 (17:44 +0000)]
MFC r353490 (from rrs):
if_hw_tsomaxsegsize needs to be initialized to zero, just
like in bbr.c and tcp_output.c

3 years agoMFC r352661 (from rrs):
Michael Tuexen [Thu, 10 Sep 2020 17:41:23 +0000 (17:41 +0000)]
MFC r352661 (from rrs):
lets put (void) in a couple of functions to keep older platforms that
are stuck with gcc happy (ppc). The changes are needed in both bbr and
rack.

3 years agoMFC r351782:
Michael Tuexen [Thu, 10 Sep 2020 17:31:34 +0000 (17:31 +0000)]
MFC r351782:
Fix two TCP RACK issues:
* Convert the TCP delayed ACK timer from ms to ticks as required.
  This fixes the timer on platforms with hz != 1000.
* Don't delay acknowledgements which report duplicate data using
  DSACKs.

3 years agoMFC r351328 (by rrs):
Michael Tuexen [Thu, 10 Sep 2020 17:29:20 +0000 (17:29 +0000)]
MFC r351328 (by rrs):
Fix an issue when TSO and Rack play together. Basically
an retransmission of the initial SYN (with data) would
cause us to strip the SYN and decrement/increase offset/len
which then caused us a -1 offset and a panic.

3 years agoMFC r350973 (from rrs):
Michael Tuexen [Thu, 10 Sep 2020 17:26:16 +0000 (17:26 +0000)]
MFC r350973 (from rrs):
Place back in the dependency on HPTS via module depends versus
a fatal error in compiling. This was taken out by mistake
when I mis-merged from the 18q22p2 sources of rack in NF. Opps.

3 years agoMFC r364754:
Michael Tuexen [Thu, 10 Sep 2020 17:12:42 +0000 (17:12 +0000)]
MFC r364754:

RFC 3465 defines a limit L used in TCP slow start for limiting the number
of acked bytes as described in Section 2.2 of that document.
This patch ensures that this limit is not also applied in congestion
avoidance. Applying this limit also in congestion avoidance can result in
using less bandwidth than allowed.

3 years agoMFC r357816 (from rrs)
Michael Tuexen [Thu, 10 Sep 2020 17:03:36 +0000 (17:03 +0000)]
MFC r357816 (from rrs)

This small fix makes it so we properly follow
the RFC and only enable ECN when both the
CWR and ECT bits our set within the SYN packet.

3 years agoMFC r357100:
Michael Tuexen [Thu, 10 Sep 2020 16:59:54 +0000 (16:59 +0000)]
MFC r357100:

The server side of TCP fast open relies on the delayed ACK timer to allow
including user data in the SYN-ACK. When DSACK support was added in
r347382, an immediate ACK was sent even for the received SYN with
user data. This patch fixes that and allows again to send user data with
the SYN-ACK.

3 years agoMFC r358023:
Michael Tuexen [Thu, 10 Sep 2020 16:47:08 +0000 (16:47 +0000)]
MFC r358023:

Don't use uninitialised stack memory if the sysctl variable
net.inet.tcp.hostcache.enable is set to 0.
The bug resulted in using possibly a too small MSS value or wrong
initial retransmission timer settings. Possibly the value used
for ssthresh was also wrong.

3 years agoMFC r357116:
Michael Tuexen [Thu, 10 Sep 2020 16:44:28 +0000 (16:44 +0000)]
MFC r357116:

Sending CWR after an RTO is according to RFC 3168 generally required
and not only for the DCTCP congestion control.

3 years agoMFC r357115:
Michael Tuexen [Thu, 10 Sep 2020 15:58:37 +0000 (15:58 +0000)]
MFC r357115:

Don't set the ECT codepoint on retransmitted packets during SACK loss
recovery. This is required by RFC 3168.

3 years agoMFC r357114:
Michael Tuexen [Thu, 10 Sep 2020 13:44:35 +0000 (13:44 +0000)]
MFC r357114:
As a TCP client only enable ECN when the corresponding sysctl variable
indicates that ECN should be negotiated for the client side.