LinuxKPI: 802.11: stop ieee80211_start_tx_ba_session() if no HT supported
rtw89(4) would constantly try to start a TX BlockACK session even if no
HT or higher was available. The only way to stop this (currently) is
to return -EINVAL instead of any other error.
Note: we should investigate if/when to call (*set_tid_config)() as that
will also offer the ability to forbid BA.
Sponsored by: The FreeBSD Foundation
Reported by: arved, bnovkov
Tested by: bnovkov
MFC after: 3 days
man: Fix RFC 1918 network prefix lengths
According to RFC 1918, the following IP prefixes are reserved for
private internets:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
This PR fixes the prefix lengths in references to private networks
("RFC 1918 networks", "the standard private IP address ranges").
The changes are limited to man pages.
Signed-off-by: Yusuke Ichiki <public at yusuke.pub>
Pull Request: https://github.com/freebsd/freebsd-src/pull/2328
MFC after: 3 days
LinuxKPI: skbuff: add initial page pool support
Add an internal flag which is set by skb_mark_for_recycle() and upon
"skb_free" then selects whether the skb is freed or returned to the
page pool.
There will likely be more details to figure out once the LinuxKPI page
work is done and we support more of the page pool than the bare minimum.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
mt76: disable debugfs due to missing piece still in review
Until D57524 is not reviewed and committed we will have a missing
function declaration which prevents us to compile (in) debugfs for
mt76 core and mt7921. Temporary disable debugfs again.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: skbuff: add skb_put_zero()
Add skb_put_zero() as a simple wrapper around __skb_put_zero().
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: skbuff: implement __skb_linearize()
skb_linearize() is used by mt7921, mt7925, and in the general mt76 tx dma
code. __skb_linearize() is used in the general iwlwifi TX code but given
the way we currently create TX skbs in LinuxKPI 802.11 we never hit that
case.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: skbuff: implement napi_build_skb()
Implement napi_build_skb() around linuxkpi_build_skb().
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: skbuff: improve debugging
Deal with SKB_TRACE_FMT optional arguments; while here properly indent.
Add KASSERT to __skb_unlink() to catch incorrect skbuffs encountered
while debugging a wireless driver (which had other pre-conditions failing).
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
awk/tests: xfail inf-nan-torture on riscv64
The fix for this is being tracked upstream here:
https://github.com/onetrueawk/awk/issues/269
While here, just cd into $SRCDIR while executing tests,
since the test engine isolates every testcase's working
directory. This ensures that the xfail actually applies
to the next command.
Reviewed by: mhorne
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
vm_page: Fix dequeue on arches with weak ordering
A vm_page's a.queue field records the page queue index for the page
queue to which the page belongs. The PGA_ENQUEUED flag indicates
whether the page is actually enqueued in that queue's TAILQ. When
modifying the a.queue field, you need to hold the page queue lock for
the queue corresponding to the old value, unless the old value is
PQ_NONE.
Suppose a managed page is freed. vm_page_free_prep() calls
vm_page_dequeue_deferred(), which checks whether the page belongs to a
queue; if so it schedules an asynchronous dequeue operation so that page
queue lock acquisitions can be batched if possible.
The dequeue operation must be completed before the page's plinks.q
fields are reused. So, during page allocation, we call
vm_page_dequeue() to finish the dequeue operation. Similarly, since the
buddy allocator uses the plinks.q fields for its own internal linkage,
vm_freelist_add() calls vm_page_dequeue().
[17 lines not shown]
ktimer: Check for errors from realtimer_gettime()
clock_gettime(CLOCK_TAI) can fail, leaving *ovalue uninitialized.
Reported by: Hazley Samsudin of GovTech CSG
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58225
firewire: remove SPL calls
SPL is a no-op on amd64. Real locking is already handled by fc_mtx and
per-driver mutexes.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D58210
fwdv: match unit directories instead of IDENTIFY
Migrated fwdv to use per-unit-directory child device
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D58204
fwisound: match unit directories instead of IDENTIFY
Migrated fwisound to use per-unit-directory child device
Differential Revision: https://reviews.freebsd.org/D58203
Reviewed by: adrian
fwcam: match unit directories, defer probe to first open
Migrated fwcam to use per-unit-directory child device
Differential Revision: https://reviews.freebsd.org/D58202
Reviewed by: adrian
firewire: per-unit-directory child device support
Added structure to allow multiple device to attach to the same driver.
Also removed the deprecation warning from the man page.
Differential Revision: https://reviews.freebsd.org/D58201
Reviewed by: adrian
Remove fips-module related diff
This particular change didn't come from upstream. It was added locally
in 7a991ecd1 when attempting to enable the fips provider with 3.0.
Given the fact that we no longer build the fips provider and the fips
provider build process (including sources) is very prescribed to
specific build steps and source versions, there's no reason why we need
to continue carrying around this diff anymore.
MFC after: 1 week
Signed-off-by: Enji Cooper <ngie at FreeBSD.org>
(cherry picked from commit d6e3662bc1f5054d81b1ceab641396047c2cad94)
Remove `$FreeBSD$` from upstream-provided config file
This diff reduces with the content provided by upstream (OpenSSL).
MFC after: 1 week
(cherry picked from commit 2de6d07e16aa4d902b7b322a869f89a07348e851)
Remove `$FreeBSD$` from upstream-provided config file
This diff reduces with the content provided by upstream (OpenSSL).
MFC after: 1 week
(cherry picked from commit 2de6d07e16aa4d902b7b322a869f89a07348e851)
exterr_set: sync the definition with the header declaration
This unbreaks buildkernel with TARGET=armv7 (32-bit arm). More work may be required
in order to unbreak `exterr_set` with 32-bit kernels.
Fixes: 844009378da9 ("exterr: allow exterr to fit pointers on CHERI targets")
ministat: parse comma used as decimal delimiter
This allows to use output of '/usr/bin/time -ao foo' as direct input to
ministat(1).
While here make diagnostic message more verbose.
witness: fix operation without WITNESS_SKIPSPIN
Since malloc(9) even with M_NOWAIT is forbidden when we hold a spinlock,
we can't print detailed lock tree as the operation tries to allocate
memory.
Fixes: fb4b0c91195195561560bb2fb2c1ba8da81f7ccf