gpart: "gpart --libxo:JP list" duplicates attribute keys
Add leaf-list modifier to attrib as it's possible to have multiple
attributes on a gpart provider.
I purposely made it so that the normal output still says "attrib:" just
so we don't break any scripts people may be using to parse the output,
but the libxo output now says "attribute" just like `gpart show` will do
once https://reviews.freebsd.org/D53950 is merged.
PR: 291377
MFC after: 1 week
Reviewed by: asomers
Sponsored by: ConnectWise
Differential Revision: https://reviews.freebsd.org/D54080
Makefile.inc1: Force NO_ROOT for distribute* and package*
These targets are used to produce legacy dist sets for install media and
now always use NO_ROOT mode. Extend existing logic that forces NO_ROOT
mode to these cases to ensure they do not run in the wrong mode.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50551
(cherry picked from commit 300aa267efaa08564337797e89590737a7cc6af0)
irdma(4): fix potential memory leak on qhash cqp operation
It was found that in some circumstances when launching
non-waiting create qhash cqp operation the refcount on
the cqp_request may be not properly decremented leading to a memory
leak.
Signed-off-by: Bartosz Sobczak <bartosz.sobczak at intel.com>
Reviewed by: anzhu_netapp.com
Tested by: mateusz.moga_intel.com
Approved by: kbowling (mentor)
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D53732
(cherry picked from commit 7b6644e160ed63b633e7c68a3cacf2c71d216cd5)
irdma(4): fix potential memory leak on qhash cqp operation
It was found that in some circumstances when launching
non-waiting create qhash cqp operation the refcount on
the cqp_request may be not properly decremented leading to a memory
leak.
Signed-off-by: Bartosz Sobczak <bartosz.sobczak at intel.com>
Reviewed by: anzhu_netapp.com
Tested by: mateusz.moga_intel.com
Approved by: kbowling (mentor)
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D53732
(cherry picked from commit 7b6644e160ed63b633e7c68a3cacf2c71d216cd5)
linuxkpi: clean up stray pctrie_iter_reset
This removes an extraneous pctrie_iter_reset before returning.
This is not needed as it simply clears a local variable that
will get cleaned up anyway as we immediately return from the
function.
MFC after: 1 week
Sponsored by: NVIDIA
Reviewed by: alc
Differential Revision: https://reviews.freebsd.org/D54153
netlink: Don't overwrite existing data in a linear buffer in snl_writer
First, a bit of background on some of the data structures netlink uses
to manage data associated with a netlink connection.
- struct linear_buffer contains a single virtually-contiguous buffer
of bytes. Regions of this buffer are suballocated via lb_allocz()
which uses a simple "bump" where the buffer is split into an
allocated region at the start and a free region at the end. Each
allocation "bumps" the boundary (lb->offset) forward by the
allocation size.
Individual allocations are not freed. Instead, the entire buffer is
freed once all of the allocations are no longer in use.
Linear buffers also contain an embedded link to permit chaining
buffers together.
- snl_state contains various state for a netlink connection including
[51 lines not shown]
shutdown: Adapt to changes in reboot
Now that halt and reboot actually signal init, shutdown needs to run
fasthalt or fastboot instead when given the -o option.
MFC after: 1 month
Reviewed by: imp, allanjude
Differential Revision: https://reviews.freebsd.org/D54122
reboot: Default to a clean shutdown
* If invoked as fasthalt or fastboot, behavior is unchanged.
* If not invoked as fasthalt or fastboot, we simply signal init(8),
just like shutdown(8) does, instead of taking the system down
ourselves.
* Since only init can handle the RB_REROOT case, the -r flag is not
supported in fast mode.
* Update the usage string to correctly reflect the program being run
(fast or normal; halt, boot, or nextboot) and the options available
in each case.
* Update the manual page to make the distinction between normal and
fast mode clear, better explain what shutdown(8) still does that
reboot(8) does not, and add a historical note explaining what the
difference between the two used to be.
[5 lines not shown]
certctl: Improve option processing
For subcommands that did not take any arguments, we never bothered to
check that none were passed.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D54082
certctl: Always copy bundle fragments
When processing a bundle, we split it into individual certificates
stored in temporary files, then pass the name of each temporary file
to the creation function. Since the temporary files will later be
deleted, we need to force the creation function to copy rather than
symlink these files.
PR: 290957
Fixes: 986c43bd80e7 ("certctl: Add an option to copy files.")
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D54081
Add sys/_align.h replacing machine/_align.h
Define _ALIGNBYTES using sizeof(void *) (no functional change on any
existing architecture) which will allow it to work with CHERI were we
must align things up to capability alignment.
In _ALIGN, replace integer manipulation which does not preserve pointer
provenance with a type and provenance preserving builtin. This requires
modest changes in code which assumes _ALIGN returns an integer, but
those are relatively rare.
Reviewed by: kib, markj
Effort: CHERI upstreaming
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D53947
get*ent: be consistant about _ALIGN(p) - p
Add an nscache specific inline function to calculate the misalignment
rather than adding and subtracting _ALIGN(p) and p which can take the
buffer far out of bound (undefined behavior in C and unsupported on
CHERI).
Reviewed by: kib
Effort: CHERI upstreaming
Obtained from: CheriBSD
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D53945
Update share/mk files from bmake
Update to the latest makefiles etc from bmake.
Mostly this just replaces sjg license with an SPDX tag.
There are also some improvements to meta2deps* and optimizations
to leverage POSIX shell features in some target scripts.
Default isPOSIX_SHELL to ':' in sys.mk to enable these.
Use :sh1 in M_type if possible.
bsd.progs.mk has diverged too much to touch beyond making the
SPDX tag update.
Reviewed by: stevek
Differential Revision: https://reviews.freebsd.org/D54150
nfs_nfsdstate.c: Add sanity checks for lock stateids
Bugzilla PR reported a crash caused by a synthetic client
doing a Lock operation request with a delegation stateid.
This patch fixes the problem by adding sanity checks
for the type of stateid provided as an argument to the
Lock and LockU operations.
It has been tested with the FreeBSD, Linux and Solaris 11.4
clients. Hopefully, other NFSv4 clients will work ok
as well.
PR: 291080
(cherry picked from commit aa1cf240887ddcca66dfb969fdc5a8d545396037)
nfs_nfsdstate.c: Add sanity checks for lock stateids
Bugzilla PR reported a crash caused by a synthetic client
doing a Lock operation request with a delegation stateid.
This patch fixes the problem by adding sanity checks
for the type of stateid provided as an argument to the
Lock and LockU operations.
It has been tested with the FreeBSD, Linux and Solaris 11.4
clients. Hopefully, other NFSv4 clients will work ok
as well.
PR: 291080
(cherry picked from commit aa1cf240887ddcca66dfb969fdc5a8d545396037)
rc.d/ipfilter: ipfilter must be enabled for options to take
ipfilter options are erased and reset to default when ipfilter is
disabled. This results in nullifying options from rc.conf that were
previously set.
8d6feaaaa26f, which added this code, was incorrect as it was for a bug in
ipfilter 4.2.28 and no longer applies to ipfilter 5.1.2.
Fixes: 8d6feaaaa26f
MFC after: 1 day
splice: Fix leaks that can happen when initiating a splice
- change the state to SPLICE_EXCEPTION to allow so_unsplice() to work
to cleanup failed splices (fixes socket reference leak)
- NULL out sp->dst when unsplicing from so_splice() before so2 has been
been referenced.
- Deal with a null sp->dst / so2 in so_unsplice
- Fix asserts that talked about sp->state == SPLICE_INIT; that state
is not possible here.
Differential Revision: https://reviews.freebsd.org/D54157
Reviewed by: markj
Sponsored by: Netflix
Fixes: c0c5d01e5374 ("so_splice: Synchronize so_unsplice() with so_splice()")
MFC after: 3 days
bhnd_bus_*_resource: Remove redundant type and rid arguments
Remove type and rid arguments from
bhnd_bus_(activate|deactivate|release)_resource. This should have
been done earlier to match the changes made to bus_release_resource,
etc.
While fixing up the callers, remove rid members from softc structures
since the only time a value is needed is as a constant input to
bhnd_bus_alloc_resource*.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D53410
bus_alloc_resource: Pass rid by value to BUS_ALLOC_RESOURCE DEVMETHOD
The wrapper functions such as bus_alloc_resource_any() still support
passing the rid by value or pointer, but the underlying implementation
now passes by value.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D53402
Revert "netlink: Fix overallocation of netlink message buffers"
This patch was based on an incorrect assumption that the linear buffer
chain for an snl_writer only contained the netlink message body.
This reverts commit 828df4d36d9d5a6ca0dcc294d65572b4a0474142.
Sponsored by: AFRL, DARPA
linuxkpi: Take const root in read-only radix tree functions
This is a preparation step for a future addition to this file. This is
also closer to what Linux does.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation