tuexen [Mon, 14 Dec 2020 22:13:58 +0000 (22:13 +0000)]
Improve the counting of blocks used to transfer a file from the
server to the client in case of not using an OACK: Don't miss
the first block in case of it is not also the last one.
MFC after: 1 week
mmel [Mon, 14 Dec 2020 14:00:54 +0000 (14:00 +0000)]
Remove unused functions and variables in cpufunc.[ch].
mmel [Mon, 14 Dec 2020 13:10:19 +0000 (13:10 +0000)]
Finish implementation of ARM PMU interrupts.
The ARM PMU may use single per-core interrupt or may use multiple generic
interrupts, one per core. In this case, special attention must be paid to
the correct identification of the physical location of the core, its order
in the external database (FDT) and the associated cpuid.
Also keep in mind that a SoC can have multiple different PMUs
(usually one per cluster)
mmel [Mon, 14 Dec 2020 11:57:43 +0000 (11:57 +0000)]
Verify (and fix) the context_id argument passed to the mpentry () by PSCI.
Some older PSCI implementations corrupt (or do not pass) the context_id
argument to newly started secondary cores. Although the ideal solution to this
problem is u-boot update, we can find the correct value for the argument (cpuid)
by comparing of real core mpidr register with the value stored in pcu->mpidr.
MFC after: 2 weeks
hselasky [Mon, 14 Dec 2020 11:56:16 +0000 (11:56 +0000)]
Be bug compatible with other operating systems by allowing non-sequential
interface numbering for USB descriptors in userspace. Else certain USB
control requests using the interface number, won't be recognized by the
USB firmware.
Refer to section 9.2.3 in the USB 2.0 specification:
Interfaces are numbered from zero to one less than the number of concurrent interfaces
supported by the configuration.
PR: 251784
MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking
jrtc27 [Mon, 14 Dec 2020 00:54:05 +0000 (00:54 +0000)]
loader: Ignore the .interp section on RISC-V
Without this we risk having the .interp section be placed earlier in the
file and mess with section offsets; in particular it has been seen to be
placed at the start of the file and cause the PE/COFF header to not be
at address 0. This is the same fix as was done for arm64 in r365578.
Reviewed by: mhorne, imp
Approved by: mhorne, imp
Differential Revision: https://reviews.freebsd.org/D27603
jrtc27 [Mon, 14 Dec 2020 00:50:45 +0000 (00:50 +0000)]
strdup.3: Function appeared in 4.3BSD-Reno, not 4.4BSD
Linux claims 4.3BSD, we claim 4.4BSD and OpenBSD claims 4.3BSD-Reno. It turns
out that OpenBSD got it right: the function was added in late 1988 a few months
after 4.3BSD-Tahoe, well in advance of 4.3BSD-Reno.
Reviewed by: bcr
Approved by: bcr
Differential Revision: https://reviews.freebsd.org/D27392
jrtc27 [Mon, 14 Dec 2020 00:47:59 +0000 (00:47 +0000)]
mips: Fix sub-word atomics implementation
These aligned the address but then always used the least significant
bits of the value in memory, which is the wrong half 50% of the time for
16-bit atomics and the wrong quarter 75% of the time for 8-bit atomics.
These bugs were all present in r178172, the commit that added the mips
port, and have remained for its entire existence to date.
Reviewed by: jhb (mentor)
Approved by: jhb (mentor)
Differential Revision: https://reviews.freebsd.org/D27343
jrtc27 [Mon, 14 Dec 2020 00:46:24 +0000 (00:46 +0000)]
loader: Print autoboot countdown immediately, not at 9
For the first second otime and ntime are equal so no message gets
printed. Instead we should print the countdown right from the start,
although we do it at the end of the first iteration so that if a key has
already been pressed then the message is suppressed.
Reviewed by: imp
Approved by: imp
Differential Revision: https://reviews.freebsd.org/D26935
tuexen [Sun, 13 Dec 2020 23:51:51 +0000 (23:51 +0000)]
Harden the handling of outgoing streams in case of an restart or INIT
collision. This avouds an out-of-bounce access in case the peer can
break the cookie signature. Thanks to Felix Wilhelm from Google for
reporting the issue.
MFC after: 1 week
mjg [Sun, 13 Dec 2020 21:32:19 +0000 (21:32 +0000)]
uipc: disable prediction in unp_pcb_lock_peer
The branch is not very predictable one way or the other, at least during
buildkernel where it only correctly matched 57% of calls.
mjg [Sun, 13 Dec 2020 21:30:42 +0000 (21:30 +0000)]
Patch annotation in sigdeferstop
Probability flipped since sigdefer handling was moved away from regular VOP
calls.
mjg [Sun, 13 Dec 2020 21:29:39 +0000 (21:29 +0000)]
cache: fix ups bad predicts
- last level fallback normally sees CREATE; the code should be optimized to not
get there for said case
- fast path commonly fails with ENOENT
mjg [Sun, 13 Dec 2020 21:28:15 +0000 (21:28 +0000)]
vfs: correctly predict last fdrop on failed open
Arguably since the count is guaranteed to be 1 the code should be modified
to avoid the work.
kib [Sun, 13 Dec 2020 19:45:42 +0000 (19:45 +0000)]
Fix TDP_WAKEUP/thr_wake(curthread->td_tid) after r366428.
Reported by: arichardson
Reviewed by: arichardson, markj
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D27597
kib [Sun, 13 Dec 2020 19:43:45 +0000 (19:43 +0000)]
Correct indent.
Sponsored by: The FreeBSD Foundation
se [Sun, 13 Dec 2020 19:06:59 +0000 (19:06 +0000)]
Fix WITHOUT_ICONV build
Move the include of langinfo.h out of the WITH_ICONV condition block,
since it is not dependent on ICONV. This was correct when nl_langinfo()
had only been called in the WITH_ICONV case, but that is no longer the
case.
Submitted by: yuripv
se [Sun, 13 Dec 2020 19:03:38 +0000 (19:03 +0000)]
Revert r368606
The issue will be fixed in a different way.
Reported by: yuripv
mjg [Sun, 13 Dec 2020 18:06:24 +0000 (18:06 +0000)]
fd: fix fdrop prediction when closing a fd
Most of the time this is the last reference, contrary to typical fdrop use.
mm [Sun, 13 Dec 2020 16:26:37 +0000 (16:26 +0000)]
MFV r368607:
Sync libarchive with vendor.
Vendor changes:
Issue #1461: Unbreak build without lzma
Issue #1462: warc reader: Fix build with gcc11
Issue #1463: Fix code compatibility in test_archive_read_support.c
Issue #1464: Use built-in strnlen on platforms where not available
Issue #1465: warc reader: fix undefined behaviour in deconst() function
MFC after: 3 days
X-MFC-With: 368234
se [Sun, 13 Dec 2020 09:38:50 +0000 (09:38 +0000)]
Fix WITHOUT_ICONV build
There was an unprotected use of nl_langinfo() to determine the order of
day vs. month in the generated output.
When building without ICONV support, the order will be: month, day.
bdragon [Sun, 13 Dec 2020 03:58:43 +0000 (03:58 +0000)]
[PowerPC] Floating-point exception trap followup
* Fix incorrect operation on 32-bit caused by incorrectly-sized storage
for a temporary FPSCR.
* Fix several whitespace problems.
* Don't try to enable VSX during cleanup_fpscr().
Reviewed by: alfredo, jhibbits (earlier version)
Sponsored by: Tag1 Consulting, Inc.
Differential Revision: https://reviews.freebsd.org/D27453
yuripv [Sat, 12 Dec 2020 23:41:47 +0000 (23:41 +0000)]
locale: fix mode for installed files to be 644, not 755
While here, drop '-c' flag to install as it's default and provided for
backward compatibility only.
tuexen [Sat, 12 Dec 2020 22:23:45 +0000 (22:23 +0000)]
Clean up more resouces of an existing SCTP association in case of
a restart.
This fixes a use-after-free scenario, which was reported by Felix
Wilhelm from Google in case a peer is able to modify the cookie.
However, this can also be triggered by an assciation restart under
some specific conditions.
MFC after: 1 week
kevans [Sat, 12 Dec 2020 21:25:38 +0000 (21:25 +0000)]
stand: liblua: add a pager module
This is nearly a 1:1 mapping of the pager API from libsa. The only real
difference is that pager.output() will accept any number of arguments and
coerce all of them to strings for output using luaL_tolstring (i.e. the
__tostring metamethod will be used).
The only consumer planned at this time is the upcoming "show-module-options"
implementation.
MFC after: 1 week
kp [Sat, 12 Dec 2020 20:14:39 +0000 (20:14 +0000)]
pf: Allow net.pf.request_maxcount to be set from loader.conf
Mark request_maxcount as RWTUN so we can set it both at runtime and from
loader.conf. This avoids usings getting caught out by the change from tunable
to run time configuration.
Suggested by: Franco Fichtner
MFC after: 3 days
cem [Sat, 12 Dec 2020 19:43:38 +0000 (19:43 +0000)]
amdtemp(4): Add missing Family 17h models
Add missing model numbers M20h (Dali, Zen1), M60H (Renoir, Zen2), and
M90H (Van Gogh, Zen2).
Submitted by: Greg V <greg AT unrelenting.technology>
cem [Sat, 12 Dec 2020 19:34:12 +0000 (19:34 +0000)]
amdsmn(4), amdtemp(4): add support for Family 19h (Zen 3)
Zen 3 "Vermeer" support, tested on Ryzen 9 5950X.
Model numbers from https://en.wikichip.org/wiki/amd/cpuid "Extended
Model" column.
Submitted by: Greg V <greg AT unrelenting.technology>
Differential Revision: https://reviews.freebsd.org/D27552
ian [Sat, 12 Dec 2020 18:34:15 +0000 (18:34 +0000)]
Provide userland notification of gpio pin changes ("userland gpio interrupts").
This is an import of the Google Summer of Code 2018 project completed by
Christian Kramer (and, sadly, ignored by us for two years now). The goals
stated for that project were:
FreeBSD already has support for interrupts implemented in the GPIO
controller drivers of several SoCs, but there are no interfaces to take
advantage of them out of user space yet. The goal of this work is to
implement such an interface by providing descriptors which integrate
with the common I/O system calls and multiplexing mechanisms.
The initial imported code supports the following functionality:
- A kernel driver that provides an interface to the user space; the
existing gpioc(4) driver was enhanced with this functionality.
- Implement support for the most common I/O system calls / multiplexing
mechanisms:
- read() Places the pin number on which the interrupt occurred in the
buffer. Blocking and non-blocking behaviour supported.
- poll()/select()
- kqueue()
- signal driven I/O. Posting SIGIO when the O_ASYNC was set.
- Many-to-many relationship between pins and file descriptors.
- A file descriptor can monitor several GPIO pins.
- A GPIO pin can be monitored by multiple file descriptors.
- Integration with gpioctl and libgpio.
I added some fixes (mostly to locking) and feature enhancements on top of
the original gsoc code. The feature ehancements allow the user to choose
between detailed and summary event reporting. Detailed reporting provides
a record describing each pin change event. Summary reporting provides the
time of the first and last change of each pin, and a count of how many times
it changed state since the last read(2) call. Another enhancement allows
the recording of multiple state change events on multiple pins between each
call to read(2) (the original code would track only a single event at a time).
The phabricator review for these changes timed out without approval, but I
cite it below anyway, because the review contains a series of diffs that
show how I evolved the code from its original state in Christian's github
repo for the gsoc project to what is being commited here. (In effect,
the phab review extends the VC history back to the original code.)
Submitted by: Christian Kramer
Obtained from: https://github.com/ckraemer/freebsd/tree/gsoc2018
Differential Revision: https://reviews.freebsd.org/D27398
yuripv [Sat, 12 Dec 2020 15:38:32 +0000 (15:38 +0000)]
xargs: compile yesexpr as ERE
yesexpr is an extended regular expression for quite some time now,
use appropriate flag when compiling it.
PR: 238762
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D27509
kevans [Sat, 12 Dec 2020 14:53:34 +0000 (14:53 +0000)]
lualoader: config: fix module enabled check
A last minute rewrite left this logically wrong; if it's present in
modules_blacklist, then we do not load it.
se [Sat, 12 Dec 2020 11:51:29 +0000 (11:51 +0000)]
Use getlocalbase() instead of compiled in LOCALBASE to locate calendars
se [Sat, 12 Dec 2020 11:23:52 +0000 (11:23 +0000)]
Change getlocalbase() to not allocate any heap memory
After the commit of the current version, Scott Long pointed out, that an
attacker might be able to cause a use-after-free access if this function
returned the value of the sysctl variable "user.localbase" by freeing
the allocated memory without the cached address being cleared in the
library function.
To resolve this issue, I have proposed the originally suggested version
with a statically allocated buffer in a review (D27370). There was no
feedback on this review and after waiting for more than 2 weeks, the
potential security issue is fixed by this commit. (There was no security
risk in practice, since none of the programs converted to use this
function attempted to free the buffer. The address could only have
pointed into the heap if user.localbase was set to a non-default value,
into r/o data or the environment, else.)
This version uses a static buffer of size LOCALBASE_CTL_LEN, which
defaults to MAXPATHLEN. This does not increase the memory footprint
of the library at this time, since its data segment grows from less
than 7 KB to less than 8 KB, i.e. it will get two 4 KB pages on typical
architectures, anyway.
Compiling with LOCALBASE_CTL_LEN defined as 0 will remove the code
that accesses the sysctl variable, values between 1 and MAXPATHLEN-1
will limit the maximum size of the prefix. When built with such a
value and if too large a value has been configured in user.localbase,
the value defined as ILLEGAL_PREFIX will be returned to cause any
file operations on that result to fail. (Default value is "/dev/null/",
the review contained "/\177", but I assume that "/dev/null" exists and
can not be accessed as a directory. Any other string that can be assumed
not be a valid path prefix could be used.)
I do suggest to use LOCALBASE_CTL_LEN to size the in-kernel buffer for
the user.localbase variable, too. Doing this would guarantee that the
result always fit into the buffer in this library function (unless run
on a kernel built with a different buffer size.)
The function always returns a valid string, and only in case it is built
with a small static buffer and run on a system with too large a value in
user.localbase, the ILLEGAL_PREFIX will be returned, effectively causing
the created path to be non-existent.
Differential Revision: https://reviews.freebsd.org/D27370
rew [Sat, 12 Dec 2020 07:22:38 +0000 (07:22 +0000)]
geom(8): list geoms with /dev/ prefix
Allow geom(8) to list geoms with the '/dev/' prefix.
`geom part show` accepts the '/dev/' prefix but `geom part list` does not.
Modify find_geom() in sbin/geom/core/geom.c to be consistent with the behavior
of find_geom() in lib/geom/part/geom_part.c.
PR: 188213
Reported by: Ronald F. Guilmette <rfg@tristatelogic.com>
Reviewed by: imp, kevans
Approved by: kevans (mentor)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D27556
kevans [Sat, 12 Dec 2020 05:57:42 +0000 (05:57 +0000)]
lualoader: provide module-manipulation commands
Specifically, we have:
- enable-module
- disable-module
- toggle-module
These can be used to add/remove modules to be loaded or force modules to be
loaded in spite of modules_blacklist. In the typical case, a user is
expected to use them to recover an issue happening due to a module directive
they've added to their loader.conf or because they discover that they've
under-specified what to load.
MFC after: 1 week
delphij [Sat, 12 Dec 2020 02:26:43 +0000 (02:26 +0000)]
Remove unused headers.
MFC after: 2 weeks
delphij [Sat, 12 Dec 2020 02:24:33 +0000 (02:24 +0000)]
Remove unneeded headers.
MFC after: 2 weeks
melifaro [Sat, 12 Dec 2020 01:05:31 +0000 (01:05 +0000)]
Fix NOINET6 build broken by r368571.
melifaro [Fri, 11 Dec 2020 23:57:30 +0000 (23:57 +0000)]
ipfw kfib algo: Use rt accessors instead of accessing rib/rtentry directly.
This removes assumptions on prefix storage and rtentry layout
from an external code.
Differential Revision: https://reviews.freebsd.org/D27450
rlibby [Fri, 11 Dec 2020 22:52:20 +0000 (22:52 +0000)]
posixshm_test.c: remove tautological checks
Reviewed by: kib, markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27564
rlibby [Fri, 11 Dec 2020 22:52:16 +0000 (22:52 +0000)]
fdgrowtable_test.c: appease gcc
Work around bogus gcc -Wreturn-type.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511
Reviewed by: kevans, rew
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27563
rlibby [Fri, 11 Dec 2020 22:52:12 +0000 (22:52 +0000)]
savecore: bail on write error even when decompressing
Reviewed by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27560
rlibby [Fri, 11 Dec 2020 22:52:08 +0000 (22:52 +0000)]
zfs: quiet gcc -Wmissing-include-dirs
Don't tell it to look for headers in a non-existent directory.
Reviewed by: imp, mmacy
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27565
rlibby [Fri, 11 Dec 2020 22:52:03 +0000 (22:52 +0000)]
if_wg: appease gcc
- remove -ferror-limit option
- quiet -Wredundant-decls
Reviewed by: mmacy
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27559
rlibby [Fri, 11 Dec 2020 22:51:57 +0000 (22:51 +0000)]
ffs: quiet -Wstrict-prototypes
Reviewed by: kib, markj, mckusick
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27558
rlibby [Fri, 11 Dec 2020 22:51:53 +0000 (22:51 +0000)]
qat: quiet -Wredundant-decls
Reviewed by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27554
rlibby [Fri, 11 Dec 2020 22:51:48 +0000 (22:51 +0000)]
ntb: quiet gcc -Wreturn-type
Reviewed by: cem, markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27553
rlibby [Fri, 11 Dec 2020 22:51:44 +0000 (22:51 +0000)]
cache_fplookup: quiet gcc -Wreturn-type
Reviewed by: markj, mjg
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27555
brooks [Fri, 11 Dec 2020 21:51:50 +0000 (21:51 +0000)]
ndis(4): expand deprecation to the whole driver
nids(4) was a clever idea in the early 2000's when the market was
flooded with 10/100 NICs with Windows-only drivers, but that hasn't been
the case for ages and the driver has had no meaningful maintenance in
ages. It only supports Windows-XP era drivers.
Reviewed by: imp, bcr
MFC after: 3 days
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D27527
brooks [Fri, 11 Dec 2020 21:43:44 +0000 (21:43 +0000)]
Note removal of hme(4)
Sponsored by: DARPA
brooks [Fri, 11 Dec 2020 21:40:38 +0000 (21:40 +0000)]
hme(4): Remove as previous announced
The hme (Happy Meal Ethernet) driver was the onboard NIC in most
supported sparc64 platforms. A few PCI NICs do exist, but we have seen
no evidence of use on non-sparc systems.
Reviewed by: imp, emaste, bcr
Sponsored by: DARPA
mhorne [Fri, 11 Dec 2020 20:01:45 +0000 (20:01 +0000)]
riscv: small counter(9) improvements
Prefer atomics to critical section. This reduces the cost of the
increment operation and removes the possibility of it being interrupted
by counter_u64_zero().
Use CPU_FOREACH() macro to skip absent CPUs.
Replace hand-rolled address calculation with zpcpu_get().
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D27536
np [Fri, 11 Dec 2020 19:45:40 +0000 (19:45 +0000)]
vnet.9: Use correct location of vnet.h.
MFC after: 1 week
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D27557
fernape [Fri, 11 Dec 2020 19:27:21 +0000 (19:27 +0000)]
lock(1): Add EXAMPLES section
Add simple example showing the use of the flags: p, t, v
Reviewed by: gbe@, yuripv@
Approved by: manpages (yuripv@)
Differential Revision: https://reviews.freebsd.org/D27541
kevans [Fri, 11 Dec 2020 18:14:43 +0000 (18:14 +0000)]
caroot: update bundle
Summary:
- One (1) added
- Ten (10) removed
MFC after: 3 days
vangyzen [Fri, 11 Dec 2020 14:32:42 +0000 (14:32 +0000)]
decryptcore: preload OpenSSL error strings; seed PRNG
As in r360226, preload OpenSSL error strings and seed the PRNG
before entering capability mode.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
se [Fri, 11 Dec 2020 13:23:59 +0000 (13:23 +0000)]
Install 2 forgotten shell scripts required to run the tests
Submitted by: arichardson (Alexander Richardson)
Differential Revision: https://reviews.freebsd.org/D27568
ygy [Fri, 11 Dec 2020 08:04:54 +0000 (08:04 +0000)]
Fix a grammar error on locate(1).
While here, also fix a useless .Tn reported by mandoc.
PR: 251746
MFC after: 1 week
Sumbitted by: David Schlachter <fbsd-bugzilla@schlachter.ca>
kevans [Fri, 11 Dec 2020 04:02:19 +0000 (04:02 +0000)]
src.conf(5): regenerate after WITHOUT_GNU_GREP became default
kevans [Fri, 11 Dec 2020 03:59:41 +0000 (03:59 +0000)]
Flip the GNU_GREP default to OFF
bsdgrep was made the default in r368439. Stop building gnugrep entirely as
the natural next step towards removal.
ngie [Fri, 11 Dec 2020 02:22:42 +0000 (02:22 +0000)]
timespec_get(3): sort SEE ALSO correctly
clock_gettime(2) should be mentioned before gettimeofday(2).
Reported by: make manlint
MFC after: 1 week
Sponsored by: DellEMC Isilon
ngie [Fri, 11 Dec 2020 01:52:27 +0000 (01:52 +0000)]
cpuset{,_getaffinity,_getdomain}.2: fix SEE ALSO
Sort by manpage section, then sort entries alphabetically.
This makes the manpages `make manlint` clean.
MFC after: 1 week
Sponsored by: DellEMC Isilon
brooks [Fri, 11 Dec 2020 01:00:07 +0000 (01:00 +0000)]
style(9): Correct whitespace in struct definitions
struct ifconf and struct ifreq use the odd style "struct<tab>foo".
struct ifdrv seems to have tried to follow this but was committed with
spaces in place of most tabs resulting in "struct<space><space>ifdrv".
MFC after: 3 days
jkim [Fri, 11 Dec 2020 00:42:53 +0000 (00:42 +0000)]
Revert r366943. It did not work as expected.
ngie [Fri, 11 Dec 2020 00:28:28 +0000 (00:28 +0000)]
aio_suspend.2: properly canonicalize .Dd
Months should be fully spelled as their local-specific equivalents: in this
case `Oct` should have been spelled like `October`.
Reported by: make manlint
MFC after: 1 week
Sponsored by: DellEMC Isilon
ngie [Fri, 11 Dec 2020 00:26:49 +0000 (00:26 +0000)]
cap_enter(2): fix CAVEATS section
The CAVEATS section was misspelled as "CAVEAT" before this change. Fix the
spelling to identify issues related to the section.
Furthermore, given that the section order was incorrect, move the CAVEATS
section down to the bottom of the manpage, per the conventional section
order.
MFC after: 1 week
Reported by: make manlint
Sponsored by: DellEMC Isilon
ngie [Fri, 11 Dec 2020 00:20:04 +0000 (00:20 +0000)]
posix_spawn(3): fix section that references `vfork`
`vfork(2)` should be referenced in paragraphs as `.Fn vfork`, not `vfork()`.
This change switches the reference to use `.Fn`, which in turn makes the
manpage `make manlint` clean.
MFC after: 1 week
Reported by: make manlint
Sponsored by: DellEMC Isilon
ngie [Fri, 11 Dec 2020 00:15:57 +0000 (00:15 +0000)]
getentropy(3): sort SEE ALSO sections
Sorting order should be done by manpage section (2 vs 3), then alphabetically.
This change fixes the order to sort by the manpage section, first.
Reported by: make manlint
MFC after: 1 week
Sponsored by: DellEMC Isilon
ngie [Fri, 11 Dec 2020 00:13:39 +0000 (00:13 +0000)]
arc4random(3): fix .Xr issues
- pthreads(3) should actually be pthread(3).
- getentropy(2) should actually be getentropy(3).
This makes the manpage `make manlint` clean.
MFC after: 1 week
Sponsored by: DellEMC Isilon
jmg [Thu, 10 Dec 2020 23:23:42 +0000 (23:23 +0000)]
fix up documentation/comments: processname is not defined, but programname
is..
a couple other minor documentation fixes that igor caught...
MFC after: 1 week
mhorne [Thu, 10 Dec 2020 22:20:20 +0000 (22:20 +0000)]
riscv: handle debug.debugger_on_trap for fatal page faults
Allows recovery or diagnosis of a fatal page fault before panicking the
system.
Reviewed by: jhb, kp
Differential Revision: https://reviews.freebsd.org/D27534
ken [Thu, 10 Dec 2020 21:06:06 +0000 (21:06 +0000)]
Add the LTO-9 density code to libmt and the mt(1) man page.
These values are taken directly from the density report from an
IBM LTO-9 tape drive. (Using mt getdensity)
A LTO-9 drive stores 18TB raw (45TB with compression) on an LTO-9 tape.
lib/libmt/mtlib.c:
Add the LTO-9 density code, and bpmm/bpi values.
usr.bin/mt/mt.1:
Add the LTO-9 density code, bpmm/bpi values and number of
tracks. Bump the man page date.
MFC after: 3 days
Sponsored by: Spectra Logic
bdrewery [Thu, 10 Dec 2020 20:45:08 +0000 (20:45 +0000)]
linux_dma: Ensure proper flags pass to allocators.
Possibly fixes the wrong flags being passed to the kernel
allocators in linux_dma_alloc_coherent() and linux_dma_pool_alloc().
Reviewed by: hps
MFC after: 2 weeks
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D27508
bdrewery [Thu, 10 Dec 2020 20:44:29 +0000 (20:44 +0000)]
contig allocs: Don't retry forever on M_WAITOK.
This restores behavior from before domain iterators were added in
r327895 and r327896.
The vm_domainset_iter_policy() will do a vm_wait_doms() and then
restart its iterator when M_WAITOK is set. It will also force
the containing loop to have M_NOWAIT. So we get an unbounded
retry loop rather than the intended bounded retries that
kmem_alloc_contig_pages() already handles.
This also restores M_WAITOK to the vmem_alloc() call in
kmem_alloc_attr_domain() and kmem_alloc_contig_domain().
Reviewed by: markj, kib
MFC after: 2 weeks
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D27507
tuexen [Thu, 10 Dec 2020 19:36:33 +0000 (19:36 +0000)]
Fix the TFTP client when performing a RRQ for files smaller than 512 bytes
and the server not sending an OACK:
* Close the file.
* Report the correct the number of received blocks.
MFC after: 1 week
fernape [Thu, 10 Dec 2020 18:34:15 +0000 (18:34 +0000)]
id(1): Add EXAMPLES section
Add some examples covering the flags: G, n, P, p, u
Add reference to groups(1)
Approved by: manpages (gbe@)
Differential Revision: https://reviews.freebsd.org/D27539
rew [Thu, 10 Dec 2020 18:07:25 +0000 (18:07 +0000)]
Add deprecation notice for bvmconsole and bvmdebug
Now that bhyve(8) supports UART, bvmconsole and bvmdebug are no longer needed.
Mark the '-b' and '-g' flag as deprecated for bhyve(8).
These will be removed in 13.
Reviewed by: jhb, grehan
Approved by: kevans (mentor)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D27519
fernape [Thu, 10 Dec 2020 17:48:34 +0000 (17:48 +0000)]
groups(1): Add EXAMPLE
Add a super simple example
Approved by: manpages (gbe@)
Differential Revision: https://reviews.freebsd.org/D27538
mjg [Thu, 10 Dec 2020 17:17:22 +0000 (17:17 +0000)]
fd: make serialization in fdescfree_fds conditional on hold count
p_fd nullification in fdescfree serializes against new threads transitioning
the count 1 -> 2, meaning that fdescfree_fds observing the count of 1 can
safely assume there is nobody else using the table. Losing the race and
observing > 1 is harmless.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D27522
bhughes [Thu, 10 Dec 2020 13:11:52 +0000 (13:11 +0000)]
hyperv/vmbus: avoid crash, panic if vbe fb info is missing
Do not assume that VBE framebuffer metadata can be used. Like with the
EFI fb metadata, it may be null, so we should take care not to
dereference the null vbefb pointer. This avoids a panic when booting
-CURRENT on a gen1 VM in Azure.
Approved by: tsoome
Sponsored by: Miles AS
Differential Revision: https://reviews.freebsd.org/D27533
gbe [Thu, 10 Dec 2020 10:58:30 +0000 (10:58 +0000)]
ee(1): Whitespace cleanup
This is a direct commit to -CURRENT since the upstream went away.
MFC after: 1 week
trasz [Thu, 10 Dec 2020 10:23:18 +0000 (10:23 +0000)]
Make "diskinfo -i" also test 1MB reads.
se [Thu, 10 Dec 2020 09:31:05 +0000 (09:31 +0000)]
Lift scope of buf[] to make it extend to a potential access via *basename
It can be assumed that the contents of the buffer was still allocated and
valid at the point of the out-of-scope access, so there was no security
issue in practice.
Reported by: Coverity Scan CID 1437697
MFC after: 3 days
tmunro [Thu, 10 Dec 2020 07:13:15 +0000 (07:13 +0000)]
truss: Add AIO syscalls.
Display the arguments of aio_read(2), aio_write(2), aio_suspend(2),
aio_error(2), aio_return(2), aio_cancel(2), aio_fsync(2), aio_mlock(2),
aio_waitcomplete(2) and lio_listio(2) in human-readable form.
Reviewed by: asomers
Differential Revision: https://reviews.freebsd.org/D27518
gjb [Wed, 9 Dec 2020 20:38:26 +0000 (20:38 +0000)]
Fix staging riscv images.
Sponsored by: Rubicon Communications, LLC (netgate.com)
hselasky [Wed, 9 Dec 2020 20:13:12 +0000 (20:13 +0000)]
Fix bug in ifconfig preventing proper VLAN creation.
Detection of interface type by filter must happen before detection of
interface type by prefix. Else the following sequence of commands will
try to create a LAGG interface instead of a VLAN interface, which
accidentially worked previously, because the date pointed to by the
ifr_data pointer was not parsed by VLAN create ioctl(2). This is a
regression after r368229, because the VLAN creation now parses the
ifr_data field.
How to reproduce:
# ifconfig lagg0 create
# ifconfig lagg0.256 create
Differential Revision: https://reviews.freebsd.org/D27521
Reviewed by: kib@ and kevans@
Reported by: raul.munoz@custos.es
Sponsored by: Mellanox Technologies // NVIDIA Networking
rlibby [Wed, 9 Dec 2020 18:43:58 +0000 (18:43 +0000)]
dmar: reserve memory windows of PCIe root port
PCI memory address space is shared between memory-mapped devices (MMIO)
and host memory (which may be remapped by an IOMMU). Device accesses to
an address within a memory aperture in a PCIe root port will be treated
as peer-to-peer and not forwarded to an IOMMU. To avoid this, reserve
the address space of the root port's memory apertures in the address
space used by the IOMMU for remapping.
Reviewed by: kib, tychon
Discussed with: Anton Rang <rang@acm.org>
Tested by: tychon
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D27503
dim [Wed, 9 Dec 2020 18:37:43 +0000 (18:37 +0000)]
Merge commit
28de0fb48 from llvm git (by Luís Marques):
[RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines
The RISCV target did not set the GCC atomic compare and swap defines,
unlike other targets. This broke builds for things like glib on
RISCV.
Patch by Kristof Provost (kprovost)
Differential Revision: https://reviews.llvm.org/D91784
This should fix building glib20 on RISC-V and unblock a number of
dependent ports.
Requested by: kp
MFC after: 3 days
kevans [Wed, 9 Dec 2020 15:28:56 +0000 (15:28 +0000)]
netgraph: macfilter: small fixes
Two issues:
- The DEBUG macro defined is in direct conflict with the DEBUG kernel
option, which broke the -LINT build[0]
- Building with NG_MACFILTER_DEBUG did not compile on LP64 systems due to
using %d for sizeof().
Reported by: Jenkins[0]
markj [Wed, 9 Dec 2020 14:05:08 +0000 (14:05 +0000)]
Plug a race between fd table teardown and several loops
To export information from fd tables we have several loops which do
this:
FILDESC_SLOCK(fdp);
for (i = 0; fdp->fd_refcount > 0 && i <= lastfile; i++)
<export info for fd i>;
FILDESC_SUNLOCK(fdp);
Before r367777, fdescfree() acquired the fd table exclusive lock between
decrementing fdp->fd_refcount and freeing table entries. This
serialized with the loop above, so the file at descriptor i would remain
valid until the lock is dropped. Now there is no serialization, so the
loops may race with teardown of file descriptor tables.
Acquire the exclusive fdtable lock after releasing the final table
reference to provide a barrier synchronizing with these loops.
Reported by: pho
Reviewed by: kib (previous version), mjg
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D27513
markj [Wed, 9 Dec 2020 14:04:54 +0000 (14:04 +0000)]
Use refcount_load(9) to load fd table reference counts
No functional change intended.
Reviewed by: kib, mjg
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D27512
kevans [Wed, 9 Dec 2020 05:27:45 +0000 (05:27 +0000)]
grep: replace the internal queue with a ring buffer
We know up front how many items we can have in the queue (-B/Bflag), so
pay the cost of those particular allocations early on.
The reduced queue maintenance overhead seemed to yield about an ~8%
improvement for my earlier `grep -C8 -r closefrom .` test.
MFC after: 2 weeks
kevans [Wed, 9 Dec 2020 05:12:04 +0000 (05:12 +0000)]
grep: tests: stop expecting a failure of gnuext w/ bsdgrep
libregex now supports these and we no longer offer to not link against
libregex.
kevans [Wed, 9 Dec 2020 03:24:09 +0000 (03:24 +0000)]
kdump/truss: decode new _umtx_op flags
In both cases, print the flag bits first followed by the command.
Output now looks something like this:
(ktrace)
_umtx_op(0x8605f7008,0xf<UMTX_OP_WAIT_UINT_PRIVATE>,0,0,0)
_umtx_op(0x9fffdce8,0x80000003<UMTX_OP__32BIT|UMTX_OP_WAKE>,0x1,0,0)
(truss)
_umtx_op(0x7fffffffda50,UMTX_OP_WAKE,0x1,0x0,0x0) = 0 (0x0)
_umtx_op(0x9fffdd08,UMTX_OP__32BIT|UMTX_OP_WAKE,0x1,0x0,0x0) = 0 (0x0)
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D27325
kevans [Wed, 9 Dec 2020 03:22:44 +0000 (03:22 +0000)]
libsysdecode: decode _UMTX_OP flags
Assume that UMTX_OP with a double underbar following is a flag, while any
underbar+alphanumeric combination immeiately following is an op.
This was a part of D27325.
Reviewed by: kib
kevans [Wed, 9 Dec 2020 03:20:51 +0000 (03:20 +0000)]
_umtx_op(2): document recent addition of 32bit compat flags
This was part of D27325.
Reviewed by: kib
cy [Wed, 9 Dec 2020 02:59:24 +0000 (02:59 +0000)]
MFV r368464:
Update unbound from 1.12.0 to 1.13.0
MFC after: 1 week
Security: CVE-2020-28935
gjb [Wed, 9 Dec 2020 02:21:25 +0000 (02:21 +0000)]
Copy arm64 make-memstick.sh and mkisoimages.sh to the riscv
directory to allow properly building *.iso and *.img files.
Sponsored by: Rubicon Communications, LLC (netgate.com)
jhibbits [Wed, 9 Dec 2020 02:07:01 +0000 (02:07 +0000)]
dev/mfi: Make a seemingly bogus conditional unconditional
Summary:
r358689 attempted to fix a clang warning/error by inferring the intent
of the condition "(cdb[0] != 0x28 || cdb[0] != 0x2A)". Unfortunately, it looks
like this broke things. Instead, fix this by making this path unconditional,
effectively reverting to the previous state.
PR: kern/251483
Reviewed By: ambrisko
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D27515
jkim [Wed, 9 Dec 2020 02:05:14 +0000 (02:05 +0000)]
Merge OpenSSL 1.1.1i.