Is this enough? Won't out-of-tree modules get compiled without EPOCH_TRACE set? If such a module is loaded on a kernel with EPOCH_TRACE set then the module will call epoch_enter_preempt() with a epoch_tracker that is too small and have its stack corrupted, won't it?
On Thu, Sep 26, 2019 at 5:12 PM Gleb Smirnoff <[email protected]> wrote: > > Author: glebius > Date: Thu Sep 26 21:12:47 2019 > New Revision: 352778 > URL: https://svnweb.freebsd.org/changeset/base/352778 > > Log: > Move EPOCH_TRACE to opt_global.h, so that any external modules that > use epoch don't need Makefile tweaks. > > The downside is that any developer who wants EPOCH_TRACE needs to > rebuild kernel in full, but that's fine. > > Reviewed by: imp > > Modified: > head/sys/conf/options > head/sys/sys/epoch.h > > Modified: head/sys/conf/options > ============================================================================== > --- head/sys/conf/options Thu Sep 26 21:06:55 2019 (r352777) > +++ head/sys/conf/options Thu Sep 26 21:12:47 2019 (r352778) > @@ -712,7 +712,7 @@ WITNESS_SKIPSPIN opt_witness.h > WITNESS_COUNT opt_witness.h > OPENSOLARIS_WITNESS opt_global.h > > -EPOCH_TRACE opt_epoch.h > +EPOCH_TRACE opt_global.h > > # options for ACPI support > ACPI_DEBUG opt_acpi.h > > Modified: head/sys/sys/epoch.h > ============================================================================== > --- head/sys/sys/epoch.h Thu Sep 26 21:06:55 2019 (r352777) > +++ head/sys/sys/epoch.h Thu Sep 26 21:12:47 2019 (r352778) > @@ -41,8 +41,6 @@ typedef struct epoch_context *epoch_context_t; > #include <sys/pcpu.h> > #include <ck_epoch.h> > > -#include "opt_epoch.h" > - > struct epoch; > typedef struct epoch *epoch_t; > _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "[email protected]"
