Date: Sun, 12 Apr 2020 12:43:07 -0700 From: Mark Millard <marklmi@yahoo.com> To: Conrad Meyer <cem@freebsd.org>, svn-src-head@freebsd.org Subject: Re: svn commit: r359829 - in head/sys: amd64/conf conf Message-ID: <A3E65DD3-5F41-4353-A6C9-8F9431CFB6AA@yahoo.com> References: <A3E65DD3-5F41-4353-A6C9-8F9431CFB6AA.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Author: cem > Date: Sun Apr 12 18:04:20 2020 > New Revision: 359829 > URL:=20 > https://svnweb.freebsd.org/changeset/base/359829 >=20 >=20 > Log: > Add queue(2) debug macros as build options > =20 > 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. > =20 > 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? =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A3E65DD3-5F41-4353-A6C9-8F9431CFB6AA>