]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
3 years agoMFC 361810: Refer to AES-CBC as "aes-cbc" rather than "rijndael-cbc" for IPsec.
John Baldwin [Thu, 5 Nov 2020 19:37:56 +0000 (19:37 +0000)]
MFC 361810: Refer to AES-CBC as "aes-cbc" rather than "rijndael-cbc" for IPsec.

At this point, AES is the more common name for Rijndael128.  setkey(8)
will still accept the old name, and old constants remain for
compatiblity.

3 years agoMFC r366268 (and epoch parts of r357093):
Bjoern A. Zeeb [Thu, 5 Nov 2020 15:27:38 +0000 (15:27 +0000)]
MFC r366268 (and epoch parts of r357093):

 rtwn: narrow the epoch area

  Rather than placing the epoch around the entire receive loop which
  might call into rtwn_rx_frame() and USB and sleep, split the loop
  into two and leave us with one unlock/lock cycle as well.

PR: 249925

3 years agoMFC r366799:
Bjoern A. Zeeb [Thu, 5 Nov 2020 13:45:26 +0000 (13:45 +0000)]
MFC r366799:

  clk: fix indentation

  Just fix indentation of an if() clause.
  No functional changes intended.

3 years agoMFC r366623:
Bjoern A. Zeeb [Thu, 5 Nov 2020 13:43:06 +0000 (13:43 +0000)]
MFC r366623:

 ip_mroute: fix the viftable export sysctl

  It seems that in r354857 I got more than one thing wrong.
  Convert the SYSCTL_OPAQUE to a SYSCTL_PROC to properly export the these
  days allocated and not longer static per-vnet viftable array.
  This fixes a problem with netstat -g which would show bogus information
  for the IPv4 Virtual Interface Table.

PR: 246626

3 years agoMFC r366523:
Bjoern A. Zeeb [Thu, 5 Nov 2020 13:38:26 +0000 (13:38 +0000)]
MFC r366523:

LinuxKPI: add a bitfield.h implementation.

  This code was iteratively implemented during the work on various WiFi
  drivers -- from individual functions to a macro-created implementations
  for the various bit sized needed (and then extended to more for
  comepleteness). Some of the bit combinations do not seem to make sense
  so are left out.

  The __bf_shf(x) was obtained from D26681 by manu.

3 years agoMFC r366817:
Bjoern A. Zeeb [Thu, 5 Nov 2020 12:17:50 +0000 (12:17 +0000)]
MFC r366817:

  net80211: factor out the priv(9) checks into OS specifc code.

  Factor out the priv(9) checks into OS specifc code so other OSes can equally
  implement them.  This sorts out those XXX in the net80211 code.
  We provide 3 arguments (cmd, vap, ifp) where available to the functions, in
  order to allow other OSes to use that data but also in case we'd add auditing
  to these check to have the information available. For now the arguments are
  marked __unused.

PR: 249403

3 years agoMFC r366800:
Bjoern A. Zeeb [Thu, 5 Nov 2020 12:16:22 +0000 (12:16 +0000)]
MFC r366800:

  net80211: update for (more) VHT160 support

  Implement two macros IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ()
  and its 80+80 counter part to check in vhtcaps for appropriate
  levels of support and use the macros throughout the code.

  Add vht160_chan_ranges/is_vht160_valid_freq and handle analogue
  to vht80 in various parts of the code.

  Add ieee80211_add_channel_cbw() which also takes the CBW flag
  fields and make the former ieee80211_add_channel() a wrapper to it.
  With the CBW flags we can add HT/VHT channels passing them to
  getflags() for the 2/5ghz functions.

  In ifconfig(8) add the regdomain_addchans() support for VHT160
  and VHT80P80.

  With this (+ regdoain.xml updates) VHT160 channels can be
  configured, listed, and pass regdomain where appropriate.

3 years agoMFC r366525:
Bjoern A. Zeeb [Thu, 5 Nov 2020 12:14:51 +0000 (12:14 +0000)]
MFC r366525:

  net80211: whitespace

  Fix indentation for the multi-line copies of
  ieee80211_add_channel_list_5ghz() for the 3 bands.

3 years agoMFC r366524:
Bjoern A. Zeeb [Thu, 5 Nov 2020 12:12:26 +0000 (12:12 +0000)]
MFC r366524:

  80211: ifconfig replace MS() with _IEEE80211_MASKSHIFT()

  As we did in the kernel in r366112 replace the MS() macro with the version(s)
  added to the kernel: _IEEE80211_MASKSHIFT().  Also provide its counter part.
  This will later allow use to use other macros defined in net80211 headers
  here in ifconfig.

3 years agoMFC r366522:
Bjoern A. Zeeb [Thu, 5 Nov 2020 12:10:24 +0000 (12:10 +0000)]
MFC r366522:

  80211: non-functional changes

  Sort a few VHT160 and 80+80 lines, update some comments, and remove
  a superfluous ','.

  No functional changes intended.

3 years agoMFC r366112:
Bjoern A. Zeeb [Thu, 5 Nov 2020 12:08:04 +0000 (12:08 +0000)]
MFC r366112:

  Provide MS() and SM() macros for 80211 and wireless drivers.

  We have (two versions) of MS() and SM() macros which we use throughout
  the wireless code.  Change all but three places (ath_hal, rtwn, and rsu)
  to the newly provided _IEEE80211_MASKSHIFT() and _IEEE80211_SHIFTMASK()
  macros.  Also change one internal case using both _S and _M instead of
  just _S away from _M (one of the reasons rtwn and rsu were not changed).

  This was done semi-mechanically.  No functional changes intended.

3 years agoMFC r365633:
Bjoern A. Zeeb [Thu, 5 Nov 2020 11:56:49 +0000 (11:56 +0000)]
MFC r365633:

  iwm: fix regression from r365419 (ieee80211_media_change())

  In r365419 ieee80211_media_change() callers were updated to not longer
  act on the obselete ENETRESET return code.
  While in the old days iwm has done a stop/init cycle in these cases,
  this was not executed since r193340.
  As a consequence simplify iwm code as well by passing ieee80211_media_change()
  right to ieee80211_vap_attach() as there is no more need for a local
  implementation.

  The actual problem was fixed in stable/12 since r365608;  this just
  reduces changes to HEAD.

PR: 248955

3 years agoMFC r365335:
Bjoern A. Zeeb [Thu, 5 Nov 2020 11:37:14 +0000 (11:37 +0000)]
MFC r365335:

  umass: enhance debugging

  Investigating a hang I found having some more error information
  available would be helpful, so be more verbose and also tell cam/xpt
  status in case of error/panic.

3 years agoMFC r365334:
Bjoern A. Zeeb [Thu, 5 Nov 2020 11:33:23 +0000 (11:33 +0000)]
MFC r365334:

  umass: fix a cam_sim leak in error case

  While debugging a hang I noticed that in case of error in
  umass_cam_attach_sim() we miss a cam_sim_free() call.
  Added that to not leak resources.

3 years agoMFC r365333:
Bjoern A. Zeeb [Thu, 5 Nov 2020 11:19:31 +0000 (11:19 +0000)]
MFC r365333:

  cam_sim: harmonize code related to acquiring a mtx

  cam_sim_free(), cam_sim_release(), and cam_sim_hold() all assign
  a mtx variable during declaration and then if NULL or the mtx is
  held may re-asign the variable and/or acquire/release a lock.

  Harmonize the code, avoiding double assignments and make it look
  the same for all three function (with cam_sim_free() not needing
  an extra case).

  No functional changes intended.

3 years agoMFC r364305:
Bjoern A. Zeeb [Thu, 5 Nov 2020 11:11:50 +0000 (11:11 +0000)]
MFC r364305:

  For consistency and to avoid any problems getting past the 31bit
  boundry change the last two IF_Mbps(2500) and additionally one
  IF_Mbps(5000) to ULL as well.

3 years agoMFC r364038: Enable hw.pci.enable_aspm tunable by default.
Alexander Motin [Thu, 5 Nov 2020 02:57:40 +0000 (02:57 +0000)]
MFC r364038: Enable hw.pci.enable_aspm tunable by default.

While effects on power saving is only a guess, effects on hot-plug are
clearly visible.  Lets try to enable it and see what happen.

3 years agoMFC 359263: Use the newer EINTEGRITY error when authentication fails.
John Baldwin [Wed, 4 Nov 2020 17:22:12 +0000 (17:22 +0000)]
MFC 359263: Use the newer EINTEGRITY error when authentication fails.

GELI used to fail with EINVAL when a read request spanned a disk
sector whose contents did not match the sector's authentication tag.
The recently-added EINTEGRITY more closely matches to the error in
this case.

3 years agoMFC r367112: Use proper variable for device path.
Alexander Motin [Wed, 4 Nov 2020 14:13:29 +0000 (14:13 +0000)]
MFC r367112: Use proper variable for device path.

It seems *-passthru commands were broken from the day one, since the
device path is fetched into opt.dev variable and not left in argv[optind].
The other three wrong argv[optind] instances are just in error messages.

3 years agoMFC r367109, r367113: Print NVMe controller capabilities in verbose dmesg.
Alexander Motin [Wed, 4 Nov 2020 14:12:29 +0000 (14:12 +0000)]
MFC r367109, r367113: Print NVMe controller capabilities in verbose dmesg.

Those values are not reported in controller identification, while sometimes
interesting for development and debugging.

3 years agoMFC r367258:
Mateusz Piotrowski [Wed, 4 Nov 2020 07:53:24 +0000 (07:53 +0000)]
MFC r367258:

Remove Tn macros from ifconfig.8

3 years agoMFC r367259:
Mateusz Piotrowski [Wed, 4 Nov 2020 07:51:59 +0000 (07:51 +0000)]
MFC r367259:

ifconfig.8: Improve formatting of -f in synopsis

3 years agoMFC r367121:
Brooks Davis [Tue, 3 Nov 2020 23:29:07 +0000 (23:29 +0000)]
MFC r367121:

Disable ssp raw test without ASAN

r366981 disabled ASAN when it might not be reliable (with an external
compiler), but this test is broken without ASAN so disable it completely
in that case.

PR: 250706
Reviewed by: emaste, lwhsu
Differential Revision: https://reviews.freebsd.org/D26982

3 years agoMFC r367063:
Brooks Davis [Tue, 3 Nov 2020 23:26:26 +0000 (23:26 +0000)]
MFC r367063:

Key decleration of union semun on src version

__FreeBSD__ is defined by the compiler derived from the triple.  When
building FreeBSD 11 on a FreeBSD 12 with a CROSS_TOOLCHAIN=llvm10,
__FreeBSD__ was set to 12 when building lib32 (for some reason no triple
is being passed which seems to mean that we're taking default values
from the build system).  This in turn meant we end up with a double
decleration of union semun which is a build error.

Reviewed by: gshapiro, dim
Differential Revision: https://reviews.freebsd.org/D26902

3 years agoMFC 358556,360167: Add support for the TFTP windowsize option.
John Baldwin [Tue, 3 Nov 2020 20:43:01 +0000 (20:43 +0000)]
MFC 358556,360167: Add support for the TFTP windowsize option.

358556:
Add support for the TFTP windowsize option described in RFC 7440.

The windowsize option permits multiple blocks to be transmitted
before the receiver sends an ACK improving throughput for larger
files.

360167:
Abort transfer if fseeko() fails.

3 years agoMFC r366902: arm64: add uhci to GENERIC
Ed Maste [Tue, 3 Nov 2020 01:38:16 +0000 (01:38 +0000)]
MFC r366902: arm64: add uhci to GENERIC

uhci is (or, can be) used by VMware ESXi-Arm.

PR: 250308
Reported by: Vincent Milum Jr
Sponsored by: The FreeBSD Foundation

3 years agoMFC r366465, r367003, r367006, r367009
Ryan Moeller [Mon, 2 Nov 2020 20:00:50 +0000 (20:00 +0000)]
MFC r366465, r367003, r367006, r367009

Enable iterating all sysctls, even ones with CTLFLAG_SKIP
kern_sysctl: Misc code cleanup
sysctl: Misc code cleanup
sysctl+kern_sysctl: Honor SKIP for descendant nodes

3 years agoMFC r366838:
Mark Johnston [Mon, 2 Nov 2020 14:30:55 +0000 (14:30 +0000)]
MFC r366838:
vmem: Allocate btags before looping in vmem_xalloc()

3 years agoMFC r366837:
Mark Johnston [Mon, 2 Nov 2020 14:01:33 +0000 (14:01 +0000)]
MFC r366837:
vmem: Simplify bt_fill() callers a bit

3 years agoMFC r366834:
Mark Johnston [Mon, 2 Nov 2020 14:00:25 +0000 (14:00 +0000)]
MFC r366834:
vmx: Implement pmap (de)activation in C

3 years agoMFC r367136:
Li-Wen Hsu [Mon, 2 Nov 2020 01:34:43 +0000 (01:34 +0000)]
MFC r367136:

Whitespace cleanup

3 years agoMFC r367134:
Li-Wen Hsu [Mon, 2 Nov 2020 01:29:50 +0000 (01:29 +0000)]
MFC r367134:

Remove superfluous `this` in comment

PR: 250721
Submitted by: Hiroya EBINE <hebiyan@protonmail.com>

3 years agoMFC r366861: build vmware modules on arm64
Ed Maste [Mon, 2 Nov 2020 00:45:40 +0000 (00:45 +0000)]
MFC r366861: build vmware modules on arm64

3 years agoMFC r367039:
Mateusz Piotrowski [Sun, 1 Nov 2020 11:09:11 +0000 (11:09 +0000)]
MFC r367039:

ifconfig.8: Remove spurious commas

Correct misuse of commas/parentheses in an enumeration that makes the
number of actual parameters more important than expected.

PR: 250526
Submitted by: Samy Mahmoudi <samy.mahmoudi__gmail_com>

3 years agoMFC r364480:
Dimitry Andric [Sat, 31 Oct 2020 18:42:03 +0000 (18:42 +0000)]
MFC r364480:

Merge commit 1ce07cd614be from llvm git (by me):

  Instantiate Error in Target::GetEntryPointAddress() only when
  necessary

  When Target::GetEntryPointAddress() calls
  exe_module->GetObjectFile()->GetEntryPointAddress(), and the returned
  entry_addr is valid, it can immediately be returned.

  However, just before that, an llvm::Error value has been setup, but
  in this case it is not consumed before returning, like is done
  further below in the function.

  In https://bugs.freebsd.org/248745 we got a bug report for this,
  where a very simple test case aborts and dumps core:

  * thread #1, name = 'testcase', stop reason = breakpoint 1.1
      frame #0: 0x00000000002018d4 testcase`main(argc=1, argv=0x00007fffffffea18) at testcase.c:3:5
     1    int main(int argc, char *argv[])
     2    {
  -> 3        return 0;
     4    }
  (lldb) p argc
  Program aborted due to an unhandled Error:
  Error value was Success. (Note: Success values must still be checked prior to being destroyed).

  Thread 1 received signal SIGABRT, Aborted.
  thr_kill () at thr_kill.S:3
  3       thr_kill.S: No such file or directory.
  (gdb) bt
  #0  thr_kill () at thr_kill.S:3
  #1  0x00000008049a0004 in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52
  #2  0x0000000804916229 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
  #3  0x000000000451b5f5 in fatalUncheckedError () at /usr/src/contrib/llvm-project/llvm/lib/Support/Error.cpp:112
  #4  0x00000000019cf008 in GetEntryPointAddress () at /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:267
  #5  0x0000000001bccbd8 in ConstructorSetup () at /usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:67
  #6  0x0000000001bcd2c0 in ThreadPlanCallFunction () at /usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:114
  #7  0x00000000020076d4 in InferiorCallMmap () at /usr/src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp:97
  #8  0x0000000001f4be33 in DoAllocateMemory () at /usr/src/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:604
  #9  0x0000000001fe51b9 in AllocatePage () at /usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:347
  #10 0x0000000001fe5385 in AllocateMemory () at /usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:383
  #11 0x0000000001974da2 in AllocateMemory () at /usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2301
  #12 CanJIT () at /usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2331
  #13 0x0000000001a1bf3d in Evaluate () at /usr/src/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp:190
  #14 0x00000000019ce7a2 in EvaluateExpression () at /usr/src/contrib/llvm-project/lldb/source/Target/Target.cpp:2372
  #15 0x0000000001ad784c in EvaluateExpression () at /usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:414
  #16 0x0000000001ad86ae in DoExecute () at /usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:646
  #17 0x0000000001a5e3ed in Execute () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp:1003
  #18 0x0000000001a6c4a3 in HandleCommand () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:1762
  #19 0x0000000001a6f98c in IOHandlerInputComplete () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2760
  #20 0x0000000001a90b08 in Run () at /usr/src/contrib/llvm-project/lldb/source/Core/IOHandler.cpp:548
  #21 0x00000000019a6c6a in ExecuteIOHandlers () at /usr/src/contrib/llvm-project/lldb/source/Core/Debugger.cpp:903
  #22 0x0000000001a70337 in RunCommandInterpreter () at /usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2946
  #23 0x0000000001d9d812 in RunCommandInterpreter () at /usr/src/contrib/llvm-project/lldb/source/API/SBDebugger.cpp:1169
  #24 0x0000000001918be8 in MainLoop () at /usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:675
  #25 0x000000000191a114 in main () at /usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:890

  Fix the incorrect error catch by only instantiating an Error object
  if it is necessary.

  Reviewed By: JDevlieghere

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

This should fix lldb aborting as described in the scenario above.

Reported by: dmgk
PR: 248745

3 years agoMFC r366197:
Michal Meloun [Sat, 31 Oct 2020 17:26:56 +0000 (17:26 +0000)]
MFC r366197:

  Don't send a signal with uninitialized 'sig' and 'code' fields.  We have a
  few shortcuts in the arm trap code to speed up obvious "must fail" cases. In
  these situations, make sure that we fill in the "sig" and "code" fields of
  the generated signal.

3 years agoMFC r366312:
Michal Meloun [Sat, 31 Oct 2020 17:18:18 +0000 (17:18 +0000)]
MFC r366312:

  Fix the inverted condition in mtx_asserts.  Mutex should be owned in affected
  functions.

3 years agoMFC r366161:
Michal Meloun [Sat, 31 Oct 2020 17:10:55 +0000 (17:10 +0000)]
MFC r366161:

  Refine locking inside of syscon driver.  In some cases, the syscon driver may
  be used by consumer requiring better control about locking (ie. it may be
  used as registe file provider for clock driver which needs locked access to
  multiple registers).  Add fine locking protocol methods together with bunch
  of helper functions in syscon driver and implement this functionality in
  syscon_generic driver.

3 years agoMFC r366156:
Michal Meloun [Sat, 31 Oct 2020 17:09:25 +0000 (17:09 +0000)]
MFC r366156:

  Correctly handle nodes compatible with "syscon", "simple-bus".  Syscon can
  also have child nodes that share a registration file with it.  To do this
  correctly, follow these steps: - subclass syscon from simplebus and expose it
  if the node is also
    "simple-bus" compatible.
  - block simplebus probe for this compatible string, so it's priority
   (bus pass) doesn't colide with syscon driver.

3 years agoMFC r342008,r363799,r366146:
Michal Meloun [Sat, 31 Oct 2020 17:07:43 +0000 (17:07 +0000)]
MFC r342008,r363799,r366146:

  r342008:
    fdt: Add support for simple-mfd bus
  r363799:
    Allow child classes of simplebus to call attach directly
  r366146:
    Make simplebus friendlier for subclassing.

3 years agoMFC r365929:
Michal Meloun [Sat, 31 Oct 2020 16:51:19 +0000 (16:51 +0000)]
MFC r365929:

  Adjust DMA alignment for USB stack.  It should be at least as large as the
  maximum value of caheline size for currently known CPUs.

3 years agoMFC r362387:
Michal Meloun [Sat, 31 Oct 2020 16:18:55 +0000 (16:18 +0000)]
MFC r362387:

  Improve DesignWare PCIe driver: - only normal memory window is mandatory,
  prefetchable memory and
    I/O windows should be optional
  - full PCIe configuration space is supported - remove duplicated check from
  function for accessing configuration space.
    It is already contained in pci_dw_check_dev()

3 years agoMFC r363121:
Michal Meloun [Sat, 31 Oct 2020 16:15:19 +0000 (16:15 +0000)]
MFC r363121:

  Fix the module name for some arm drivers.  Module name (unlike of the of
  driver name) must be system wide unique.

3 years agoMFC r362388:
Michal Meloun [Sat, 31 Oct 2020 16:05:24 +0000 (16:05 +0000)]
MFC r362388:

  Use native-sized accesses when accessing memory from kdb.  Not all MMIO
  mapped devices supports byte access.

3 years agoMFC r362384,r362385,r362386,r362392:
Michal Meloun [Sat, 31 Oct 2020 16:03:35 +0000 (16:03 +0000)]
MFC r362384,r362385,r362386,r362392:

  r362384:
    Add DTB files for ARMADA 8040 based boards.
  r362385:
    Add specialized gpio driver for ARMADA 8k SoC.  Older marvell gpio blocks
    are to different for reusing/enhancing existing frivers.
  r362386:
    Add specific stub for ARMADA 8k SoC to Marvell RTC driver.  The AXI bridge
    is different between ARMADA 38x and 8K, and both platforms needs specific
    setup to mitigate HW issues with accessing RTC registers.
  r362392:
    Adapt ARMADA8k PCIe driver to newly imported 5.7 DT.  - temporarily disable
    handling with phy, we don't have driver for it yet - always clear cause for
    administartive interrupt.  While I'm in, fix style(9) (mainly whitespace).

3 years agoMFC r362053:
Michal Meloun [Sat, 31 Oct 2020 15:58:05 +0000 (15:58 +0000)]
MFC r362053:

  Fix grabbing of tegra uart.  An attempt to write to FCR register may corrupt
  transmit FIFO, so we should wait for the FIFO to be empty before we can
  modify it.

3 years agoMFC r360466:
Michal Meloun [Sat, 31 Oct 2020 15:40:52 +0000 (15:40 +0000)]
MFC r360466:

  Export tracing facility of GIC500 ITS block.  Possibility of tracing of
  processing message based interrupts is very useful for debugging of PCIe
  driver, mainly for its MSI part.

3 years agoMFC r360464:
Michal Meloun [Sat, 31 Oct 2020 15:38:41 +0000 (15:38 +0000)]
MFC r360464:

  Don't try to set frequendcy for enumerated but never started CPUs.

3 years agoMFC r360463,r360469:
Michal Meloun [Sat, 31 Oct 2020 15:36:41 +0000 (15:36 +0000)]
MFC r360463,r360469:

  r360463:
    Don't allow to use FPU inside of rtld library.  Clang10 may use FPU
    instructions for optimizing operations with memory blocks. But we don't
    want to do lengthy save/restore of all FPU registers across each
    rtld_start() call.
  r360469:
    Move ARM specific flags to arm/Makefile.inc

3 years agoMFC r360462:
Michal Meloun [Sat, 31 Oct 2020 15:30:27 +0000 (15:30 +0000)]
MFC r360462:

  Don't try to re-initialize already preseted regulator.

3 years agoMFC r360293,r360461:
Michal Meloun [Sat, 31 Oct 2020 15:28:21 +0000 (15:28 +0000)]
MFC r360293,r360461:

  r360293:
    Reorder initialization steps for given pin.  If pin is switched from fixed
    function to GPIO, it should have prepared direction, pull-up/down and
    default value before function gets switched.  Otherwise we may produce
    unwanted glitch on output pin.  Right order of drive strength settings is
    questionable, but I think that is slightly safer to do it also before
    function switch.
  r360461:
    Multiple fixes for rockchip iodomain driver: - always initialize selector
    of voltage signaling standard.
      Various versions of U-boot leaves voltage signaling standard settings for
      PMUIO2 domain in different state.  Always initialize it into expected
      state.
    - start the driver as early as possible, the IO domains should be
      initialized before other drivers are attached.
    - rename RK3399 register to its name founds in TRM.

3 years agoMFC r355755,r358807:
Michal Meloun [Sat, 31 Oct 2020 15:25:41 +0000 (15:25 +0000)]
MFC r355755,r358807:

  r355755:
    Add driver for Rockchip PCIe root complex found in RK3399 SOC.
    Unfortunately, there are some limitations: - memory aperture of his
    controller is only 16MiB, so it is nearly
      unusable for graphic cards
    - every attempt to generate type 1 config cycle always causes trap.
      These config cycles are disabled now and we don't support cards with PCIe
      switch.
    - in some cases, attempt to do config cycle to (probably) not-yet ready
      card also causes trap. This cannot be detected at runtime, but it seems
      like very rare issue.
  r358807:
    Add the missing brackets to the logical expression.

3 years agoMFC r353774:
Michal Meloun [Sat, 31 Oct 2020 14:59:39 +0000 (14:59 +0000)]
MFC r353774:
  Add driver for DesignWare PCIE core, and its Armada 8K specific attachement.

3 years agoMFC r353773:
Michal Meloun [Sat, 31 Oct 2020 14:56:16 +0000 (14:56 +0000)]
MFC r353773:

  Update Armada 8k drivers to cover newly imported DT and latest changes in
  simple multifunction driver.  - follow interrupt changes in DT. Split old ICU
  driver to function oriented
    parts and add drivers for newly defined parts (system error interrupts).
  - Many drivers are children of simple multifunction driver. But after r349596
    simple MF driver doesn't longer exports memory resources, and all children
    must use syscon interface to access their registers. Adapt affected drivers
    to this fact.

3 years agoMFC r366946: socket(9): Remove duplicate word 'is is'
Gordon Bergling [Sat, 31 Oct 2020 12:39:22 +0000 (12:39 +0000)]
MFC r366946: socket(9): Remove duplicate word 'is is'

3 years agoMFC r367091: Use my FreeBSD.org mail address in man pages I have written
Gordon Bergling [Sat, 31 Oct 2020 12:37:26 +0000 (12:37 +0000)]
MFC r367091: Use my FreeBSD.org mail address in man pages I have written

3 years agoMFC r359731: Add a basic manpage for smbfs(5)
Gordon Bergling [Sat, 31 Oct 2020 12:36:08 +0000 (12:36 +0000)]
MFC r359731: Add a basic manpage for smbfs(5)

3 years agoMFC r359608, r359611
Gordon Bergling [Sat, 31 Oct 2020 12:05:00 +0000 (12:05 +0000)]
MFC r359608, r359611

elf(5) Updates

- expand on NT_FREEBSD_FEATURE_CTL bit definitions
- remove commented out leftovers

3 years agoMFC r358891, r358894, r359454, r359513, r359550 and r359556
Gordon Bergling [Sat, 31 Oct 2020 11:56:13 +0000 (11:56 +0000)]
MFC r358891, r358894, r359454, r359513, r359550 and r359556

elf(5) Updates:

- start documenting ELF note sections
- Remove extra Sy from table header
- table markup fixes
- add definitions of FreeBSD notes
- minor update to FreeBSD ELF note descriptions
- correct and expand NT_FREEBSD_NOINIT_TAG description
- expand on NT_FREEBSD_FEATURE_CTL bit definitions

Reviewed by: emaste
Approved by: emaste

3 years agoMFC r366577:
Mark Johnston [Fri, 30 Oct 2020 14:41:19 +0000 (14:41 +0000)]
MFC r366577:
col(1): Fix a couple of bugs

PR: 249308

3 years agoMFC r366970:
Mark Johnston [Fri, 30 Oct 2020 14:40:48 +0000 (14:40 +0000)]
MFC r366970:
Add some missing nv(9) MLINKS

3 years agoMFC r366968:
Mark Johnston [Fri, 30 Oct 2020 14:38:17 +0000 (14:38 +0000)]
MFC r366968:
ntb: Fix an assertion to permit >= 32 doorbells

3 years agoMFC r366972:
Mark Johnston [Fri, 30 Oct 2020 14:37:51 +0000 (14:37 +0000)]
MFC r366972:
rtsold: Remove an incorrect __unused annotation

3 years agoMFC r366961:
Hans Petter Selasky [Fri, 30 Oct 2020 08:05:47 +0000 (08:05 +0000)]
MFC r366961:
Fix for loading cuse.ko via rc.d . Make sure we declare the cuse(3)
module by name and not only by the version information, so that
"kldstat -q -m cuse" works.

Found by: Goran Mekic <meka@tilda.center>
Sponsored by: Mellanox Technologies // NVIDIA Networking

3 years agoMFC r367070:
Cy Schubert [Fri, 30 Oct 2020 00:34:40 +0000 (00:34 +0000)]
MFC r367070:

Remove a random equal sign from the example. It should not be there.
It's a syntax error.

PR: 210303
Reported by: leventelist at gmail.com

3 years agoMFC r367069:
Cy Schubert [Fri, 30 Oct 2020 00:32:14 +0000 (00:32 +0000)]
MFC r367069:

Continued ipfilter #ifdef cleanup. The r343701 log entry contains a
complete description.

3 years agoMFC r366911:
Brooks Davis [Thu, 29 Oct 2020 18:29:22 +0000 (18:29 +0000)]
MFC r366911:

vmapbuf: don't smuggle address or length in buf

Instead, add arguments to vmapbuf.  Since this argument is
always a pointer use a type of void * and cast to vm_offset_t in
vmapbuf.  (In CheriBSD we've altered vm_fault_quick_hold_pages to
take a pointer and check its bounds.)

In no other situtation does b_data contain a user pointer and vmapbuf
replaces b_data with the actual mapping.

Suggested by: jhb
Reviewed by: imp, jhb
Obtained from: CheriBSD
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D26784

3 years agoMFC r366932:
Konstantin Belousov [Thu, 29 Oct 2020 11:09:48 +0000 (11:09 +0000)]
MFC r366932:
sysv_sem: semusz depends on semume.

PR: 250361

3 years agoMFC r366733: Drop unsolicited responses to the still attaching CODECs.
Alexander Motin [Thu, 29 Oct 2020 00:30:38 +0000 (00:30 +0000)]
MFC r366733: Drop unsolicited responses to the still attaching CODECs.

It is reported to fix kernel panics when early unsolicited responses
delivered to the CODEC device not having driver attached yet.

PR: 250248

3 years agoMFC r366918:
Konstantin Belousov [Wed, 28 Oct 2020 21:02:43 +0000 (21:02 +0000)]
MFC r366918:
mmap(2): Document guard size for MAP_STACK and related EINVAL.

3 years agoMFC r366904:
Konstantin Belousov [Wed, 28 Oct 2020 21:01:00 +0000 (21:01 +0000)]
MFC r366904:
Improve FPU Tag Word reconstruction on i386 to indicate register states.

PR: 250454

3 years agoMFC r366725:
Mateusz Piotrowski [Wed, 28 Oct 2020 17:03:03 +0000 (17:03 +0000)]
MFC r366725:

Fix formatting of SYNOPSIS

There was an unnecessary newline being added before Nm.

3 years agoMFC r365943: aw_usbphy: add support for device mode operation
Andriy Gapon [Wed, 28 Oct 2020 11:40:10 +0000 (11:40 +0000)]
MFC r365943: aw_usbphy: add support for device mode operation

OTG mode is not supported still.  It's easy to do it as a one-off
detection, but the proper support requires continuous monitoring and
communicating the current state to the USB layer.

Also, fix phy0_route setting for H3.  Remove duplicate register
definitions.

3 years agoMFC r367002, r367060
Kyle Evans [Tue, 27 Oct 2020 13:13:04 +0000 (13:13 +0000)]
MFC r367002, r367060

r367002:
audit: correct reporting of *execve(2) success

r326145 corrected do_execve() to return EJUSTRETURN upon success so that
important registers are not clobbered. This had the side effect of tapping
out 'failures' for all *execve(2) audit records, which is less than useful
for auditing purposes.

Audit exec returns earlier, where we can know for sure that EJUSTRETURN
translates to success. Note that this unsets TDP_AUDITREC as we commit the
audit record, so the usual audit in the syscall return path will do nothing.

r367060:
audit: also correctly audit linux_execve()

Linux execve() gets audited as AUE_EXECVE as well, we should also interpret
the return from this correctly for the same reasoning as in r367002.

PR: 249179, 242938

3 years agoMFC r366981:
Brooks Davis [Mon, 26 Oct 2020 17:47:42 +0000 (17:47 +0000)]
MFC r366981:

Only use ASAN when using the in-tree compiler

When building FreeBSD 11 on a FreeBSD 12 system with
CROSS_TOOLCHAIN=llvm10 we end up trying to link against the packaged
version of the sanitizer library.  This resulted in a requirement for
getentropy(3) which is not present in FreeBSD 11.

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

3 years agoMFC r366648:
Kristof Provost [Mon, 26 Oct 2020 13:24:20 +0000 (13:24 +0000)]
MFC r366648:

pf tests: Test that 'set skip on <group>' works on new group members

There's a know issue where new group members don't get the 'set skip on'
applied until the rules are re-loaded.

Do this by setting rules that block all traffic, but skip members of the
'epair' group. If we can communicate over the epair interface we know the set
skip rule took effect, even if the rule was set before the interface was
created.

3 years agoMFC r366667:
Kristof Provost [Mon, 26 Oct 2020 13:23:40 +0000 (13:23 +0000)]
MFC r366667:

pf: do not remove kifs that are referenced by rules

Even if a kif doesn't have an ifp or if_group pointer we still can't delete it
if it's referenced by a rule. In other words: we must check rulerefs as well.

While we're here also teach pfi_kif_unref() not to remove kifs with flags.

Reported-by: syzbot+b31d1d7e12c5d4d42f28@syzkaller.appspotmail.com
3 years agoMFC r366647:
Kristof Provost [Mon, 26 Oct 2020 13:22:55 +0000 (13:22 +0000)]
MFC r366647:

pf: create a kif for flags

If userspace tries to set flags (e.g. 'set skip on <ifspec>') and <ifspec>
doesn't exist we should create a kif so that we apply the flags when the
<ifspec> does turn up.

Otherwise we'd end up in surprising situations where the rules say the
interface should be skipped, but it's not until the rules get re-applied.

3 years agoMFC r366830:
Ryan Moeller [Mon, 26 Oct 2020 12:34:50 +0000 (12:34 +0000)]
MFC r366830:

efibootmgr: Use returned error code for error message, not errno

efivar_unix_path_to_device_path returns the error code, it does not set errno.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D26852

3 years agoMFC r366857:
Cy Schubert [Mon, 26 Oct 2020 01:18:15 +0000 (01:18 +0000)]
MFC r366857:
Destroy cloned interfaces at netif stop, netif restart and shutdown.
This is especially important during shutdown because a child interface
of lagg with WOL enabled will not enable WOL at interface shutdown and
thus no WOL to wake up the device (and machine).

PR: 158734, 109980
Reported by: Antonio Huete Jimenez <tuxillo at quantumachine.net>
Marat N.Afanasyev <marat at zealot.ksu.ru>
reviewed by: kp

3 years agoMFC r366686:
Ravi Pokala [Sun, 25 Oct 2020 23:25:53 +0000 (23:25 +0000)]
MFC r366686:

Allow IP over IB to work with multiple FIBs.

Call M_SETFIB() to make sure the IPoIB packet is directed to the correct
interface-specific FIB.

This was sufficient to allow general-purpose routing using the default FIB,
and a separate FIB for routing between IPoIB on ib0 and IPoEthernet on mce0.

Reviewed by: hselasky
Obtained from: Anmol Kumar <anmolk at panasas dot com>
Sponsored by: Panasas
Differential Revision: https://reviews.freebsd.org/D26733

3 years agoMFC r366952
Vincenzo Maffione [Sun, 25 Oct 2020 07:48:07 +0000 (07:48 +0000)]
MFC r366952

netmap: fix mutex double unlock bug

https://github.com/luigirizzo/netmap/pull/733

Submitted by:    brian90013

3 years agoMFC r366573: Add DSCP support for network QoS to iscsi initiator.
Richard Scheffenegger [Sat, 24 Oct 2020 20:52:05 +0000 (20:52 +0000)]
MFC r366573: Add DSCP support for network QoS to iscsi initiator.

Allow the DSCP codepoint also to be configurable
for the traffic in the direction from the initiator
to the target, such that writes and any requests
are also treated in the appropriate QoS class.

Reviewed by: mav
MFC after: 2 weeks
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D26714

3 years agoMFC r366570: Stop sending tiny new data segments during SACK recovery
Richard Scheffenegger [Sat, 24 Oct 2020 20:48:35 +0000 (20:48 +0000)]
MFC r366570: Stop sending tiny new data segments during SACK recovery

Consider the currently in-use TCP options when
calculating the amount of new data to be injected during
SACK loss recovery. That addresses the effect that very small
(new) segments could be injected on partial ACKs while
still performing a SACK loss recovery.

Reported by: Liang Tian
Reviewed by: tuexen, chengc_netapp.com
MFC after: 2 weeks
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D26446

3 years agoMFC r366569: Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow.
Richard Scheffenegger [Sat, 24 Oct 2020 20:23:20 +0000 (20:23 +0000)]
MFC r366569: Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow.

This adds a new IP_PROTO / IPV6_PROTO setsockopt (getsockopt)
option IP(V6)_VLAN_PCP, which can be set to -1 (interface
default), or explicitly to any priority between 0 and 7.

Note that for untagged traffic, explicitly adding a
priority will insert a special 801.1Q vlan header with
vlan ID = 0 to carry the priority setting

Reviewed by: gallatin, rrs
MFC after: 2 weeks
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D26409

3 years agoMFC r366566;r366567: Extend netstat to display TCP stack and detailed congestion...
Richard Scheffenegger [Sat, 24 Oct 2020 17:47:43 +0000 (17:47 +0000)]
MFC r366566;r366567: Extend netstat to display TCP stack and detailed congestion state

Upstreaming the "-c" option used to show detailed per-connection
congestion control state for TCP sessions.

This is one summary patch, which adds the relevant variables into
xtcpcb. As previous "spare" space is used, these changes are ABI
compatible (an older version of netstat will simply not show
the newly available data from newer kernels, and a newer version
of netstat will only show zeroed data querying older kernels.

Reviewed by: tuexen
MFC after: 2 weeks
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D26518

3 years agoMFC r366375:
Mark Johnston [Fri, 23 Oct 2020 14:47:32 +0000 (14:47 +0000)]
MFC r366375:
newlocale(3): Fix a memory leak.

PR: 249416

3 years agoMFC r366771:
Ryan Moeller [Fri, 23 Oct 2020 10:48:14 +0000 (10:48 +0000)]
MFC r366771:

bhyve: Update TX descriptor base address and host mapping on change

bhyve sometimes segfaults when using an e1000 NIC with a Windows guest.

We are only updating our tdba and cached host mapping when the low address
register is written and when tx is set enabled, but not when the high address
or length registers are written. It is observed that Windows 10 is occasionally
enabling tx first then writing the registers in the order low, high, len. This
leaves us with a bogus base address and mapping, which causes a segfault later
when we try to copy from a descriptor that has unpredictable garbage in a
pointer.

Updating the address and mapping when any of those registers change seems to fix
that particular issue.

Reviewed by: mav, grehan (bhyve)
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D26798

3 years agoMFC r366768:
Konstantin Belousov [Fri, 23 Oct 2020 10:24:37 +0000 (10:24 +0000)]
MFC r366768:
amd64 pmap.h: explicitly provide constants values instead of relying
on some more advanced C features.

3 years agoMFC r366921: Import tzdata 2020d
Philip Paeps [Fri, 23 Oct 2020 01:06:33 +0000 (01:06 +0000)]
MFC r366921: Import tzdata 2020d

3 years agoMFC r362574
Marcin Wojtas [Thu, 22 Oct 2020 17:31:41 +0000 (17:31 +0000)]
MFC r362574

Fix AccessWidth and BitWidth parsing in SPCR table

The ACPI Specification defines a Generic Address Structure (GAS),
which is used to describe UART controller register layout in the
SPCR table. The driver responsible for parsing it (uart_cpu_acpi)
wrongly associates the Access Size field to the uart_bas's regshft
and the register BitWidth to the regiowidth - according to
the definitions it should be opposite.

This problem remained hidden most likely because the majority of platforms
use 32-bit registers (BitWidth) which are accessed with the according
size (Dword). However on Marvell Armada 8k / Cn913x platforms,
the 32-bit registers should be accessed with Byte granulity, which
unveiled the issue.

This patch fixes above by proper values assignment and slightly improved
parsing.

Note that handling of the AccessWidth set to EFI_ACPI_6_0_UNDEFINED is
needed to work around a buggy SPCR table on EC2 x86 "bare metal" instances.

Reviewed by: manu, imp, cperciva, greg_unrelenting.technology
Obtained from: Semihalf

3 years agoMFC r366731:
Brooks Davis [Thu, 22 Oct 2020 16:27:24 +0000 (16:27 +0000)]
MFC r366731:

physio: Don't store user addresses in bio_data

Only assign the address from the iovec to bio_data if it is a kernel
address.  This was the single place where bio_data stored (however
briefly) a userspace pointer.

Reviewed by: imp, markj
Obtained from: CheriBSD
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D26783

3 years agoMFC r339748, r340343, r340347, r341256, r366015-r366023, r366549:
Konstantin Belousov [Thu, 22 Oct 2020 15:23:41 +0000 (15:23 +0000)]
MFC r339748, r340343, r340347, r341256, r366015-r366023, r366549:
O_BENEATH and related features.

Sponsored by: The FreeBSD Foundation
Tested by: pho

3 years agoMFC r366671:
Brooks Davis [Wed, 21 Oct 2020 16:04:57 +0000 (16:04 +0000)]
MFC r366671:

libgssapi: modernize static string array use

Use designated initializers to document positions in the arrays rather
than requiring counting. Use nitems() rather than rolling it by hand to
count elements.

Also, passify a Clang 12 warning about suspcious string concatenation
within an array initializer by adding parentheses.

Reviewed by: emaste
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D26592

3 years agoMFC r366713, r366843 (by jhb):
Konstantin Belousov [Wed, 21 Oct 2020 15:06:44 +0000 (15:06 +0000)]
MFC r366713, r366843 (by jhb):
Fix for mis-interpretation of PCB_KERNFPU.

3 years agoMFC r366712:
Konstantin Belousov [Wed, 21 Oct 2020 15:04:12 +0000 (15:04 +0000)]
MFC r366712:
Limit workaround for errata E400 to appropriate AMD cpus.

3 years agoMFC r366707: Use RTD3 Entry Latency value as shutdown timeout.
Alexander Motin [Wed, 21 Oct 2020 00:46:53 +0000 (00:46 +0000)]
MFC r366707: Use RTD3 Entry Latency value as shutdown timeout.

This field was not in specs when the driver was written, but now there
are SSDs with the reported latency of 10s, where hardcoded value of 5s
seems to be not enough sometimes, causing shutdown timeout messages.

3 years agoMFC r366682:
Andrey V. Elsukov [Tue, 20 Oct 2020 11:44:54 +0000 (11:44 +0000)]
MFC r366682:
  Join to AllHosts multicast group again when adding an existing IPv4 address.

  When SIOCAIFADDR ioctl configures an IPv4 address that is already exist,
  it removes old ifaddr. When this IPv4 address is only one configured on
  the interface, this also leads to leaving from AllHosts multicast group.
  Then an address is added again, but due to the bug, this doesn't lead
  to joining to AllHosts multicast group.

  Submitted by: yannis.planus_alstomgroup.com

3 years agoMFC r366681:
Andrey V. Elsukov [Tue, 20 Oct 2020 11:40:37 +0000 (11:40 +0000)]
MFC r366681:
  Add IPv4 fragments reassembling to NAT64LSN.

  NAT64LSN requires the presence of upper level protocol header
  in a IPv4 datagram to find corresponding state to make translation.
  Now it will be handled automatically by nat64lsn instance.

  Obtained from: Yandex LLC
  Sponsored by: Yandex LLC

3 years agoMFC r366481: intro(3): Update the list of included libraries
Gordon Bergling [Tue, 20 Oct 2020 09:51:41 +0000 (09:51 +0000)]
MFC r366481: intro(3): Update the list of included libraries

- Extend the list of main libraries of section 3
- Extend the library functions that are included in the libc

Submitted by: Naga Chaitanya Vellanki <pnagato at protonmail dot com>
Differential Revision: https://reviews.freebsd.org/D26476