]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
5 years agoMFC r324856:
kib [Wed, 5 Sep 2018 21:23:40 +0000 (21:23 +0000)]
MFC r324856:
Don't call realpath(3) from libmap rtld code.

5 years agoRegen.
kib [Wed, 5 Sep 2018 21:15:48 +0000 (21:15 +0000)]
Regen.

5 years agoMFC r338357:
kib [Wed, 5 Sep 2018 21:15:23 +0000 (21:15 +0000)]
MFC r338357:
Fix compat32 ftruncate cap mode.

PR: 230120

5 years agoMFC: r338261
marius [Wed, 5 Sep 2018 21:05:16 +0000 (21:05 +0000)]
MFC: r338261

- According to section 2.2.5 of the SDHCI specification version 4.20,
  SDHCI_TRNS_ACMD12 is to be set only for multiple-block read/write
  commands without data length information, so don't unconditionally
  set this bit. The result matches what e. g. Linux does.
- Section 2.2.19 of the SDHCI specification version 4.20 states that
  SDHCI_ACMD12_ERR should be only valid if SDHCI_INT_ACMD12ERR is set
  and hardware may clear SDHCI_ACMD12_ERR when SDHCI_INT_ACMD12ERR is
  cleared (differing silicon behavior is specifically allowed, though).
  Thus, read SDHCI_ACMD12_ERR before clearing SDHCI_INT_ACMD12ERR.
  While at it, use the 16-bit accessor rather than the 32-bit one for
  reading the 16-bit SDHCI_ACMD12_ERR.
- SDHCI_INT_TUNEERR isn't one of the ROC bits in SDHCI_INT_STATUS so
  clear it explicitly.
- Add missing prototypes and sort them.

5 years agoMFC: r338304
marius [Wed, 5 Sep 2018 20:43:46 +0000 (20:43 +0000)]
MFC: r338304

The read accessors generated by __BUS_ACCESSOR() have the problem that
they don't check the result of BUS_READ_IVAR(9) and silently return stack
garbage on failure in case a bus doesn't implement a particular instance
variable for example. With MMC bridges not providing MMCBR_IVAR_RETUNE_REQ,
yet, this in turn can cause mmc(4) to get into a state in which re-tuning
seems to be necessary but is inappropriate, causing mmc_wait_for_request()
to fail. Thus, don't use __BUS_ACCESSOR() for mmcbr_get_retune_req() and
instead provide a version of the latter which returns retune_req_none if
reading MMCBR_IVAR_RETUNE_REQ fails.

5 years agoMFC r314000:
oshogbo [Wed, 5 Sep 2018 20:13:28 +0000 (20:13 +0000)]
MFC r314000:

  Capsicumize traceroute.

  PR:  193973
  Submitted by:  Mikhail <mp39590@gmail.com>
  Reviewed by:  pjd, bapt, emaste, AllanJude
  Differential Revision: https://reviews.freebsd.org/D9303

5 years agoRevert an unintentional change from r338462.
markj [Wed, 5 Sep 2018 14:49:26 +0000 (14:49 +0000)]
Revert an unintentional change from r338462.

Reported by: kib

5 years agoAvoid printing extraneous function names when searching man page
cy [Wed, 5 Sep 2018 01:33:30 +0000 (01:33 +0000)]
Avoid printing extraneous function names when searching man page
database (apropos, man -k). This commit Replaces .SS with .SH,
similar to the man page provided by original heimdal (as in port).

PR: 230573
Submitted by: yuripv@yuripv.net

5 years agoMFC r337974:
markj [Wed, 5 Sep 2018 01:24:13 +0000 (01:24 +0000)]
MFC r337974:
Add INVARIANTS-only fences around lockless vnode refcount updates.

5 years agoMFC r338375:
markj [Wed, 5 Sep 2018 00:30:34 +0000 (00:30 +0000)]
MFC r338375:
sed: Fix -i option behavior with 'q' command.

PR: 230507

5 years agoMFC r338416:
markj [Tue, 4 Sep 2018 16:47:08 +0000 (16:47 +0000)]
MFC r338416:
Re-compute the ARC size before computing the MFU target.

5 years agoMFC r338350:
markj [Tue, 4 Sep 2018 16:45:08 +0000 (16:45 +0000)]
MFC r338350:
Add missing endpwent() and endgrent() calls to nfsuserd(8).

PR: 230937

5 years agoMFC r338353:
philip [Tue, 4 Sep 2018 09:58:13 +0000 (09:58 +0000)]
MFC r338353:
  Add libxo(3) support to lastlogin(8).

5 years agoMFC r319508:
philip [Tue, 4 Sep 2018 09:53:45 +0000 (09:53 +0000)]
MFC r319508:
  Fix a memory leak with last
  free memory allocated to 'buf'

  Submitted by: Thomas Rix <trix@juniper.net>

MFC r338352:
  Add libxo(3) support to last(1).

5 years agoMFC r338406:
kp [Mon, 3 Sep 2018 08:57:09 +0000 (08:57 +0000)]
MFC r338406:

frag6: Fix fragment reassembly

r337776 started hashing the fragments into buckets for faster lookup.

The hashkey is larger than intended. This results in random stack data being
included in the hashed data, which in turn means that fragments of the same
packet might end up in different buckets, causing the reassembly to fail.

Set the correct size for hashkey.

PR: 231045

5 years agoMFC r337522:
delphij [Mon, 3 Sep 2018 06:55:38 +0000 (06:55 +0000)]
MFC r337522:

In read_zones(), check if the file name actually fit in the buffer
and make sure it would terminate with nul with strlcpy().

Reviewed by: imp (earlier revision)
Differential Revision: https://reviews.freebsd.org/D16595

5 years agoMFC r336754: Improve --strip-trailing-cr handling.
delphij [Mon, 3 Sep 2018 06:36:28 +0000 (06:36 +0000)]
MFC r336754: Improve --strip-trailing-cr handling.

5 years agoMFC r338068, r338113:
kib [Sun, 2 Sep 2018 10:51:31 +0000 (10:51 +0000)]
MFC r338068, r338113:
Update L1TF workaround to sustain L1D pollution from NMI.

5 years agoMFC r338365:
markj [Sat, 1 Sep 2018 16:13:56 +0000 (16:13 +0000)]
MFC r338365:
Add a sysctl for the ZFS abd_scatter_enabled setting.

5 years agoMFC r338024:
kib [Sat, 1 Sep 2018 10:03:30 +0000 (10:03 +0000)]
MFC r338024:
Rudimentary AER reading code for ddb(4).

5 years agoMFC r338313:
kib [Sat, 1 Sep 2018 10:01:19 +0000 (10:01 +0000)]
MFC r338313:
Remove dead code in i386 cpu_throw().

5 years agoMFC r338312:
kib [Sat, 1 Sep 2018 09:59:46 +0000 (09:59 +0000)]
MFC r338312:
Unify amd64 and i386 vmspace0 pmap activation.

5 years agoMFC r333063: Update ELF Tool Chain to r3614
emaste [Fri, 31 Aug 2018 17:36:45 +0000 (17:36 +0000)]
MFC r333063: Update ELF Tool Chain to r3614

Sponsored by: The FreeBSD Foundation

5 years agoMFC r336745: elf_common: update ARM ABI flag names
emaste [Fri, 31 Aug 2018 17:35:09 +0000 (17:35 +0000)]
MFC r336745: elf_common: update ARM ABI flag names

In the V5 ABI the flags are EF_ARM_ABI_FLOAT_HARD and
EF_ARM_ABI_FLOAT_SOFT. The flags have the same values as the legacy GCC
flags EF_ARM_VFP_FLOAT and EF_ARM_SOFT_FLOAT respectively.

The legacy names are kept for compatibility.

Reported by: Peter Smith (Linaro)
Sponsored by: The FreeBSD Foundation

5 years agoMFC r333062: elf_common.h: add DT_SUNW_ASLR tag
emaste [Fri, 31 Aug 2018 17:34:18 +0000 (17:34 +0000)]
MFC r333062: elf_common.h: add DT_SUNW_ASLR tag

For upcoming ELF Tool Chain import (readelf).

Sponsored by: The FreeBSD Foundation

5 years agoMFC r337045: libelf: reload section headers after update with ELF_C_WRITE
emaste [Fri, 31 Aug 2018 17:29:24 +0000 (17:29 +0000)]
MFC r337045: libelf: reload section headers after update with ELF_C_WRITE

These issues (PR 218860 and PR 218861) are still undergoing additional
discussion in the upstream context and there may be additional changes
to come.

PR: 218860
Submitted by: Eric McCorkle
Sponsored by: The FreeBSD Foundation (MFC)

5 years agoMFC r337983, r338044:
kib [Fri, 31 Aug 2018 05:21:33 +0000 (05:21 +0000)]
MFC r337983, r338044:
Add pthread_get_name_np(3).

5 years agoMFV r338288: Unblock speculative prefetcher also on pool creation.
mav [Fri, 31 Aug 2018 01:50:40 +0000 (01:50 +0000)]
MFV r338288: Unblock speculative prefetcher also on pool creation.

Fix at r331950 appeared to be incomplete, fixing only case of pool
import, but not pool creation, leaving prefetcher still blocked for
newly created pools.

5 years agoMFC r337926:
markj [Thu, 30 Aug 2018 13:45:14 +0000 (13:45 +0000)]
MFC r337926:
Add partial documentation for dtrace(1)'s -x configuration options.

5 years agoMFC r338183, r338183:
kp [Wed, 29 Aug 2018 20:49:56 +0000 (20:49 +0000)]
MFC r338183, r338183:

pfctl: Improve set skip handling for groups

Rely on the kernel to appropriately mark group members as skipped.
Once a group is skipped we can clear the update flag on all the members.

PR: 229241
Submitted by: Andreas Longwitz <longwitz AT incore.de>

5 years agoMFC r332968:
markj [Wed, 29 Aug 2018 17:58:01 +0000 (17:58 +0000)]
MFC r332968:
Add a UMA zone flag to disable the use of buckets.

5 years agoMFC r333280:
markj [Wed, 29 Aug 2018 17:50:27 +0000 (17:50 +0000)]
MFC r333280:
Style.

5 years agoMFC r337965:
oshogbo [Wed, 29 Aug 2018 08:35:23 +0000 (08:35 +0000)]
MFC r337965:
  capsicum: allow the setproctitle(3) function in capability mode

  Capsicum in past allowed to change the process title.
  This was broken with r335939.

  PR:           230584
  Submitted by: Yuichiro NAITO <naito.yuichiro@gmail.com>
  Reported by:  ian@niw.com.au
  MFC after:    1 week

5 years agoMFC r337505, r337865, r337869: dd status=progress
kevans [Wed, 29 Aug 2018 02:18:13 +0000 (02:18 +0000)]
MFC r337505, r337865, r337869: dd status=progress

r337505:
dd: add status=progress support

This reports the current status on a single line every second, mirroring
similar functionality in GNU dd, and carefully interacts with SIGINFO.

PR: 229615

r337865:
dd: Incorporate some changes from imp for status=progress

Notable changes from what landed in r337505:
- sigalarm handler isn't setup unless we're actually using it
- Humanized versions of the amount of data transferred in the progress
  update

r337869:
dd(1): Kill off duplicate progress definition following r337865

5 years agoMFC r338142:
markj [Tue, 28 Aug 2018 14:33:04 +0000 (14:33 +0000)]
MFC r338142:
Set arc_kmem_cache_reap_retry_ms to 0 and make it configurable.

5 years agoMFC r337736:
ae [Tue, 28 Aug 2018 07:24:09 +0000 (07:24 +0000)]
MFC r337736:
  Restore ability to send ICMP and ICMPv6 redirects.

  It was lost when tryforward appeared. Now ip[6]_tryforward will be enabled
  only when sending redirects for corresponding IP version is disabled via
  sysctl. Otherwise will be used default forwarding function.

  PR: 221137

5 years agoMFC r337714:
kib [Mon, 27 Aug 2018 09:39:34 +0000 (09:39 +0000)]
MFC r337714:
Prevent some parallel swap-ins, rate-limit swapper swap-ins.

5 years agoMFC r336086:
ed [Mon, 27 Aug 2018 07:32:41 +0000 (07:32 +0000)]
MFC r336086:

  Use the FQDN in the newsyslog log message when RFC 5424 is enabled.

  The RFC 5424 spec mentions that logging FQDNs over short hostnames is
  preferred. Alter this code, so that the hostname doesn't get truncated
  on startup. Keep track of the length of the short hostname, so that
  fprintf() can do the truncation where necessary.

5 years agoMFC r338105: Remove extra M_ZERO from NG_MKRESPONSE() argument.
mav [Mon, 27 Aug 2018 03:42:19 +0000 (03:42 +0000)]
MFC r338105: Remove extra M_ZERO from NG_MKRESPONSE() argument.

NG_MKRESPONSE() sets M_ZERO by itself.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>

5 years agoMFC r338201: increase heap size during "loader" on sparc64
lidl [Mon, 27 Aug 2018 03:32:40 +0000 (03:32 +0000)]
MFC r338201: increase heap size during "loader" on sparc64

Increase the size of the heap size available on sparc64 during
operation of "loader".  The dramatic increase in size of
SPA_MAXBLOCKSIZE in r304321 causes the heap space to be exhausted,
so malloc() fails, ultimately leading to a memcpy() with a
destination of 0x0.

5 years agoMFC r338038: Extending the delay cycles to give the codec more time to pump ADC data...
avatar [Sun, 26 Aug 2018 13:03:01 +0000 (13:03 +0000)]
MFC r338038: Extending the delay cycles to give the codec more time to pump ADC data across the AC-link.

Without this patch, some CS4614 cards will need users to reload the driver manually or
the hardware won't be initialised properly. Something like:

# kldload snd_csa
# kldunload snd_csa
# kldload snd_csa

Tested with: Terratec SiXPack 5.1+

5 years agoMFC r336420,336433,336593,336621,336622,336624,337394,337401,338141
cperciva [Sun, 26 Aug 2018 04:32:52 +0000 (04:32 +0000)]
MFC r336420,336433,336593,336621,336622,336624,337394,337401,338141

Teach the EC2 AMI upload code to:
* Mark EBS snapshots as public,
* Announce new AMIs to an SNS topic, and
* Place the SVN branch and revision into the AMI "description".

5 years agoMFC 338013: bsnmpd(8): fix and optimize interface description processing
eugen [Sat, 25 Aug 2018 09:48:17 +0000 (09:48 +0000)]
MFC 338013: bsnmpd(8): fix and optimize interface description processing

* correctly prepare a buffer to obtain interface description from a kernel
  and truncate long description instead of dropping it altogether and
  spamming logs;
* skip calling strlen() for each description and each SNMP request
  for MIB-II/ifXTable's ifAlias.
* teach bsnmpd to allocate memory dynamically for interface descriptions
  to decrease memory usage for common case and not to break
  if long description occurs;

PR: 217763
Reviewed by: harti and others
Differential Revision: https://reviews.freebsd.org/D16459

5 years agoMFC: r337438
rmacklem [Fri, 24 Aug 2018 22:41:32 +0000 (22:41 +0000)]
MFC: r337438
Allow newnfs_request() to retry all callback RPCs with an NFSERR_DELAY reply.

The code in newnfs_request() retries RPCs that get a reply of NFSERR_DELAY,
but exempts certain NFSv4 operations. However, for callback RPCs, there
should not be any exemptions at this time. The code would have erroneously
exempted the CBRECALL callback, since it has the same operation number as
the CLOSE operation.
This patch fixes this by checking for a callback RPC (indicated by clp != NULL)
and not checking for exempt operations for callbacks.
This would have only affected the NFSv4 server when delegations are enabled
(they are not enabled by default) and the client replies to CBRECALL with
NFSERR_DELAY. This may never actually happen.
Spotted during code inspection.

5 years agoFix the BEAGLEBONE image build on stable/11.
gjb [Fri, 24 Aug 2018 18:31:12 +0000 (18:31 +0000)]
Fix the BEAGLEBONE image build on stable/11.

r336726 merges r336598, r336599, r336600, and r336721, however
there was a mismerge in the BEAGLEBONE.conf where two references
to UFSMOUNT remained.

This is a direct commit to stable/11, as svn:mergeinfo had already
been recorded.

Sponsored by: The FreeBSD Foundation

5 years agoMFC r337773, r337838, r338112, r338202:
kib [Fri, 24 Aug 2018 18:13:45 +0000 (18:13 +0000)]
MFC r337773, r337838, r338112, r338202:
Fixes for early EFIRT usage on amd64.

Activate vmspace0 pmap, not kernel_pmap.  Use special version of the
pmap activation code, pmap_activate_boot().  Ensure that PCID state for
the vmspace0 pmap is valid early.

5 years agoMFC r337981:
kib [Fri, 24 Aug 2018 18:08:16 +0000 (18:08 +0000)]
MFC r337981:
Reorder alphabetically.

5 years agoMFC r337906: Document KERNCONFDIR
kevans [Fri, 24 Aug 2018 02:23:25 +0000 (02:23 +0000)]
MFC r337906: Document KERNCONFDIR

5 years agoMFC r338020: res_find: Fix fallback logic
kevans [Fri, 24 Aug 2018 02:21:14 +0000 (02:21 +0000)]
MFC r338020: res_find: Fix fallback logic

The fallback logic was broken if hints were found in multiple environments.
If we found a hint in either the loader environment or the static
environment, fallback would be incremented excessively when we returned to
the environment-selection bits. These checks should have also been guarded
by the fbacklvl checks. As a result, fbacklvl could quickly get to a point
where we skip either the static environment and/or the static hints
depending on which environments contained valid hints.

The impact of this bug is minimal, mostly affecting mips boards that use
static hints and may have hints in either the loader environment or the
static environment.

There may be better ways to express the searchable environments and
describing their characteristics (immutable, already searched, etc.) but
this may be revisited after 12 branches.

5 years agoMFC r337500:
markj [Thu, 23 Aug 2018 21:24:22 +0000 (21:24 +0000)]
MFC r337500:
Use the right variable when updating interface routes.

PR: 229807

5 years agoMFC r337536:
ae [Thu, 23 Aug 2018 13:07:22 +0000 (13:07 +0000)]
MFC r337536:
  If -q flag is specified, do not complain when we are trying to delete
  nonexistent NAT instance or nonexistent rule.

  This allows execute batched `delete` commands and do not fail when
  found nonexistent rule.

MFC r337574:
  Restore the behaviour changed in r337536, when bad `ipfw delete` command
  returns error.

  Now -q option only makes it quiet. And when -f flag is specified, the
  command will ignore errors and continue executing with next batched
  command.

Obtained from: Yandex LLC
Sponsored by: Yandex LLC

5 years agoMFC r338120: config(8): Allow escape-quoted empty strings
kevans [Thu, 23 Aug 2018 02:19:00 +0000 (02:19 +0000)]
MFC r338120: config(8): Allow escape-quoted empty strings

For use with things like BOOT_TAG=\"\" -- there are valid reasons to allow
empty strings, especially as these are usually being passed through as
options. The same argument could perhaps be made for the unquoted
variant in things like MODULES_OVERRIDE="", but it's not immediately clear
that this is an issue so I've left it untouched.

5 years agoMFC r337615:
dim [Wed, 22 Aug 2018 17:36:27 +0000 (17:36 +0000)]
MFC r337615:

Pull in r338481 from upstream llvm trunk (by Chandler Carruth):

  [x86] Fix a really subtle miscompile due to a somewhat glaring bug in
  EFLAGS copy lowering.

  If you have a branch of LLVM, you may want to cherrypick this. It is
  extremely unlikely to hit this case empirically, but it will likely
  manifest as an "impossible" branch being taken somewhere, and will be
  ... very hard to debug.

  Hitting this requires complex conditions living across complex
  control flow combined with some interesting memory (non-stack)
  initialized with the results of a comparison. Also, because you have
  to arrange for an EFLAGS copy to be in *just* the right place, almost
  anything you do to the code will hide the bug. I was unable to reduce
  anything remotely resembling a "good" test case from the place where
  I hit it, and so instead I have constructed synthetic MIR testing
  that directly exercises the bug in question (as well as the good
  behavior for completeness).

  The issue is that we would mistakenly assume any SETcc with a valid
  condition and an initial operand that was a register and a virtual
  register at that to be a register *defining* SETcc...

  It isn't though....

  This would in turn cause us to test some other bizarre register,
  typically the base pointer of some memory. Now, testing this register
  and using that to branch on doesn't make any sense. It even fails the
  machine verifier (if you are running it) due to the wrong register
  class. But it will make it through LLVM, assemble, and it *looks*
  fine... But wow do you get a very unsual and surprising branch taken
  in your actual code.

  The fix is to actually check what kind of SETcc instruction we're
  dealing with. Because there are a bunch of them, I just test the
  may-store bit in the instruction. I've also added an assert for
  sanity that ensure we are, in fact, *defining* the register operand.
  =D

Noticed by: kib

5 years agoMFC r338016:
kib [Wed, 22 Aug 2018 13:47:06 +0000 (13:47 +0000)]
MFC r338016:
Print L1D FLUSH feature.

5 years agoMFC r338051:
kib [Wed, 22 Aug 2018 13:45:15 +0000 (13:45 +0000)]
MFC r338051:
Provide set_constraint_handler_s(3) man page.

5 years agoMFC r338049:
kib [Wed, 22 Aug 2018 13:44:24 +0000 (13:44 +0000)]
MFC r338049:
Clarify that memset_s(3) requires __STDC_WANT_LIB_EXT1__ for visibility.
Fix typos and other nits.

5 years agoMFC r338048:
kib [Wed, 22 Aug 2018 13:43:23 +0000 (13:43 +0000)]
MFC r338048:
Use tab for indent.

5 years agoMFC r337728: (committed by jilles)
pfg [Wed, 22 Aug 2018 04:27:33 +0000 (04:27 +0000)]
MFC r337728: (committed by jilles)
printf: Add test for width and precision in %b format

PR:  229641

5 years agoMFC r337456:
pfg [Wed, 22 Aug 2018 04:20:20 +0000 (04:20 +0000)]
MFC r337456:
msdosfs: fixes for Undefined Behavior.

These were found by the Undefined Behaviour GsoC project at NetBSD:

Do not change signedness bit with left shift.
While there avoid signed integer overflow.
Address both issues with using unsigned type.

msdosfs_fat.c:512:42, left shift of 1 by 31 places cannot be represented
in type 'int'
msdosfs_fat.c:521:44, left shift of 1 by 31 places cannot be represented
in type 'int'
msdosfs_fat.c:744:14, left shift of 1 by 31 places cannot be represented
in type 'int'
msdosfs_fat.c:744:24, signed integer overflow: -2147483648 - 1 cannot be
represented in type 'int [20]'
msdosfs_fat.c:840:13, left shift of 1 by 31 places cannot be represented
in type 'int'
msdosfs_fat.c:840:36, signed integer overflow: -2147483648 - 1 cannot be
represented in type 'int [20]'

Detected with micro-UBSan in the user mode.

Hinted from: NetBSD (CVS 1.33)

5 years agoMFC r338047:
cy [Wed, 22 Aug 2018 01:43:11 +0000 (01:43 +0000)]
MFC r338047:

The bucket index is subtracted by one at lines 2304 and 2314.  When 0 it
becomes -1, except these are unsigned integers, so they become very large
numbers. Thus are always larger than the maximum bucket; the hash table
insertion fails causing NAT to fail.

This commit ensures that if the index is already zero it is not reduced
prior to insertion into the hash table.

PR: 208566

5 years agoMFC r338046:
cy [Wed, 22 Aug 2018 01:23:11 +0000 (01:23 +0000)]
MFC r338046:

Add handy DTrace probes useful in diagnosing NAT issues. DTrace probes
are situated next to error counters and/or in one instance prior to the
-1 return from various functions. This was useful in diagnosis of
PR/208566 and will be handy in the future diagnosing NAT failures.

PR: 208566

5 years agoMFC r338045:
cy [Wed, 22 Aug 2018 01:04:52 +0000 (01:04 +0000)]
MFC r338045:

Expose np (nat_t - an entry in the nat table structure) in the DTrace
probe when nat fails (label badnat). This is useful in diagnosing
failed NAT issues and was used in PR/208566.

PR: 208566

5 years agoMFC: r336839
rmacklem [Tue, 21 Aug 2018 11:10:49 +0000 (11:10 +0000)]
MFC: r336839
Modify the NFSv4.1 server so that it allows ReclaimComplete as done by ESXi 6.7.

I believe that a ReclaimComplete with rca_one_fs == TRUE is only
to be used after a file system has been transferred to a different
file server.  However, RFC5661 is somewhat vague w.r.t. this and
the ESXi 6.7 client does both a ReclaimComplete with rca_one_fs == TRUE
and one with ReclaimComplete with rca_one_fs == FALSE.
Therefore, just ignore the rca_one_fs == TRUE operation and return
NFS_OK without doing anything instead of replying NFS4ERR_NOTSUPP.
This allows the ESXi 6.7 NFSv4.1 client to do a mount.
After discussion on the NFSv4 IETF working group mailing list, doing this
along with setting a flag to note that a ReclaimComplete with rca_one_fs TRUE
was an appropriate way to handle this.
The flag that indicates that a ReclaimComplete with rca_one_fs == TRUE was
done may be used to disable replies of NFS4ERR_GRACE for non-reclaim
state operations in a future commit.

This patch along with r332790, r334492 and r336357 allow ESXi 6.7 NFSv4.1 mounts
work ok. ESX 6.5 NFSv4.1 mounts do not work well, due to what I believe are
violations of RFC-5661 and should not be used.

5 years agoMFC r337422:
pfg [Tue, 21 Aug 2018 01:17:28 +0000 (01:17 +0000)]
MFC r337422:
libc: fix cases of undefined behavior.

These were found by the Undefined Behavior GsoC project at NetBSD:

Avoid undefined behavior in ftok(3)

Do not change the signedness bit with a left shift operation.
Cast to unsigned integer to prevent this.

ftok.c:56:10, left shift of 123456789 by 24 places cannot be represented
in type 'int'
ftok.c:56:10, left shift of 4160 by 24 places cannot be represented in
type 'int'

Avoid undefined behavior in an inet_addr.c

Do not change the signedness bit with a left shift operation.
Cast to unsigned integer to prevent this.

inet_addr.c:218:20, left shift of 131 by 24 places cannot be represented
in type 'int'

Detected with micro-UBSan in the user mode.

Obtained from: NetBSD

5 years agoMFC r337410:
cy [Tue, 21 Aug 2018 00:37:48 +0000 (00:37 +0000)]
MFC r337410:

Remove redundant and incorrect default definition of AF_INET6. AF_INET6
is defined in sys/socket.h where it's defined as 28.

A bit of trivia: On NetBSD AF_INET6 is defined as 24. On Solaris it is
defined as 26. This is probably why Darren defaulted to 26, because
ipfilter was originally written for SunOS 4 and Solaris many moons ago.

5 years agoMFC boot tagging support: r337518, r337544-r337546, r337548,
kevans [Mon, 20 Aug 2018 17:27:30 +0000 (17:27 +0000)]
MFC boot tagging support:  r337518, r337544-r337546, r337548,
r337579-r337580, r337952

This is equivalent to what's in head, except the default is an empty boot
tag string so that nothing gets output by default.

r337518:
kern: Add a BOOT_TAG marker at the beginning of boot dmesg

From the "newly licensed to drive" PR department, add a BOOT_TAG marker (by
default, --<<BOOT>>--, to the beginning of each boot's dmesg. This makes it
easier to do textproc magic to locate the start of each boot and, of
particular interest to some, the dmesg of the current boot.

The PR has a dmesg(8) component as well that I've opted not to include for
the moment- it was the more contentious part of this PR.

bde@ also made the statement that this boot tag should be written with an
ordinary printf, which I've- for the moment- declined to change about this
patch to keep it more transparent to observer of the boot process.

PR: 43434
Submitted by: dak <aurelien.nephtali@wanadoo.fr> (basically rewritten)

r337544:
msgbuf: Light detailing (const'ify and bool'itize)

r337545:
BOOT_TAG: Make a config(5) option, expose as sysctl and loader tunable

BOOT_TAG lived shortly in sys/msgbuf.h, but this wasn't necessarily great
for changing it or removing it. Move it into subr_prf.c and add options for
it to opt_printf.h.

One can specify both the BOOT_TAG and BOOT_TAG_SZ (really, size of the
buffer that holds the BOOT_TAG). We expose it as kern.boot_tag and also add
a loader tunable by the same name that we'll fetch upon initialization of
the msgbuf.

This allows for flexibility and also ensures that there's a consistent way
to figure out the boot tag of the running kernel, rather than relying on
headers to be in-sync.

Prodded super-super-lightly by: imp

r337546:
subr_prf: Use "sizeof current_boot_tag" instead

r337548:
subr_prf: style(9) the sizeof

Reported by: jkim, ian

r337579:
boot tagging: minor fixes

msgbufinit may be called multiple times as we initialize the msgbuf into a
progressively larger buffer. This doesn't happen as of now on head, but it
may happen in the future and we generally support this. As such, only print
the boot tag if we've just initialized the buffer for the first time.

The boot tag also now has a newline appended to it for better visibility,
and has been switched to a normal printf, by requesto f bde, after we've
denoted that the msgbuf is mapped.

r337580:
subr_prf: remove think-o that had returned to local patch

Reported by: cognet

r337952:
subr_prf: Don't write kern.boot_tag if it's empty

This change allows one to set kern.boot_tag="" and not get a blank line
preceding other boot messages. While this isn't super critical- blank lines
are easy to filter out both mentally and in processing dmesg later- it
allows for a mode of operation that matches previous behavior.

I intend to MFC this whole series to stable/11 by the end of the month with
boot_tag empty by default to make this effectively a nop in the stable
branch.

5 years agoMFC r337969:
kp [Mon, 20 Aug 2018 14:27:37 +0000 (14:27 +0000)]
MFC r337969:

pf: Limit the maximum number of fragments per packet

Similar to the network stack issue fixed in r337782 pf did not limit the number
of fragments per packet, which could be exploited to generate high CPU loads
with a crafted series of packets.

Limit each packet to no more than 64 fragments. This should be sufficient on
typical networks to allow maximum-sized IP frames.

This addresses the issue for both IPv4 and IPv6.

Security: CVE-2018-5391
Sponsored by: Klara Systems

5 years agoMFC r337867:
jamie [Mon, 20 Aug 2018 05:32:40 +0000 (05:32 +0000)]
MFC r337867:

  Don't let clobber jailparam values when checking for modification of
  init-only parameters.

PR: 230487
Submitted by: Jason Mader

5 years agoMFC r321316, r337860:
loos [Mon, 20 Aug 2018 01:38:48 +0000 (01:38 +0000)]
MFC r321316, r337860:

Fix a few typos in comments.

5 years agoMFC r312770 and r337854:
loos [Mon, 20 Aug 2018 01:01:33 +0000 (01:01 +0000)]
MFC r312770 and r337854:

After the in_control() changes in r257692, an existing address is
(intentionally) deleted first and then completely added again (so all the
events, announces and hooks are given a chance to run).

This cause an issue with CARP where the existing CARP data structure is
removed together with the last address for a given VHID, which will cause
a subsequent fail when the address is later re-added.

This change fixes this issue by adding a new flag to keep the CARP data
structure when an address is not being removed.

There was an additional issue with IPv6 CARP addresses, where the CARP data
structure would never be removed after a change and lead to VHIDs which
cannot be destroyed.

PR: 229384
Sponsored by: Rubicon Communications, LLC (Netgate)

5 years agoMFC r337696: Use INCS for non-sys/ libnvpair and libzfs_core includes
kevans [Mon, 20 Aug 2018 00:53:38 +0000 (00:53 +0000)]
MFC r337696: Use INCS for non-sys/ libnvpair and libzfs_core includes

While nothing was wrong with libnvpair.h, libzfs_core.h was only guarded by
MK_CDDL rather than MK_CDDL && MK_ZFS. Rather than ugl'if'ying
include/Makefile to impose the extra restriction, just move the non-sys/
includes into INCS with the respect lib builds.

This has the added bonus of allowing third party packagers to try and split
these libs out of the FreeBSD-runtime package, if they are so inclined.

The sys/ include was left alone- generally userland libraries shouldn't
install kernel headers.

5 years agoMFC r337666: getopt_long(3): Document behavior, optstring leading characters
kevans [Mon, 20 Aug 2018 00:51:19 +0000 (00:51 +0000)]
MFC r337666: getopt_long(3): Document behavior, optstring leading characters

Leading '+', '-', and ':' in optstring have special meaning. We briefly
mention that the first two have special meaning in that we say
POSIXLY_CORRECT turns them off, but we don't actually document their
meaning. Add a paragraph to RETURN VALUES explaining how they control
the treatment of non-option arguments.

A leading ':' has no mention; add a note that it suppresses warnings about
missing arguments.

5 years agoMFC r337524: libi386: Fix typo in pxe.h
kevans [Mon, 20 Aug 2018 00:50:11 +0000 (00:50 +0000)]
MFC r337524: libi386: Fix typo in pxe.h

PR: 207337

5 years agoMFC r337523: libsa: exit on EOF in ngets
kevans [Mon, 20 Aug 2018 00:49:06 +0000 (00:49 +0000)]
MFC r337523: libsa: exit on EOF in ngets

It was possible in some rare circumstances for ngets to behave terribly with
bhyveload and some form of redirecting user input over a pipe.

PR: 198706

5 years agoMFC r337665: krb5-config build: Remove gratuitous escaping
kevans [Mon, 20 Aug 2018 00:47:51 +0000 (00:47 +0000)]
MFC r337665: krb5-config build: Remove gratuitous escaping

5 years agoMFC r337643:
kp [Sun, 19 Aug 2018 00:42:05 +0000 (00:42 +0000)]
MFC r337643:

pf: Fix 'set skip on' for groups

The pfi_skip_if() function sometimes caused skipping of groups to work,
if the members of the group used the groupname as a name prefix.
This is often the case, e.g. group lo usually contains lo0, lo1, ...,
but not always.

Rather than relying on the name explicitly check for group memberships.

Obtained from: OpenBSD (pf_if.c,v 1.62, pf_if.c,v 1.63)

5 years agoMFH r337745:
mm [Sat, 18 Aug 2018 23:24:46 +0000 (23:24 +0000)]
MFH r337745:
Sync libarchive with vendor..

Vendor changes:
  PR #1042: validate iso9660 directory record length

MFC after: 3 days
Security: CVE-2017-14501

5 years agoMFC r336570:
kib [Sat, 18 Aug 2018 16:03:15 +0000 (16:03 +0000)]
MFC r336570:
Enable OFED build (without extras) by default.
For stable/11, this is only done on amd64.

Relnotes: yes
Sponsored by: Mellanox Technologies

5 years agoMFC r337330:
kib [Sat, 18 Aug 2018 10:14:02 +0000 (10:14 +0000)]
MFC r337330:
Swap in WKILLED processes.

5 years agoMFC r336461: bge(4): disable MSI for BGE_ASICREV_BCM5784/BGE_CHIPREV_5784_AX
eugen [Fri, 17 Aug 2018 19:18:59 +0000 (19:18 +0000)]
MFC r336461: bge(4): disable MSI for BGE_ASICREV_BCM5784/BGE_CHIPREV_5784_AX
found in some MacBook Pro.

PR: 229727
Reported by: Stephan Neuhaus <sten@artdecode.de> and others
Tested by: Stephan Neuhaus <sten@artdecode.de>
Approved by: mav (mentor)

5 years agoMFC: r337791
jkim [Fri, 17 Aug 2018 18:32:53 +0000 (18:32 +0000)]
MFC: r337791

Merge OpenSSL 1.0.2p.

5 years agoMFC r337230:
markj [Fri, 17 Aug 2018 16:04:59 +0000 (16:04 +0000)]
MFC r337230:
Verify that each frame pointer lies within the thread's kstack.

5 years agoMFC r337328:
markj [Fri, 17 Aug 2018 16:04:20 +0000 (16:04 +0000)]
MFC r337328:
Don't check rcv sockbuf limits when sending on a unix stream socket.

PR: 181741, 212812

5 years agoMFC r337569: readelf: display NT_GNU_PROPERTY_TYPE_0 note name
emaste [Fri, 17 Aug 2018 12:39:00 +0000 (12:39 +0000)]
MFC r337569: readelf: display NT_GNU_PROPERTY_TYPE_0 note name

NT_GNU_PROPERTY_TYPE_0 in a .note.gnu.property section "contains a
program property note which describes special handling requirements
for linker and run-time loader." (from the System V Application Binary
Interface - Linux Extensions")

Intel CET uses two processor-specific program properties in
NT_GNU_PROPERTY_TYPE_0: GNU_PROPERTY_X86_FEATURE_1_IBT to indicate that
all executable sections are compatible with Indirect Branch Tracking,
and GNU_PROPERTY_X86_FEATURE_1_SHSTK to indicate that sections are
compatible with shadow stack.

A later change should add decoding of the individual properties.

5 years agoMFC r337322:
dim [Fri, 17 Aug 2018 06:31:30 +0000 (06:31 +0000)]
MFC r337322:

Fix build of hyperv with base gcc on i386

Summary:
Base gcc fails to compile `sys/dev/hyperv/pcib/vmbus_pcib.c` for i386,
with the following -Werror warnings:

cc1: warnings being treated as errors
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c: In function 'new_pcichild_device':
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c:567: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c: In function 'vmbus_pcib_on_channel_callback':
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c:940: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c: In function 'hv_pci_protocol_negotiation':
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c:1012: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c: In function 'hv_pci_enter_d0':
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c:1073: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c: In function 'hv_send_resources_allocated':
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c:1125: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c: In function 'vmbus_pcib_map_msi':
/usr/src/sys/dev/hyperv/pcib/vmbus_pcib.c:1730: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

This is because on i386, several casts from `uint64_t` to a pointer
reduce the value from 64 bit to 32 bit.

For gcc, this can be fixed by an intermediate cast to uintptr_t. Note
that I am assuming the incoming values will always fit into 32 bit!

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

5 years agoMFC r337570-r337573
kevans [Fri, 17 Aug 2018 03:05:09 +0000 (03:05 +0000)]
MFC r337570-r337573

r337570:
bwi(4): Set ic->ic_softc before bwi_getradiocaps to avoid bad deref

r337571:
net80211: Drain ageq before cleaning it up.

The comment above ieee80211_ageq_cleanup specifically notes that the queue
is assumed to be empty, and in order to make it so, ieee80211_ageq_drain
must be used.

r337572:
ieee8021_node: fix whitespace issues

r337573:
ath: Minor style cleanups

device_printf => DPRINTF and two whitespace adjustments

5 years agoMFC r336184: net80211: Fix ifdetach w/o ifattach, small whitespace cleanup
kevans [Fri, 17 Aug 2018 03:03:27 +0000 (03:03 +0000)]
MFC r336184: net80211: Fix ifdetach w/o ifattach, small whitespace cleanup

As the comment says, ifdetach might be called during the course of driver
detach if initialization failed. This shouldn't be a total failure, though,
we just have nothing to do there.

This has been modified slightly from Augustin's original commit to move the
bail-out slightly earlier since the ic wouldn't have been added to the
ic list in the first place, and a comment has been added describing when
this might be an issue.

5 years agoMFC r335785, r335812
kevans [Fri, 17 Aug 2018 03:01:01 +0000 (03:01 +0000)]
MFC r335785, r335812

r335785 by eadler:
iwn: Correct Centrino Advanced-N 6235 constants

The iwn 6235 is a 2x2 device (see
https://ark.intel.com/products/66890/Intel-Centrino-Advanced-N-6235-Dual-Band)

r335812 by eadler:
iwn: Add the missing IWN_SDID_6035_5 subdevice

5 years agoMFC r337558, r337560
cy [Fri, 17 Aug 2018 02:46:36 +0000 (02:46 +0000)]
MFC r337558, r337560

r337558:
Identify the return value (rval) that led to the IPv4 NAT failure
in ipf_nat_checkout() and report it in the frb_natv4out and frb_natv4in
dtrace probes.

This is currently being used to diagnose NAT failures in PR/208566. It's
rather handy so this commit makes it available for future diagnosis and
debugging efforts.

PR: 208566

r337560:
Correct a comment. Should have been detected by ipf_nat_in() not
ipf_nat_out().

5 years agoMFC r337559: Makefile.inc1: Add libl to -legacy as well
kevans [Fri, 17 Aug 2018 01:52:15 +0000 (01:52 +0000)]
MFC r337559: Makefile.inc1: Add libl to -legacy as well

libl is needed for config(8), which is a bootstrap-tool. It is possible to
build a system WITHOUT_TOOLCHAIN to exclude lex and thus, libl. We still
need to support building from this kind of host, though.

While here, group the config(8) dependencies together and add a small
explanation. These can likely both be scoped more clearly, but this will
need some further investigation.

5 years agoMFC r337770:
kib [Fri, 17 Aug 2018 00:49:35 +0000 (00:49 +0000)]
MFC r337770:
Fix typo.

5 years agoDocument SA-18:09 through SA-18:11.
gjb [Thu, 16 Aug 2018 15:32:17 +0000 (15:32 +0000)]
Document SA-18:09 through SA-18:11.

Sponsored by: The FreeBSD Foundation

5 years agoMFC r337727:
brooks [Thu, 16 Aug 2018 15:27:19 +0000 (15:27 +0000)]
MFC r337727:

Copy out from kernel to data, not the other way around.

Sponsored by: DARPA, AFRL

5 years agoMFC r337717, r337718:
gjb [Thu, 16 Aug 2018 15:17:22 +0000 (15:17 +0000)]
MFC r337717, r337718:

 r337717:
  Add lang/python2, lang/python3, and lang/python to GCE images
  to help avoid hard-coding 'python<MAJOR>.<MINOR>' in several
  scripts in the client-side scripts. [1]

 r337718:
  Add a space between a variable and escaped new line.

PR: 230248 [1]
Sponsored by: The FreeBSD Foundation

5 years agoMFC r337469:
ae [Thu, 16 Aug 2018 09:42:09 +0000 (09:42 +0000)]
MFC r337469:
  Use host byte order when comparing mss values.

  This fixes tcp-setmss action on little endian machines.

  PR: 225536
  Submitted by: John Zielinski

5 years agoMFC r337527:
hselasky [Thu, 16 Aug 2018 08:12:36 +0000 (08:12 +0000)]
MFC r337527:
Use atomic_fcmpset_XXX() instead of atomic_cmpset_XXX() when possible
in the LinuxKPI.

Suggested by: mjg @
Sponsored by: Mellanox Technologies

5 years agoMFC r337376:
hselasky [Thu, 16 Aug 2018 08:11:17 +0000 (08:11 +0000)]
MFC r337376:
Implement current_work() function in the LinuxKPI.

Tested by: Johannes Lundberg <johalun0@gmail.com>
Sponsored by: Mellanox Technologies

5 years agoMFC r337374:
hselasky [Thu, 16 Aug 2018 08:10:11 +0000 (08:10 +0000)]
MFC r337374:
Implement atomic_long_cmpxchg() function in the LinuxKPI.

Submitted by: Johannes Lundberg <johalun0@gmail.com>
Sponsored by: Mellanox Technologies

5 years agoMFC r337373:
hselasky [Thu, 16 Aug 2018 08:09:26 +0000 (08:09 +0000)]
MFC r337373:
Define __poll_t type in the LinuxKPI.

Submitted by: Johannes Lundberg <johalun0@gmail.com>
Sponsored by: Mellanox Technologies

5 years agoMFC r337232:
hselasky [Thu, 16 Aug 2018 08:08:30 +0000 (08:08 +0000)]
MFC r337232:
Implement ktime_add_ms() and ktime_before() in the LinuxKPI.

Submitted by: Johannes Lundberg <johalun0@gmail.com>
Sponsored by: Mellanox Technologies