whereis(1): Respect PORTSDIR variable
PORTSDIR is a very common variable that points to the location of a ports
directory. Make whereis(1) respect this variable too.
Reviewed by: arrowd@, christos@
Approved by: christos@
Differential Revision: https://reviews.freebsd.org/D56845
e1000: Correct igb(4) DMA coalescing register programming
The disabled path wrote the complement of DMAC_EN to DMACR. That
set every other field, including reserved bits, the one-shot EXIT_DC
command, watchdog enables, receive threshold, and PCIe Lx selection.
When DMA coalescing was enabled, the requested watchdog and Lx-delay
values were ORed into their reset values rather than replacing the
fields. PCIEMISC.LX_DECISION was also cleared, preventing
DMACR.DMAC_Lx from controlling PCIe low-power entry.
Disable coalescing by clearing only DMAC_EN and retaining the
documented DMAC_Lx policy and watchdog fields. On enable, replace the
variable fields under their masks, select DMA requirements for PCIe
low-power entry, and program the loopback and BMC watchdog policies
independently of prior state.
Make igb_init_dmac() the sole owner of this policy, including when
SR-IOV is active, so later IOV initialization cannot overwrite it.
[14 lines not shown]
netstat: filtering out unsupported address families
getifaddrs(3) may return AF_INET6 addresses even when netstat(1)
is built without INET6 support. Avoid passing these addresses to
process_ifa_addr(), which does not handle AF_INET6 in that case.
This fixes corrupted column width calculations and runaway output
from netstat -i, which could cause periodic daily check output to
generate multi-gigabyte mail messages and exhaust disk space and
memory.
MFC after: 2 weeks
snd_uaudio: Use uDWord for the UAC2 sample rate
uaudio20_set_speed() split the sample rate into bytes by hand. Use
uDWord and USETDW() instead.
No functional change intended.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D59066
(cherry picked from commit 5c3bc8ab427c8624b29cd9ac9265445002da3ba8)
tty: gracefully handle proctree_lock locking
Instead of relocking tty to get the proctree_lock and experiencing the
race due to the relock, take the proctree_lock in advance for ioctl
commands that need it. The affected commands, TIOCNOTTY, TIOCSCTTY,
and TIOCSPGRP, must not be overridden by the specific tty drivers,
so the common handling is cleaner.
Reviewed by: kevans (previous version), markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D59132
arm64 pmap: optimize TLB management by pmap_update_entry()
To date, pmap_update_entry() has unconditionally passed false as
final_only to pmap_s1_invalidate_range(). Passing false means that we
invalidate the intermediate "page walk cache" entries in the TLB as well
as the leaf that is being replaced. However, invalidating intermediate
entries is only necessary when doing a superpage promotion that replaces
a pointer to a page table page by a large page mapping.
Reviewed by: andrew, kib, markj
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D58917
e1000: Report corrected LAN management FIFO ECC errors
I350 and I354 report a corrected ECC error in the LAN transmit
management FIFO through LANPERRSTS bit 16. Unlike the parity status in
the same register, this condition neither interrupts nor stops traffic.
Poll the latch with the other corrected error status, increment a
dedicated counter, and clear only its RW1C bit. Expose it as
dev.igb.N.memory_errors.corrected_lan_mng_fifo.
Fatal error handling returns before the periodic statistics sweep and
may reset the device. Drain all I350 and I354 corrected-error status in
the admin task before recovery so the reset does not discard pending
indications.
This follows section 6.21.16 of the Intel Atom Processor C2000 Product
Family Integrated GbE Controller Programmer's Reference Manual,
document 537426 revision 1.5.
[2 lines not shown]
e1000: Handle I354 internal memory errors
The Atom C2000 integrated GbE programming reference documents the I354
internal memory error architecture. It shares the I350 PEIND and
ICR.FER routing, DMA and packet-buffer status, LAN parity status, and
required reset recovery.
Extend the existing I350 recovery and corrected error accounting paths
to I354. Keep the PCIe corrected error mask family-specific. C2000
PCIEECCSTS ends at the transmit write-data indication in bit 4 and does
not implement the I350 retry buffer indication in bit 5. Do not expose
the corresponding retry counter on I354.
The PRM overview says a PCIe region failure requires a system reboot,
while the individual PCIEERRSTS fields prescribe CTRL.RST followed by
port reinitialization. Use the register specific recovery, matching the
existing I350 path; failed reinitialization still leaves the port down.
This follows sections 5.6 and 6.21 of the Intel Atom Processor C2000
[5 lines not shown]
crypto/openssl: update generated content to match 3.5.8 release
This contains 2 new manpages as well as some minor manpage content
changes.
MFC with: 78e936b2d
crypto/openssl: update to 3.5.8
This is a security bugfix release. Please see the related merge commit
for more details.
Maintainer note: `quic_ackm.h`'s conflict was resolved by taking
the upstream version of the file verbatim.
Conflicts:
crypto/openssl/include/internal/quic_ackm.h
MFC after: 3 days
Merge commit '248da023ae5ea7292930ac5d715d88b87e2e6f46'
crypto/openssl: remove large test input file
This file was added between 3.5.7 and 3.5.8. Given that we don't yet leverage
the OpenSSL tests, there's no sense in merging this file to mainline branches..