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>

index | next in thread | previous in thread | raw e-mail

> 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)



help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A3E65DD3-5F41-4353-A6C9-8F9431CFB6AA>