]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoMFC r350994, r350998, r351030, r351033, r351171, r351223, r351226, r351424
Alan Somers [Sun, 15 Sep 2019 16:53:02 +0000 (16:53 +0000)]
MFC r350994, r350998, r351030, r351033, r351171, r351223, r351226, r351424

r350994:
ping: fix data type of a variable for a packet sequence number

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21244

r350998:
ping: use the monotonic clock to measure durations

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21245

r351030:
ping: fix triptime calculation after r350998

That revision changed the internal clock to the monotonic, but neglected to
change the datagram's timestamp source.

Reported by: Oliver Hartmann, Michael Butler
Reviewed by: Ján Sučan <sucanjan@gmail.com>, allanjude
MFC-With: r350998
Differential Revision: https://reviews.freebsd.org/D21258

r351033:
ping: Make in_cksum() operate on u_char buffer

This fixes -Wcast-align errors for in_cksum() calls when compiled with
WARNS=6.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21261

r351171:
ping: Move in_cksum() to a separate source file

This is a preparation step for adding ATF tests of in_cksum(), which has been
modified to operate on unaligned data. ping.o cannot be linked to the test
executable because both of them contain 'main' symbol.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21288

r351223:
ping: fix -Wformat-truncating warning with GCC

Increase buffer size for the string representation of n_time

ICMP timestamp is a 32-bit number. In pr_ntime(), number of minutes
and seconds is always 2 characters wide. Max. number of hours is 4
characters wide. The buffer size should be at least:

4 + 2 + 2 + 1 (':') + 1 (':') + 1 ('\0') = 11

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21325

r351226:
Fix uninitialized variable warnings when MK_CASPER=no

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21322

r351424:
ping: fix include guard symbol name to reflect the header file name

Submitted by: Ján Sučan <sucanjan@gmail.com>
MFC-With: 351171
Sponsored by: Google LLC (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21374

4 years agoMFC r351399: Fix the build with WITHOUT_GOOGLETEST
Kyle Evans [Sun, 15 Sep 2019 14:37:50 +0000 (14:37 +0000)]
MFC r351399: Fix the build with WITHOUT_GOOGLETEST

Attempting to build the fusefs tests WITHOUT_GOOGLETEST will result in an
error if the host system or sysroot doesn't already have googletest headers
in /usr/include/private (e.g. host built/installed WITHOUT_GOOGLETEST, clean
cross-buildworld WITHOUT_GOOGLETEST).

4 years agoMFC r351657
Vincenzo Maffione [Sun, 15 Sep 2019 14:26:19 +0000 (14:26 +0000)]
MFC r351657

netmap: import changes from upstream (SHA 137f537eae513)

 - Rework option processing.
 - Use larger integers for memory size values in the
   memory management code.

4 years agoMFC r352238: Import tzdata 2019c
Philip Paeps [Sun, 15 Sep 2019 10:54:18 +0000 (10:54 +0000)]
MFC r352238: Import tzdata 2019c

4 years agoMFC 346554,346556,346595,348060,348061,348494 udp locking fixes
Bjoern A. Zeeb [Sun, 15 Sep 2019 08:16:28 +0000 (08:16 +0000)]
MFC 346554,346556,346595,348060,348061,348494 udp locking fixes

  Fix multiple possible locking problems found by syzkaller and
  update comment (which was wrong already anyway due to previous
  changes).
  Improve KASSERTs for debugging lock related issues.
  Fold two RSS sections together.

4 years agoMFC the new fusefs driver
Alan Somers [Sun, 15 Sep 2019 04:14:31 +0000 (04:14 +0000)]
MFC the new fusefs driver

MFC r350665, r350990, r350992, r351039, r351042, r351061, r351066, r351113, r351560, r351961, r351963, r352021, r352025, r352230

r350665:
fusefs: merge from projects/fuse2

This commit imports the new fusefs driver. It raises the protocol level
from 7.8 to 7.23, fixes many bugs, adds a test suite for the driver, and
adds many new features. New features include:

* Optional kernel-side permissions checks (-o default_permissions)
* Implement VOP_MKNOD, VOP_BMAP, and VOP_ADVLOCK
* Allow interrupting FUSE operations
* Support named pipes and unix-domain sockets in fusefs file systems
* Forward UTIME_NOW during utimensat(2) to the daemon
* kqueue support for /dev/fuse
* Allow updating mounts with "mount -u"
* Allow exporting fusefs file systems over NFS
* Server-initiated invalidation of the name cache or data cache
* Respect RLIMIT_FSIZE
* Try to support servers as old as protocol 7.4

Performance enhancements include:

* Implement FUSE's FOPEN_KEEP_CACHE and FUSE_ASYNC_READ flags
* Cache file attributes
* Cache lookup entries, both positive and negative
* Server-selectable cache modes: writethrough, writeback, or uncached
* Write clustering
* Readahead
* Use counter(9) for statistical reporting

PR: 199934 216391 233783 234581 235773 235774 235775
PR: 236226 236231 236236 236291 236329 236381 236405
PR: 236327 236466 236472 236473 236474 236530 236557
PR: 236560 236844 237052 237181 237588 238565
Reviewed by: bcr (man pages)
Reviewed by: cem, ngie, rpokala, glebius, kib, bde, emaste (post-commit
review on project branch)
Relnotes: yes
Sponsored by: The FreeBSD Foundation
Pull Request: https://reviews.freebsd.org/D21110

r350990:
fusefs: add SVN Keywords to the test files

Reported by: SVN pre-commit hooks
MFC-With: r350665
Sponsored by: The FreeBSD Foundation

r350992:
fusefs: skip some tests when unsafe aio is disabled

MFC-With:       r350665
Sponsored by:   The FreeBSD Foundation

r351039:
fusefs: fix intermittency in the default_permissions.Unlink.ok test

The test needs to expect a FUSE_FORGET operation. Most of the time the test
would pass anyway, because by chance FUSE_FORGET would arrive after the
unmount.

MFC-With: 350665
Sponsored by: The FreeBSD Foundation

r351042:
fusefs: Fix the size of fuse_getattr_in

In FUSE protocol 7.9, the size of the FUSE_GETATTR request has increased.
However, the fusefs driver is currently not sending the additional fields.
In our implementation, the additional fields are always zero, so I there
haven't been any test failures until now.  But fusefs-lkl requires the
request's length to be correct.

Fix this bug, and also enhance the test suite to catch similar bugs.

PR: 239830
MFC-With: 350665
Sponsored by: The FreeBSD Foundation

r351061:
fusefs: fix the 32-bit build after 351042

Reported by: jhb
MFC-With: 351042
Sponsored by: The FreeBSD Foundation

r351066:
fusefs: fix conditional from r351061

The entirety of r351061 was a copy/paste error.  I'm sorry I've been
comitting so hastily.

Reported by: rpokala
Reviewed by: rpokala
MFC-With: 351061
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21265

r351113:
fusefs: don't send the namespace during listextattr

The FUSE_LISTXATTR operation always returns the full list of a file's
extended attributes, in all namespaces. There's no way to filter the list
server-side. However, currently FreeBSD's fusefs driver sends a namespace
string with the FUSE_LISTXATTR request. That behavior was probably copied
from fuse_vnop_getextattr, which has an attribute name argument. It's
been there ever since extended attribute support was added in r324620. This
commit removes it.

Reviewed by: cem
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21280

r351560:
fusefs: Fix some bugs regarding the size of the LISTXATTR list

* A small error in r338152 let to the returned size always being exactly
  eight bytes too large.

* The FUSE_LISTXATTR operation works like Linux's listxattr(2): if the
  caller does not provide enough space, then the server should return ERANGE
  rather than return a truncated list.  That's true even though in FUSE's
  case the kernel doesn't provide space to the client at all; it simply
  requests a maximum size for the list.  We previously weren't handling the
  case where the server returns ERANGE even though the kernel requested as
  much size as the server had told us it needs; that can happen due to a
  race.

* We also need to ensure that a pathological server that always returns
  ERANGE no matter what size we request in FUSE_LISTXATTR won't cause an
  infinite loop in the kernel.  As of this commit, it will instead cause an
  infinite loop that exits and enters the kernel on each iteration, allowing
  signals to be processed.

Reviewed by: cem
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21287

r351961:
Coverity fixes in fusefs(5)

CID 1404532 fixes a signed vs unsigned comparison error in fuse_vnop_bmap.
It could potentially have resulted in VOP_BMAP reporting too many
consecutive blocks.

CID 1404364 is much worse. It was an array access by an untrusted,
user-provided variable. It could potentially have resulted in a malicious
file system crashing the kernel or worse.

Reported by: Coverity
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21466

r351963:
fusefs: coverity cleanup in the tests

Address the following defects reported by Coverity:

* Structurally dead code (CID 1404366): set m_quit before FAIL, not after

* Unchecked return value of sysctlbyname (CID 1404321)

* Unchecked return value of stat(2) (CID 1404471)

* Unchecked return value of open(2) (CID 14044021404529)

* Unchecked return value of dup(2) (CID 1404478)

* Buffer overflows. These are all false positives caused by the fact that
  Coverity thinks I'm using a buffer to store strings, when in fact I'm
  really just using it to store a byte array that happens to be initialized
  with a string. I'm changing the type from char to uint8_t in the hopes
  that it will placate Coverity. (CID 1404338140435014043671404376,
  14043791404381140438814044031404425140443314044341404474,
  1404480140448414045031404505)

* False positive file descriptor leak. I'm going to try to fix this with
  Coverity modeling, but I'll also change an EXPECT to ASSERT so we don't
  perform meaningless assertions after the failure. (CID 14043201404324,
  14044401404445).

* Unannotated file descriptor leak. This will be followed up by a Coverity
  modeling change. (CID 14043261404334140433614043571404361,
  14043721404391140439514044091404430140444814044511404455,
  140445714044581404460)

* Uninitialized variables in C++ constructors (CID 14043271404346). In the
  case of m_maxphys, this actually led to part of the FUSE_INIT's response
  being set to stack garbage during the WriteCluster::clustering test.

* Uninitialized sun_len field in struct sockaddr_un (CID 14043301404371,
  1404429).

Reported by: Coverity
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21457

r352021:
fusefs: suppress some Coverity resource leak CIDs in the tests

The fusefs tests deliberately leak file descriptors.  To do otherwise would
add extra complications to the tests' mock FUSE server.  This annotation
should hopefully convince Coverity to shut up about the leaks.

Reviewed by: uqs
Sponsored by: The FreeBSD Foundation

r352025:
mount_fusefs: fix a segfault on memory allocation failure

Reported by: Coverity
Coverity CID: 1354188
Sponsored by: The FreeBSD Foundation

r352230:
fusefs: Fix iosize for FUSE_WRITE in 7.8 compat mode

When communicating with a FUSE server that implements version 7.8 (or older)
of the FUSE protocol, the FUSE_WRITE request structure is 16 bytes shorter
than normal. The protocol version check wasn't applied universally, leading
to an extra 16 bytes being sent to such servers. The extra bytes were
allocated and bzero()d, so there was no information disclosure.

Reviewed by: emaste
MFC-With: r350665
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21557

4 years agoMFC r352194: lualoader: Revert to ASCII menu frame for serial console
Kyle Evans [Sun, 15 Sep 2019 02:48:15 +0000 (02:48 +0000)]
MFC r352194: lualoader: Revert to ASCII menu frame for serial console

The box drawing characters we use aren't necessarily safe with a serial
console; for instance, in the report by npn@, these were causing his xterm
to send back a sequence that lua picked up as input and halted the boot.
This is less than ideal.

Fallback to ASCII frames for console with 'comconsole' in it.  This is a
partial revert r338108 by imp@ -- instead of removing the menu entirely and
disabling color/cursor sequences, just reverting the default frame to ASCII
is enough to not break in this setup.

4 years agoMFC r352211: bectl(8): Add a "check" command
Kyle Evans [Sun, 15 Sep 2019 02:46:40 +0000 (02:46 +0000)]
MFC r352211: bectl(8): Add a "check" command

This command simply returns 0 at the moment and explicitly takes no
arguments. This should be used by utilities wanting to see if bectl can
operate on the system they're running, or with a specific root (`bectl -r`).
It may grow more checks than "will libbe successfully init" in the future,
but for now this is enough as that checks for the dataset mounted at "/" and
that it looks capable of being a BE root (e.g. it's not a top-level dataset)

bectl commands can now specify if they want to be silent, and this will turn
off libbe_print_on_error so they can control the output as needed. This is
already used in `bectl check`, and may be turned on in the future for some
other commands where libbe errors are better suppressed as the failure mode
may be obvious.

4 years agoMFC r351813, r352092: bectl(8) list sorting
Kyle Evans [Sun, 15 Sep 2019 02:36:50 +0000 (02:36 +0000)]
MFC r351813, r352092: bectl(8) list sorting

MFC r351813: bectl(8): implement sorting for 'bectl list' output

Allow 'bectl list' to sort output by a given property name. The property
name is passed in using a command-line flag, '-c' for ascending order and
'-C' for descending order. The properties allowed to sort by are:

- name (the default output, even if '-c' or '-C' are not used)
- creation
- origin
- used
- usedds
- usedsnap
- usedrefreserv

The default output for 'bectl list' is now ascending alphabetical order of
BE name.

To sort by creation time from earliest to latest, the command would be
'bectl list -c creation'

MFC r352092: bectl(8): initialize reverse earlier

This turns into a warning in GCC 4.2 that 'reverse' may be used
uninitialized in this function. While I don't immediately see where it's
deciding this from (there's only two paths that make column != NULL, and
they both set reverse), initializing reverse earlier is good for clarity.

4 years agoMFC r351885, r351887
Ian Lepore [Sat, 14 Sep 2019 20:26:50 +0000 (20:26 +0000)]
MFC r351885, r351887

r351885:
Ensure a measurement is complete before reading the result in ads111x.
Also, disable the comparator by default; it's not used for anything.

The previous logic would start a measurement, and then pause_sbt() for the
averaging time currently configured in the chip.  After waiting that long,
the code would blindly read the measurement register and return its value.
The problem is that the chip's idea of averaging time is based on its
internal free-running 1MHz oscillator, which may be running at a wildly
different rate than the kernel clock.  If the chip's internal timer was
running slower than the kernel clock, we'd end up grabbing a stale result
from an old measurement.

The driver now still uses pause_sbt() to yield the cpu while waiting for
the measurement to complete, but after sleeping it checks the chip's status
register to ensure the measurement engine is idle.  If it's not, the driver
uses a retry loop to wait a bit (5% of the original wait time) then check
again for completion.

r351887:
Use a single write of 3 bytes instead of iicdev_writeto() in ads111x.

The iicdev_writeto() function basically does scatter-gather IO by filling
in a pair of iic_msg structs to write the register address then the data
from different locations but with a single bus START/xfer/STOP sequence.
It turns out several low-level i2c controller drivers do not honor the
IIC_NOSTART flag, so the second piece of the write gets a new START on
the bus, and that confuses the ads111x chips which expect a continuous
write of 3 bytes to set a register.

A proper fix for this is to track down all the misbehaving controllers
drivers and fix them.  For now this change makes this driver work again.

4 years agoMFC r352017:
Konstantin Belousov [Sat, 14 Sep 2019 13:33:36 +0000 (13:33 +0000)]
MFC r352017:
In do_execve(), use shared text vnode lock consistently.

4 years agoMFC r351693:
Hans Petter Selasky [Sat, 14 Sep 2019 13:32:54 +0000 (13:32 +0000)]
MFC r351693:
Use DEVICE memory instead of UNCACHEABLE on aarch64 in ioremap() in the LinuxKPI.
This fixes system hangs on reading device registers on aarch64.

Tested with: Marvell MACCHIATObin (Armada8k) + mlx4en, amdgpu
Submitted by: Greg V <greg@unrelenting.technology>
Differential Revision: https://reviews.freebsd.org/D20789
Sponsored by: Mellanox Technologies

4 years agoMFC r352016:
Konstantin Belousov [Sat, 14 Sep 2019 13:32:13 +0000 (13:32 +0000)]
MFC r352016:
In do_execve(), clear imgp->textset when restarting for interpreter.

4 years agoMFC r352015:
Konstantin Belousov [Sat, 14 Sep 2019 13:30:53 +0000 (13:30 +0000)]
MFC r352015:
When loading ELF interpreter, initialize whole nested image_params with zero.

4 years agoMFC r351847:
Hans Petter Selasky [Sat, 14 Sep 2019 13:30:22 +0000 (13:30 +0000)]
MFC r351847:
Decrease the default audio playback latency to a maximum of 21.3ms.
This significantly improves the audio playback response time.

Discussed with: mav@
Sponsored by: Mellanox Technologies

4 years agoMFC r352014:
Konstantin Belousov [Sat, 14 Sep 2019 13:29:41 +0000 (13:29 +0000)]
MFC r352014:
vm_object_deallocate(): Remove no longer needed code.

4 years agoMFC r352013:
Konstantin Belousov [Sat, 14 Sep 2019 13:27:07 +0000 (13:27 +0000)]
MFC r352013:
vm_object_coalesce(): avoid extending any nosplit objects, not only
that which back tmpfs nodes.

4 years agoMFC r352012:
Konstantin Belousov [Sat, 14 Sep 2019 13:25:54 +0000 (13:25 +0000)]
MFC r352012:
Properly check for writers when fetching quotas for writeable vnodes
in UFS quotaon().

4 years agoMFC r351218:
Emmanuel Vadot [Fri, 13 Sep 2019 21:28:08 +0000 (21:28 +0000)]
MFC r351218:

ti: sdhci: Correct voltage caps

ti,dual-volt property say that the eMMC support 1.8V and 3.3V not 3.0V
Use the correct caps for the mmc stack.
Note that the MMCHS_SD_CAPA register can only be written once after bootup
so if one is using a u-boot compiled with eMMC support (this is the default)
this code is a no-op but just in case someone have u-boot compiled without
eMMC support this make eMMC works when the kernel is booted.

4 years agoMFC r351184, r351189, r351217
Emmanuel Vadot [Fri, 13 Sep 2019 21:20:24 +0000 (21:20 +0000)]
MFC r351184, r351189, r351217

r351184:
Add method for getting of syscon handle from parent device.

If simple multifuction device also provides syscon interface, its
childern should be able to consume it. Due to this:
- declare coresponding method in syscon interface
- implement it in simple multifunction device driver

r351189:
Fix bug introduced by r351184.
We should check the returned handle, not the pointer to it.

Noticed by: ian
X-MFC with: r351184

r351217:
arm64: a37x0_gpio: Use syscon instead of MMIO region

The fdt node for this driver is a simple-mfd and syscon compatible one
meaning that simplemfd will be the driver attached for it. The gpio driver
is attached to the 'gpio' subnode so use syscon_get_handle_default to
obtain the handle of the syscon from the parent device and use this
to read/write to the memory region.

4 years agoMFC r352201: Fix assumptions of only one device per SES slot.
Alexander Motin [Fri, 13 Sep 2019 15:48:11 +0000 (15:48 +0000)]
MFC r352201: Fix assumptions of only one device per SES slot.

It is typical to have one, but no longer true for multi-actuator HDDs
with separate LUN for each actuator.

4 years agoMFC r352257: Report Trusted Computing feature set support.
Alexander Motin [Fri, 13 Sep 2019 15:21:18 +0000 (15:21 +0000)]
MFC r352257: Report Trusted Computing feature set support.

It practically means the device is SED.

4 years agoMFC r352200: Remove struct ata_res_pass16, unneeded after r352082.
Alexander Motin [Fri, 13 Sep 2019 15:19:50 +0000 (15:19 +0000)]
MFC r352200: Remove struct ata_res_pass16, unneeded after r352082.

4 years agoMFC r352111: Initialize page/subpage in case of `modepage -d`.
Alexander Motin [Fri, 13 Sep 2019 15:18:28 +0000 (15:18 +0000)]
MFC r352111: Initialize page/subpage in case of `modepage -d`.

Previously without -m parameter it worked mostly by concodence.

While there, make page/subpage values validation more strict.

4 years agoMFC r352082, r352103: Fix number of problems found while testing on SAT devices.
Alexander Motin [Fri, 13 Sep 2019 15:15:58 +0000 (15:15 +0000)]
MFC r352082, r352103: Fix number of problems found while testing on SAT devices.

 - Remove incomplete and dangerous ata_res decoding from ata_do_cmd().
Instead switch all functions that need the result to use get_ata_status(),
doing the same, but more careful, also reducing code duplication.
 - Made get_ata_status() to also decode fixed format sense.  In many cases
it is still not enough to make it useful, since it can only report results
of 28-bit command, but it is slightly better then nothing.
 - Organize error reporting in ata_do_cmd(), so that if caller specified
AP_FLAG_CHK_COND, it is responsible for command errors (non-ioctl ones).
 - Make HPA/AMA errors not fatal for `identify` subcommand.
 - Fix reprobe() not being called on HPA/AMA when in quiet mode.
 - Remove not very useful messages from `format` and `sanitize` commands
with -y flag.  Once they started, they often can't be stopped any way.

4 years agoMFC r352018: Unify cam_send_ccb() error reporting.
Alexander Motin [Fri, 13 Sep 2019 14:43:44 +0000 (14:43 +0000)]
MFC r352018: Unify cam_send_ccb() error reporting.

Error there mean that command was not even executed, and all information
we have about it is errno, and cam_error_print() call is not very useful.
Plus it is most likely a programmatic error, that shoud not happen.

4 years agoMFC r352011: Supply SAT layer with valid transfer sizes.
Alexander Motin [Fri, 13 Sep 2019 14:42:37 +0000 (14:42 +0000)]
MFC r352011: Supply SAT layer with valid transfer sizes.

This is a rework of r344701, that noticed that number of bytes passes to
8 bit sector count field gets truncated.  First decision was to not pass
anything, since ATA specs define the field as N/A.  But it appeared to be a
problem for some SAT devices, that require information about data transfer
to operate properly.  Some additional investigation shown that it is quite
a common practice to set unused fields of ATA commands (fortunately ATA
specs formally allow it) to supply the information to SAT layer.  I have
found SAS-SATA interposer that does not allow pass-through without it.

As side effect, reduce code duplication by removing ata_do_28bit_cmd()
function, replacing it with more universal ata_do_cmd().

4 years agoMFC r352072:
Michael Tuexen [Fri, 13 Sep 2019 08:14:46 +0000 (08:14 +0000)]
MFC r352072:

Only update SACK/DSACK lists when a non-empty segment was received.
This fixes hitting a KASSERT with a valid packet exchange.

PR: 240471
Reviewed by: rrs@, Richard Scheffenegger
Sponsored by: Neflix, Inc.
Differential Revision: https://reviews.freebsd.org/D21567

4 years agoMFC r352127:
Baptiste Daroussin [Fri, 13 Sep 2019 07:18:32 +0000 (07:18 +0000)]
MFC r352127:

In FreeBSD 11 localedef(1) has replaced the mklocale(1) and colldef(1)
tools to generate the locales data. state it in the libc manpages.

4 years agoMFC r352126:
Baptiste Daroussin [Fri, 13 Sep 2019 07:15:48 +0000 (07:15 +0000)]
MFC r352126:

Remove reference to mklocale regarding the nls directory

mklocale never had anything to do with the content of this directory

4 years agoMFC r352065-r352070
Baptiste Daroussin [Fri, 13 Sep 2019 07:10:50 +0000 (07:10 +0000)]
MFC r352065-r352070

Sync with OpenBSD, in particular this adds support for -E flags
(GNU compatibility)

4 years agoMFC r352119-r352124, r352130
Baptiste Daroussin [Fri, 13 Sep 2019 07:08:43 +0000 (07:08 +0000)]
MFC r352119-r352124, r352130

Stop linking to libl by specifying we do not need yywrap

4 years agoUse file destdir for stage_as sets
Simon J. Gerraty [Fri, 13 Sep 2019 05:54:09 +0000 (05:54 +0000)]
Use file destdir for stage_as sets

We cannot use file (without :T) to name targets
but we can use the destination directory (with / replaced by _)
This has the benefit of minimizing the targets created.

MFC r351954

Reviewed by: bdrewery
Differential Revision: https://reviews.freebsd.org//D21283

4 years agoMFC r351445:
Navdeep Parhar [Fri, 13 Sep 2019 01:14:58 +0000 (01:14 +0000)]
MFC r351445:

whitespace nit.

4 years agoMFC r351540, r351590
Navdeep Parhar [Fri, 13 Sep 2019 01:12:17 +0000 (01:12 +0000)]
MFC r351540, r351590

r351540:
cxgbe/t4_tom: Initialize all TOE connection parameters in one place.
Remove now-redundant items from toepcb and synq_entry and the code to
support them.

Let the driver calculate tx_align, rx_coalesce, and sndbuf by default.

Reviewed by: jhb@
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D21387

r351590:
cxgbe/t4_tom: Use the correct value of sndbuf in AIO Tx.

This should have been part of r351540.

Sponsored by: Chelsio Communications

4 years agoMFC r351524:
Navdeep Parhar [Fri, 13 Sep 2019 00:58:33 +0000 (00:58 +0000)]
MFC r351524:

cxgbe/t4_tom: Limit work requests with immediate payload to a single
descriptor.  The per-tid tx credits are in demand during active Tx and
it's best not to use too many just for payload.

Sponsored by: Chelsio Communications

4 years agoMFC r351446:
Navdeep Parhar [Fri, 13 Sep 2019 00:53:09 +0000 (00:53 +0000)]
MFC r351446:

cxgbe/t4_tom: Any invalid scaling factor in the hardware's wsf field
implies that window scaling is not in use.

Sponsored by: Chelsio Communications

4 years agoMFC r345103:
Johannes Lundberg [Thu, 12 Sep 2019 21:12:39 +0000 (21:12 +0000)]
MFC r345103:
Implement more PCI speed related functions and macros in the LinuxKPI.

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

4 years agoMFC r345100:
Johannes Lundberg [Thu, 12 Sep 2019 20:15:04 +0000 (20:15 +0000)]
MFC r345100:
Implement task_euid() and get_task_state() function macros in the LinuxKPI.

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

4 years agoMFC r351172:
Alan Somers [Thu, 12 Sep 2019 16:23:22 +0000 (16:23 +0000)]
MFC r351172:

ping6: Raise WARNS level to 6

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21260

4 years agoMFC r351865, r351837:
Toomas Soome [Thu, 12 Sep 2019 06:26:22 +0000 (06:26 +0000)]
MFC r351865, r351837:
ficl: add xemit word
ficl: add uIsGreater word (needed for xemit)

We need xemit to support userboot.so loading images from CURRENT.

4 years agoMFC r348268 (by sef), r348293 (by cem):
Alexander Motin [Wed, 11 Sep 2019 23:45:58 +0000 (23:45 +0000)]
MFC r348268 (by sef), r348293 (by cem):
Add an AESNI-optimized version of the CCM/CBC cryptographic and authentication
code.  The primary client of this is probably going to be ZFS encryption.

4 years agoMFC r342024 (by mmacy): Generalize AES iov optimization
Alexander Motin [Wed, 11 Sep 2019 23:41:09 +0000 (23:41 +0000)]
MFC r342024 (by mmacy): Generalize AES iov optimization

Right now, aesni_cipher_alloc does a bit of special-casing
for CRYPTO_F_IOV, to not do any allocation if the first uio
is large enough for the requested size. While working on ZFS
crypto port, I ran into horrible performance because the code
uses scatter-gather, and many of the times the data to encrypt
was in the second entry. This code looks through the list, and
tries to see if there is a single uio that can contain the
requested data, and, if so, uses that.

This has a slight impact on the current consumers, in that the
check is a little more complicated for the ones that use
CRYPTO_F_IOV -- but none of them meet the criteria for testing
more than one.

4 years agoMFC r350993, r350997, r351079-r351080, r351082, r351090, r351101-r351102
Alan Somers [Wed, 11 Sep 2019 20:13:38 +0000 (20:13 +0000)]
MFC r350993, r350997, r351079-r351080, r351082, r351090, r351101-r351102

r350993:
Consistently use the byteorder functions in the correct direction

Though ntohs and htons are functionally identical, they have different meanings.Using the correct one helps to document the code.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21219

r350997:
ping6: use the monotonic clock to measure durations

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21226

r351079:
ping6: quiet warning about unused copyright variable

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21270

r351080:
ping6: quiet an undefined variable warning

GCC 4.2 isn't smart enough to know that this variable is already defined by
the time it's used.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21269

r351082:
ping6: fix uninitialized variable warning for intvl

GCC isn't smart enough to realize that this variable was always initialized.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21271

r351090:
ping6: Fix data type of the buffer for ancillary data of a received message

The old code worked, but wasted some stack space.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21275

r351101:
ping6: fix uninitialized variable warnings when MK_CASPER=no

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21273

r351102:
ping6: Fix alignment errors

This fixes -Wcast-align errors when compiled with WARNS=6.

Submitted by: Ján Sučan <sucanjan@gmail.com>
Sponsored by: Google, inc. (Google Summer of Code 2019)
Differential Revision: https://reviews.freebsd.org/D21217

4 years agoFix miss merge in r352179.
Mariusz Zaborski [Wed, 11 Sep 2019 16:06:05 +0000 (16:06 +0000)]
Fix miss merge in r352179.

4 years agoMFC r351830:
Konstantin Belousov [Wed, 11 Sep 2019 04:55:10 +0000 (04:55 +0000)]
MFC r351830:
madvise(MADV_FREE): Quick fix to time rewind.

PR: 240061

4 years agoMFC: r352197
Jung-uk Kim [Tue, 10 Sep 2019 22:26:31 +0000 (22:26 +0000)]
MFC: r352197

Remove unnecessary entries from the previous commit.

4 years agoMFC: r352191
Jung-uk Kim [Tue, 10 Sep 2019 21:13:37 +0000 (21:13 +0000)]
MFC: r352191

Merge OpenSSL 1.1.1d.

4 years agoMFCr350429:
Mariusz Zaborski [Tue, 10 Sep 2019 20:55:47 +0000 (20:55 +0000)]
MFCr350429:
  proc: make clear_orphan an public API

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

  Reviewed by:  markj, kib

4 years agoMFCr340638:
Mariusz Zaborski [Tue, 10 Sep 2019 20:49:47 +0000 (20:49 +0000)]
MFCr340638:
 libcasper: provide compatibility with the old version of service

  Some external tools like tcpdump(1) have upstream the changes with old limits
  name. Because of that provide compatibility with the old names.

  Reported by:  emaste

4 years agoMFCr340363:
Mariusz Zaborski [Tue, 10 Sep 2019 20:45:51 +0000 (20:45 +0000)]
MFCr340363:
  libcasper: Change the name of limits in cap_dns so the intentions are obvious.

  Reported by:  pjd

4 years agoMFCr340141:
Mariusz Zaborski [Tue, 10 Sep 2019 20:41:42 +0000 (20:41 +0000)]
MFCr340141:
  libcasper: fix limitations in dns service

  The getaddrinfo(3) and gethostbyname(3) are used to return the address for a
  given hostname. The getnameinfo(3) and gethostbyaddr(3) are used to return
  hostname for a given address. Right now in casper, we have two limitations:
  - NAME which allows resolving DNS names.
  - ADDR which allows to do revert DNS lookups.

  Before this change the rights was mixed up:
  NAME - getnameinfo(3) and gethostbyname(3)
  ADDR - gethostbyaddr(3) and getaddrinfo(3)

  Which no matters on limitation allowed us to resolve DNS names and do DNS
  lookups basically by using a different set of functions.

  Now the NAME type allows getaddrinfo(3) and gethostbyname (3)functions,
  and the ADDR names allow to use gethostbyaddr(3) and getnameinfo(3) functions.

  Reviewed by:  pjd, bcr
  Discussed with:       hrs
  Differential Revision:        https://reviews.freebsd.org/D16930

4 years agoMFCr350617:
Mariusz Zaborski [Tue, 10 Sep 2019 20:21:47 +0000 (20:21 +0000)]
MFCr350617:
  procdesc: fix the function name

  I changed name of the function r350429 and forgot to update
  the r350612 patch.

  Reported by:  jenkins

4 years agoMFCr350616:
Mariusz Zaborski [Tue, 10 Sep 2019 20:20:45 +0000 (20:20 +0000)]
MFCr350616:
  process: style

  We don't need to check if the parent is already set.
  This is done already in the proc_reparent.

  No functional behaviour changes intended.

  MFC after:    1 month

4 years agoMFCr350614:
Mariusz Zaborski [Tue, 10 Sep 2019 20:19:02 +0000 (20:19 +0000)]
MFCr350614:
  exit1: fix style nits

4 years agoMFCr350612
Mariusz Zaborski [Tue, 10 Sep 2019 20:18:06 +0000 (20:18 +0000)]
MFCr350612
  procdesc: fix reparenting when the debugger is attached

  The process is reparented to the debugger while it is attached.
    B          B
   /   ---->   |
  A          A D

  Every time when the process is reparented, it is added to the orphan list
  of the previous parent:

  A->orphan = B
  D->orphan = NULL

  When the A process will close the process descriptor to the B process,
  the B process will be reparented to the init process.
    B            B - init
    |   ---->
  A D          A   D

  A->orphan = B
  D->orphan = B

  In this scenario, the B process is in the orphan list of A and D.

  When the last process descriptor is closed instead of reparenting
  it to the reaper let it stay with the debugger process and set
  our previews parent to the reaper.

  Add test case for this situation.
  Notice that without this patch the kernel will crash with this test case:
  panic: orphan 0xfffff8000e990530 of 0xfffff8000e990000 has unexpected oppid 1

  Reviewed by:  markj, kib
  Differential Revision:        https://reviews.freebsd.org/D20361

4 years agoMFCr350611:
Mariusz Zaborski [Tue, 10 Sep 2019 20:15:52 +0000 (20:15 +0000)]
MFCr350611:
  proc: introduce the proc_add_orphan function

  This API allows adding the process to its parent orphan list.

  Reviewed by:  kib, markj

4 years agoMFCr350610:
Mariusz Zaborski [Tue, 10 Sep 2019 20:14:52 +0000 (20:14 +0000)]
MFCr350610:
  exit1: postpone clearing P_TRACED flag until the proctree lock is acquired

  In case of the process being debugged. The P_TRACED is cleared very early,
  which would make procdesc_close() not calling proc_clear_orphan().
  That would result in the debugged process can not be able to collect
  status of the process with process descriptor.

  Reviewed by:  markj, kib
  Tested by:    pho

4 years agoMFC r351774:
Konstantin Belousov [Tue, 10 Sep 2019 06:47:40 +0000 (06:47 +0000)]
MFC r351774:
Add stackgap control mode to proccontrol(1).

PR: 239894

4 years agoMFC r351773:
Konstantin Belousov [Tue, 10 Sep 2019 06:45:44 +0000 (06:45 +0000)]
MFC r351773:
Add procctl(PROC_STACKGAP_CTL).

PR: 239894

4 years agoMFC r351937:
Johannes Lundberg [Tue, 10 Sep 2019 02:21:17 +0000 (02:21 +0000)]
MFC r351937:
LinuxKPI: Improve sysfs support.

- Add functions for creating and merging sysfs groups.
- Add sysfs_streq function to compare strings ignoring newline from the
  sysctl userland call.
- Add a call to sysfs_create_groups in device_add.
- Remove duplicate header include.
- Bump __FreeBSD_version.

Reviewed by: hselasky
Approved by: imp (mentor), hselasky

4 years agoMFC 351897: nvdimm(4): Add description of NVDIMM Namespace support
D Scott Phillips [Mon, 9 Sep 2019 21:03:08 +0000 (21:03 +0000)]
MFC 351897: nvdimm(4): Add description of NVDIMM Namespace support

Approved by: scottl (mentor)
Sponsored by: Intel Corporation

4 years agoMFC 348757,351225: acpi and nvdimm location_str updates
D Scott Phillips [Mon, 9 Sep 2019 20:49:37 +0000 (20:49 +0000)]
MFC 348757,351225: acpi and nvdimm location_str updates

348757:
nvdimm: Provide nvdimm location information

Provide the acpi handle path as the location string for the nvdimm
children of the nvdimm_root device.

351225:
Don't set the string "unknown" as a device's location_str

Return an empty string when the location is unknown instead of the
string "unknown". This ensures that all location entries are of
the form key=val.

Approved by: scottl (mentor)
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D20644

4 years agoMFC r351663: ar: use more correct size_t type for loop index
Ed Maste [Mon, 9 Sep 2019 20:04:45 +0000 (20:04 +0000)]
MFC r351663: ar: use more correct size_t type for loop index

Submitted by: cem

4 years agoMFC r351197, r351199:
Vladimir Kondratyev [Mon, 9 Sep 2019 18:57:17 +0000 (18:57 +0000)]
MFC r351197, r351199:

iwmbtfw: Firmware loader for Intel Wireless 8260 based Bluetooth USB devices

Currently supported models are: 8260, 8265, 9560, 9260 and 22161.
Firmware files can be installed with comms/iwmbt-firmware port.

PR: 237083
Reviewed by: hps, emax
Differential Revision: https://reviews.freebsd.org/D21071

4 years agoMFC r351196, r351324, r351326:
Vladimir Kondratyev [Mon, 9 Sep 2019 18:50:38 +0000 (18:50 +0000)]
MFC r351196, r351324, r351326:

ng_ubt(4): do not attach Intel Wireless 8260/8265 in bootloader mode.

Add helper function for synchronous execution of HCI commands at probe
stage and use this function to check firmware state of Intel Wireless
8260/8265 bluetooth devices found in many post 2016 year laptops.

Attempt to initialize FreeBSD bluetooth stack while such a device is in
bootloader mode locks the adapter hardly so it requires power on/off
cycle to restore.

This change blocks ng_ubt attachment unless operational firmware is
loaded thus preventing the lock up.

PR: 237083
Reviewed by: hps, emax
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D21071

4 years agoMFC: r351429,351430,351485,351497,351498
Warner Losh [Mon, 9 Sep 2019 18:27:52 +0000 (18:27 +0000)]
MFC: r351429,351430,351485,351497,351498

Merge changes to turn off -Werror for gcc 4.2.1 by default as part of
the plan to deorbit gcc 4.2.1 from -head before 13.0.

Relnotes: Yes

4 years agoBack out r352087 for now
Kyle Evans [Mon, 9 Sep 2019 18:20:55 +0000 (18:20 +0000)]
Back out r352087 for now

The ancient-gcc -Wno-error series hasn't been MFC'd yet to this branch and
some GCC builds seem to have raised a false-positive that wasn't caught due
to -Wno-error on head. Back it out for now, will reapply when r352092
becomes eligible for MFC...

4 years agobectl(8): fix mis-merge
Kyle Evans [Mon, 9 Sep 2019 18:01:07 +0000 (18:01 +0000)]
bectl(8): fix mis-merge

r348296 ("add description for create subcommand") apparently failed to merge
in the SYNOPSIS addition somehow... correct this mistake now.  This is a
direct commit to stable/12 for a misfire on previous MFC.

4 years agoMFC r351938:
Dimitry Andric [Mon, 9 Sep 2019 17:58:26 +0000 (17:58 +0000)]
MFC r351938:

Pull in r371111 from upstream llvm trunk (by Eli Friedman):

  [IfConversion] Fix diamond conversion with unanalyzable branches.

  The code was incorrectly counting the number of identical
  instructions, and therefore tried to predicate an instruction which
  should not have been predicated.  This could have various effects: a
  compiler crash, an assembler failure, a miscompile, or just
  generating an extra, unnecessary instruction.

  Instead of depending on TargetInstrInfo::removeBranch, which only
  works on analyzable branches, just remove all branch instructions.

  Fixes https://bugs.llvm.org/show_bug.cgi?id=43121 and
  https://bugs.llvm.org/show_bug.cgi?id=41121 .

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

This should fix "Unable to predicate BX killed renamable $r0" errors
when building the lang/spidermonkey170 and lang/spidermonkey38 ports for
armv7 and armv6.

PR: 236567

4 years agoMFC r351813: bectl(8): implement sorting for 'bectl list' output
Kyle Evans [Mon, 9 Sep 2019 17:56:14 +0000 (17:56 +0000)]
MFC r351813: bectl(8): implement sorting for 'bectl list' output

Allow 'bectl list' to sort output by a given property name. The property
name is passed in using a command-line flag, '-c' for ascending order and
'-C' for descending order. The properties allowed to sort by are:

- name (the default output, even if '-c' or '-C' are not used)
- creation
- origin
- used
- usedds
- usedsnap
- usedrefreserv

The default output for 'bectl list' is now ascending alphabetical order of
BE name.

To sort by creation time from earliest to latest, the command would be
'bectl list -c creation'

4 years agoMFC r345845-r345846: bectl(8) manpage clarity
Kyle Evans [Mon, 9 Sep 2019 17:53:15 +0000 (17:53 +0000)]
MFC r345845-r345846: bectl(8) manpage clarity

r345845:
bectl.8: Clean up & clarify the create subcommand

- Improve formatting
- Use consistent variable names
- Improve the description of the create subcommand (1)

PR: 235850

r345846:
bectl.8: Bump date after r345845

4 years agoMFC r344555 (sobomax): makefs: Improve error handling
Ed Maste [Mon, 9 Sep 2019 17:44:14 +0000 (17:44 +0000)]
MFC r344555 (sobomax): makefs: Improve error handling

Bail out if one of the files scheduled to go to the FS image we are
making cannot be read (e.g. EPERM).  Previous behaviour of issuing a
warning but still proceeeding and returning success was definitely not
correct: masking out error condition as well as making a slighly
inconsistent FS where attempt to access the file in question ends up in
EBADF.  (More details in review D18584.)

4 years agoMFC r351797: (Optional) Allow more nesting of GEOM partitioning schemes
Kyle Evans [Mon, 9 Sep 2019 17:43:44 +0000 (17:43 +0000)]
MFC r351797: (Optional) Allow more nesting of GEOM partitioning schemes

GEOM is supposed to be topology-agnostic, but the GPT and BSD partition code
has arbitrary restrictions on nesting that are annoying in cases such as
running VMs on raw partitions (since the VM's partitioning scheme is not
visible to the host).

This patch adds sysctls to disable the restrictions except in the case of
BSD label (and similar) partitions with offset 0 (where we need to avoid
recursively recognizing the label).

4 years agoMFC r351681: mips: fix some mcount nits
Kyle Evans [Mon, 9 Sep 2019 17:37:52 +0000 (17:37 +0000)]
MFC r351681: mips: fix some mcount nits

The symbol version for _mcount was removed 12 years ago in r169525 from
gmon/Symbol.map, to be added to the per-arch Symbol.map. mips was overlooked
in this, so _mcount has no symver. Add it back to where it should have been,
rather than where it would go if it were added today, since we're correcting
a historical mistake.

Additionally, _mcount is getting thrown into .mdebug.abi32 in the llvm80/90
world as it's not getting explicitly thrown into .text, so do this now. This
fixes the libc build that was previously failing due to relocations in
.mdebug.abi32. This is specifically due to the way clang's integrated AS
works and that they emit the .mdebug.abiNN section early in the process. An
LLVM bug has been submitted (and since committed) and an agreement has been
made that the mips backend should switch to .text following .mdebug.abiNN
for compatibility.

4 years agoMFC r351396: makefs: diff reduction to sys/fs/msdosfs
Ed Maste [Mon, 9 Sep 2019 17:34:18 +0000 (17:34 +0000)]
MFC r351396: makefs: diff reduction to sys/fs/msdosfs

No functional change.

4 years agoMFC r351347: makefs: Verify that the BPB media descriptor and FAT ID match
Ed Maste [Mon, 9 Sep 2019 17:33:31 +0000 (17:33 +0000)]
MFC r351347: makefs: Verify that the BPB media descriptor and FAT ID match

From r322982 in sys/fs/msdosfs.

4 years agomakefs: add msdosfs (FAT) support
Ed Maste [Mon, 9 Sep 2019 17:32:40 +0000 (17:32 +0000)]
makefs: add msdosfs (FAT) support

MFC r351232: makefs.8: expand description of image size

Submitted by: ryan_freqlabs.com, Siva Mahadevan

MFC r351273: makefs: add msdosfs (FAT) support

Add FAT support to makefs by copying some files from sys/fs/msdosfs/ and
updating others with changes from NetBSD.

The six files copied from sys/fs/msdosfs at r348251 and modified are:
denode.h direntry.h fat.h msdosfs_fat.c msdosfs_lookup.c msdosfsmount.h

I would prefer to avoid the duplication, but reluctance to doing so was
expressed in a previous review (D11197); for now copy the files and
revisit in the future.

Submitted by: Siva Mahadevan

MFC r351275: makefs: avoid "dereferencing 'void *' pointer" warnings

On GCC 4.2.1 archs

MFC r351302: makefs.8: update history

- ported to FreeBSD and first appeared in 8.0
- Christos Zoulas added the FAT support that I imported

MFC r351319: makefs: use `char *` not `void *` for buf b_data, drop casts in msdos

(The kernel uses caddr_t.)

Suggested by: cem

MFC r351415 (delphij): Properly update FSInfo block after generation.

After populating the filesystem, write a FSInfo block with
proper information.

Sponsored by: The FreeBSD Foundation

4 years agoMFC r351230: makefs.8: style updates from igor
Ed Maste [Mon, 9 Sep 2019 17:24:24 +0000 (17:24 +0000)]
MFC r351230: makefs.8: style updates from igor

Sponsored by: The FreeBSD Foundation

4 years agoMFC r345281: makefs: Fix "time" mtree attribute handling
Ed Maste [Mon, 9 Sep 2019 17:22:11 +0000 (17:22 +0000)]
MFC r345281: makefs: Fix "time" mtree attribute handling

When processing mtree(5) MANIFEST files, makefs(8) previously threw an
error if it encountered an entry whose "time" attribute contained a
non-zero subsecond component (e.g. time=1551620152.987220000).

Update the handling logic to properly assign the subsecond component if
built with nanosecond support, or silently discard it otherwise.

Also, re-enable the time attribute for the kyua tests.

PR: 194703
Submitted by: mhorne

4 years agoMFC r351701:
Johannes Lundberg [Mon, 9 Sep 2019 16:37:38 +0000 (16:37 +0000)]
MFC r351701:
LinuxKPI: Add sysfs create/remove functions that handles multiple files in one call.

Reviewed by: hps
Approved by: imp (mentor), hps

4 years agoMFC r351935:
Fabien Thomas [Mon, 9 Sep 2019 14:41:39 +0000 (14:41 +0000)]
MFC r351935:
Fix broken window replay check that will allow old packet to be accepted.
This was introduced in r309144.

Submitted by: Jean-Francois HREN <jean-francois.hren@stormshield.eu>
Approved by: ae@

4 years agoMFC r350077
Chuck Tuffli [Mon, 9 Sep 2019 14:16:57 +0000 (14:16 +0000)]
MFC r350077

bhyve: update the NVMe CQ based on the status

Approved by: imp (mentor)

4 years agoMFC r351361, r351363:
Mark Johnston [Sun, 8 Sep 2019 20:53:29 +0000 (20:53 +0000)]
MFC r351361, r351363:
Add lockmgr(9) probes to the lockstat DTrace provider.

4 years agoMFC r351671:
Mark Johnston [Sun, 8 Sep 2019 20:42:55 +0000 (20:42 +0000)]
MFC r351671:
Fix an off-by-one bug in the CPU and domain ID parser.

4 years agoMFC r351624:
Mark Johnston [Sun, 8 Sep 2019 20:42:28 +0000 (20:42 +0000)]
MFC r351624:
Properly check for an interrupted cv_wait_sig().

4 years agoMFC r351573:
Mark Johnston [Sun, 8 Sep 2019 20:41:00 +0000 (20:41 +0000)]
MFC r351573:
Document fetchReqHTTP().

4 years agoMFC r351672:
Mark Johnston [Sun, 8 Sep 2019 20:39:55 +0000 (20:39 +0000)]
MFC r351672:
Restrict the input domain set in cpuset_setdomain(2) to all_domains.

4 years agoMFC r351332:
Mark Johnston [Sun, 8 Sep 2019 20:38:58 +0000 (20:38 +0000)]
MFC r351332:
Unconditionally enable debug.vm_lowmem.

4 years agoMFC r350431:
Mark Johnston [Sun, 8 Sep 2019 20:37:42 +0000 (20:37 +0000)]
MFC r350431:
Centralize the logic in vfs_vmio_unwire() and sendfile_free_page().

4 years agoMFC r351547, r351549:
Mark Johnston [Sun, 8 Sep 2019 20:28:06 +0000 (20:28 +0000)]
MFC r351547, r351549:
Fix several logic issues in domainset_empty_vm().

4 years agoMFC r351614
Jason Helfman [Sun, 8 Sep 2019 16:24:34 +0000 (16:24 +0000)]
MFC r351614

- address missing whitespace for indent

PR: 239727
Submitted by: gbergling@gmail.com
Reviewed by: 0mp@

4 years agoMFC r351889:
Cy Schubert [Sun, 8 Sep 2019 01:58:02 +0000 (01:58 +0000)]
MFC r351889:

Bounds check again after advancing cp, otherwise we have a possible
heap buffer overflow. This was discovered by a Google fuzzer test.
This can lead to remote denial of service. User interaction and
execution privileges are not a prerequisite for exploitation.

Reported by: enh at Google, to FreeBSD by maya@NetBSD.org
Obtained from: enh at Google
See also: NetBSD ns_name.c r1.12
Reviewed by: delphij, ume
MFC after: 3 days
https://android-review.googlesource.com/c/platform/bionic/+/1093130
Differential Revision: https://reviews.freebsd.org/D21523

4 years agoImprove DSACK support:
Michael Tuexen [Sat, 7 Sep 2019 19:58:06 +0000 (19:58 +0000)]
Improve DSACK support:

MFC This is the second in a number of patches needed to
get BBRv1 into the tree. This fixes the DSACK bug but
is also needed by BBR. We have yet to go two more
one will be for the pacing code (tcp_ratelimit.c) and
the second will be for the new updated LRO code that
allows a transport to know the arrival times of packets
and (tcp_lro.c). After that we should finally be able
Improve DSACK support.

MFC r349987 from rrs@:

This is the second in a number of patches needed to
get BBRv1 into the tree. This fixes the DSACK bug but
is also needed by BBR. We have yet to go two more
one will be for the pacing code (tcp_ratelimit.c) and
the second will be for the new updated LRO code that
allows a transport to know the arrival times of packets
and (tcp_lro.c). After that we should finally be able
to get BBRv1 into head.

This required manual tweaking to address merge conflicts.

MFC r351725:

This patch improves the DSACK handling to conform with RFC 2883.
The lowest SACK block is used when multiple Blocks would be elegible as
DSACK blocks ACK blocks get reordered - while maintaining the ordering of
SACK blocks not relevant in the DSACK context is maintained.

This required manual tweaking to address merge conflicts.

MFC r351801:

Fix the SACK block generation in the base TCP stack by bringing it in
sync with the RACK stack.

4 years agoMFC r351631
Sevan Janiyan [Sat, 7 Sep 2019 17:22:25 +0000 (17:22 +0000)]
MFC r351631
Earliest reference to /dev/null I can find is in v4 sh(1) and nulldev in
nsys/ken/subr.c
via TUHS archive
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4

4 years agoMFC r351655:
Michael Tuexen [Sat, 7 Sep 2019 12:20:47 +0000 (12:20 +0000)]
MFC r351655:

Fix initialization of top_fsn.

4 years agoMFC r351654:
Michael Tuexen [Sat, 7 Sep 2019 12:19:07 +0000 (12:19 +0000)]
MFC r351654:

Improve the handling of state cookie parameters in INIT-ACK chunks.
This fixes problem with parameters indicating a zero length or partial
parameters after an unknown parameter indicating to stop processing. It
also fixes a problem with state cookie parameters after unknown
parametes indicating to stop porcessing.
Thanks to Mark Wodrich from Google for finding two of these issues
by fuzz testing the userland stack and reporting them in
https://github.com/sctplab/usrsctp/issues/351
and
https://github.com/sctplab/usrsctp/issues/352

4 years agoMFC r351641:
Michael Tuexen [Sat, 7 Sep 2019 12:15:23 +0000 (12:15 +0000)]
MFC r351641:
Improve function definition.

4 years agoMFC r351638:
Michael Tuexen [Sat, 7 Sep 2019 12:13:58 +0000 (12:13 +0000)]
MFC r351638:

Improve the handling of illegal sequence number combinations in received
data chunks. Abort the association if there are data chunks with larger
fragement sequence numbers than the fragement sequence of the last
fragment.
Thanks to Mark Wodrich from Google who found this issue by fuzz testing
the userland stack and reporting this issue in
https://github.com/sctplab/usrsctp/issues/355

4 years agoMFC r351511:
Michael Tuexen [Sat, 7 Sep 2019 12:03:13 +0000 (12:03 +0000)]
MFC r351511:

Identify eMAG CPU used in Ampere Computing systems.

Reviewed by: emaste@
Differential Revision: https://reviews.freebsd.org/D21314