Skip site navigation (1)Skip section navigation (2)
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>