6237c3e7 markj Aug. 3, 2022, 12:49 a.m.
Fixes:	1165fc9a5266 ("ctfconvert: Give bitfield types names distinct from the base type")
cgit
1165fc9a markj Aug. 3, 2022, 12:32 a.m.
CTF integers have an explicit width and so can be used to represent
bitfields.  Bitfield types emitted by ctfconvert(1) share the name of
the base integer type, so a struct field with type "unsigned int : 15"
will have a type named "unsigned int".

To avoid ambiguity when looking up types by name, add a suffix to names
of bitfield types to distinguish them from the base type.  Then, if
ctfmerge happens to order bitfield types before the corresponding base
type in a CTF file, a name lookup will return the base type, which is
always going to be the desired behaviour.

PR:		265403
Reported by:	cy
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
cgit
6a05f143 markj Aug. 3, 2022, 12:32 a.m.
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
cgit
e1700a36 markj Aug. 3, 2022, 12:32 a.m.
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
cgit
85269541 markj Aug. 3, 2022, 12:31 a.m.
No functional change intended.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
cgit
8b57548e alfredo Aug. 2, 2022, 9:17 p.m.
Make powerpspe kernel config in sync with other targets making
GEOM_LABEL built-in to allow use of labels when mounting partitions.

MFC after:	2 days
Sponsored by:	Instituto de Pesquisas Eldorado (eldorado.org.br)
cgit
f04f3afb kib Aug. 2, 2022, 6:11 p.m.
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
4a662c90 kib Aug. 2, 2022, 6:11 p.m.
When it was inline it made sense to depend on the existing nested check
in KTRUSERRET() rather than adding a new td_flags flag.  However, since
we now have a TDA_KTRACE flag anyway, we might as well check it and
avoid the call.

Suggested by:	jhb
Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
c46771a7 kib Aug. 2, 2022, 6:11 p.m.
Also bump Foundation' copyright year

Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
cc1ec772 kib Aug. 2, 2022, 6:11 p.m.
Explicitly pass the struct thread argument.
Move the function prototype from sys/systm.h to geom/geom.h, we do not
need almost each kernel source to see the prototype, it is now used
only by kern/vfs_mountroot.c outside geom/geom_event.c, where the
function is defined.

Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
4fced864 kib Aug. 2, 2022, 6:11 p.m.
Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
c6d31b83 kib Aug. 2, 2022, 6:11 p.m.
Make most AST handlers dynamically registered.  This allows to have
subsystem-specific handler source located in the subsystem files,
instead of making subr_trap.c aware of it.  For instance, signal
delivery code on return to userspace is now moved to kern_sig.c.

Also, it allows to have some handlers designated as the cleanup (kclear)
type, which are called both at AST and on thread/process exit.  For
instance, ast(), exit1(), and NFS server no longer need to be aware
about UFS softdep processing.

The dynamic registration also allows third-party modules to register AST
handlers if needed.  There is one caveat with loadable modules: the
code does not make any effort to ensure that the module is not unloaded
before all threads processed through AST handler in it.  In fact, this
is already present behavior for hwpmc.ko and ufs.ko.  I do not think it
is worth the efforts and the runtime overhead to try to fix it.

Reviewed by:	markj
Tested by:	emaste (arm64), pho
Discussed with:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
4a5ec55a kib Aug. 2, 2022, 6:11 p.m.
Otherwise we are using whatever the value was left from the previous
thread run on kernel entry from usermode. Typically it would be the
desired value as is, but it is not guaranteed.

Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35888
cgit
b3fd5464 dougm Aug. 2, 2022, 4:47 p.m.
Rename 'tmp' to 'rb_update_tmp' in a macro to avoid a shadow variable panic.

Reported by:	imb@protected-networks.net
Fixes:	35557a0d9169
cgit
35557a0d dougm Aug. 2, 2022, 4:23 p.m.
For an augmented rb_tree, allow a faster alternative to removing an
element from the tree, tweaking it slightly, and inserting it back
into the tree, knowing that its relative position in the tree is
unchanged. Instead, just change the element and invoke
RB_UPDATE_AUGMENT to fix the augmentation data for all the nodes in
the tree.

Reviewed by:	kib
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D36010
cgit