dev_alloc_skb() comapred to alloc_skb() reserves some headroom
at the beginning of the skb which is used by drivers.
Split the code for the two cases and reserve NET_SKB_PAD space,
which should at least be 32 octets.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
net80211: improve error handling from ieee80211_parse_beacon()
Following up on fb8c87b4f3bfdfac014f9d894fe75fbad0391b24, which was
supposed to go into all supported branches, increase ieee80211_scanparams
status field from 8bit to 32bit (enum size) and add a dedicated error
code for Mesh ID.
Since physical memory management is now handled by subr_physmem.c, the
need to keep this global array has diminished. It is not referenced
outside of early boot-time, and is populated by physmem_avail() in
pmap_bootstrap(). Just allocate the array on the stack for the duration
of its lifetime.
The check against physmap[0] in initriscv() can be dropped altogether,
as there is no consequence for excluding a memory range twice.
Reviewed by: markj
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34778
We forgot to free the nvlist (and packed nvlist) on success.
While here start using the ERROUT macro to clean up error handling, and
to add SDTs for better debugging.
The nvlist is allocated in pf_keth_rule_to_nveth_rule(). There's no need
to allocate one in the calling function. Especially not as we overwrite
the pointer to the new nvlist with the one allocated by
pf_keth_rule_to_nveth_rule(), leaking memory.
Tom Jones [Thu, 7 Apr 2022 09:12:33 +0000 (10:12 +0100)]
siftr: expose t_flags2 in siftr output
Replace the old snd_bwnd field which was kept for compatibility with the
t_flags2 field from the tcpcb. This exposes in siftr logs interesting
things such as ECN, PLPMTUD, Accurate ECN and if first bytes are
complete.
Reviewed by: rscheff (transport), chengc_netapp.com, debdrup (manpages)
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
X-NetApp-PR: #73
Differential Revision: https://reviews.freebsd.org/D34672
Ed Maste [Thu, 7 Apr 2022 00:19:54 +0000 (20:19 -0400)]
vidcontrol: disable p, P, and H when vt(4) is in use
These options use the CONS_SCRSHOT ioctl to capture the contents of the
current console, which is not yet supported by vt(4). Disable the
options when vt(4) is in use rather than emitting a possibly confusing
error message.
This change should be reverted if CONS_SCRSHOT is implemented for vt(4).
PR: 263099
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
John Baldwin [Wed, 6 Apr 2022 23:45:28 +0000 (16:45 -0700)]
axgbe: Remove unused variable in axgbe_msix_que.
Keep the register read just in case though it seems possible it is not
needed as the function later clears specific interrupts via a write to
the same register.
John Baldwin [Wed, 6 Apr 2022 23:45:28 +0000 (16:45 -0700)]
multicast code: Quiet unused warnings for variables used for KTR traces.
For nallow and nblock, move the variables under #ifdef KTR.
For return values from functions logged in KTR traces, mark the
variables as __unused rather than having to #ifdef the assignment of
the function return value.
John Baldwin [Wed, 6 Apr 2022 23:45:27 +0000 (16:45 -0700)]
unlink_nhgrp: Remove write-only variable.
Possibly one could assert that ret should always be 0 here (that is,
that there was always an index found in the bitmask). That should be
true since a bitmask index is allocated before the nhgrp is inserted
in the ctl->gr_head list in link_nhgrp.
John Baldwin [Wed, 6 Apr 2022 23:45:27 +0000 (16:45 -0700)]
cmi: Mark rsp as unused.
If the DEB macro is manually enabled to enable tracing then this
variable is used. This doesn't use __diagused since it is dependent
on a non-standard debugging macro.
John Baldwin [Wed, 6 Apr 2022 23:45:27 +0000 (16:45 -0700)]
iwn: Remove write-only extra variable.
extra is used in a commented-out expression to compute
scan_service_time. Use #if 0 instead of a comment for the disabled
scan_service_time expression and move the unused computation of extra
under the same #if.
Alan Somers [Sat, 2 Apr 2022 19:31:24 +0000 (13:31 -0600)]
fusefs: fix two bugs regarding VOP_RECLAIM of the root inode
* We never send FUSE_LOOKUP for the root inode, since its inode number
is hard-coded to 1. Therefore, we should not send FUSE_FORGET for it,
lest the server see its lookup count fall below 0.
* During VOP_RECLAIM, if we are reclaiming the root inode, we must clear
the file system's vroot pointer. Otherwise it will be left pointing
at a reclaimed vnode, which will cause future VOP_LOOKUP operations to
fail. Previously we only cleared that pointer during VFS_UMOUNT. I
don't know of any real-world way to trigger this bug.
cxgbe(4): meminfo should get the TLS region's limits from the hardware.
meminfo is meant for debugging and it should read hardware configuration
directly when possible instead of relying on values queried from the
firmware. Rename the region to "TLSKey region" to match other drivers
while here.
Ed Maste [Wed, 6 Apr 2022 18:25:37 +0000 (14:25 -0400)]
smbfs: caution against use in the manpage
It supports only the obsolete SMBv1 protocol, is known to be buggy, and
likely has security vulnerabilities. It will either be updated or
removed in the future, but for now at least describe the current state
in the man page.
PR: 263043
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Andrew Turner [Mon, 28 Mar 2022 11:37:09 +0000 (12:37 +0100)]
Handle non-page aligned/sized memory in physmem
In some configurations the firmware may pass memory regions that are
not page sized or aligned, e.g. when using 16k pages on arm64. If this
is the case we will calculate many small regions because the alignment
is applied before being inserted. As we round the start up and end down
this will leave a 1 page hole between what should have been a single
region.
Fix by keeping the original alignment until we are just about to insert
the region into the avail array.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34694
Andrew Turner [Mon, 4 Apr 2022 09:28:59 +0000 (10:28 +0100)]
Fix a coherent bus check in the arm64 busdma
In the arm64 busdma we have an internal flag to signal when a tag is
for a cache-coherent device. In this case we don't need to adjust the
size and alignment of allocated buffers to be within a cache line.
The cache line adjustment was incorrectly using the coherent flag
passed in to bus_dma_tag_create and not the internal flag. Fix it to
use the latter to reduce the memory usage slightly.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34763
Andrew Turner [Tue, 15 Mar 2022 17:05:48 +0000 (17:05 +0000)]
Move the arm64 DMAP creation to C
To simplify the creation of the direct map (DMAP) region on arm64 move
it from the pre-C code into pmap. This simplifies the DMAP creation
as we can use the notmal index macros, and should reduce the number
of pages needed to hold the level 1 tables to just those needed.
Reviewed by: alc, dch
Tested by: dch, kevans
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34568