svn commit: r359829 - in head/sys: amd64/conf conf
Mark Millard
marklmi at yahoo.com
Sun Apr 12 19:43:19 UTC 2020
> Author: cem
> Date: Sun Apr 12 18:04:20 2020
> New Revision: 359829
> URL:
> https://svnweb.freebsd.org/changeset/base/359829
>
>
> Log:
> Add queue(2) debug macros as build options
>
> Add QUEUE_MACRO_DEBUG_TRACE and QUEUE_MACRO_DEBUG_TRASH as proper kernel
> options. While here, alpha-sort the debug section of sys/conf/options.
>
> Enable QUEUE_MACRO_DEBUG_TRASH in amd64 GENERIC (but not GENERIC-NODEBUG)
> kernels. It is similar in nature and cost to other use-after-free pointer
> trashing we do in GENERIC. It is probably reasonable to enable in any arch
> GENERIC kernel that defines INVARIANTS.
Going the other way: Is QUEUE_MACRO_DEBUG_TRASH unsafe when INVARIANTS
has been disabled?
I historically produce non-debug/less-debug kernels via including GENERIC
and then disabling various debugging options, including frequently
disabling INVARIANTS and INVARIANTS_SUPPORT.
Would the following be appropriate for the comments, with its extra
"required by" on the first line shown:
options INVARIANTS # Enable calls of extra sanity checking, required by QUEUE_MACRO_DEBUG_TRASH
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation
Should head/sys/conf/NOTES have material about avoiding
QUEUE_MACRO_DEBUG_TRASH with INVARIANTS disabled?
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the svn-src-head
mailing list