On Wed, Aug 4, 2021 at 3:41 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > > Fix modpost Section mismatch error in i915_globals_exit(). > Since both an __init function and an __exit function can call > i915_globals_exit(), any function that i915_globals_exit() calls > should not be marked as __init or __exit. I.e., it needs to be > available for either of them. > > WARNING: modpost: vmlinux.o(.text+0x8b796a): Section mismatch in reference from the function i915_globals_exit() to the function .exit.text:__i915_globals_flush() > The function i915_globals_exit() references a function in an exit section. > Often the function __i915_globals_flush() has valid usage outside the exit section > and the fix is to remove the __exit annotation of __i915_globals_flush. > > ERROR: modpost: Section mismatches detected. > Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them. My gut says we actually want to back-port https://lore.kernel.org/dri-devel/YPk3OCMrhg7UlU6T@phenom.ffwll.local/ instead. Daniel, thoughts? --Jason > > Fixes: 1354d830cb8f ("drm/i915: Call i915_globals_exit() if pci_register_device() fails") > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Cc: Jason Ekstrand <jason@xxxxxxxxxxxxxx> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > --- > drivers/gpu/drm/i915/i915_globals.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- linext-2021-0804.orig/drivers/gpu/drm/i915/i915_globals.c > +++ linext-2021-0804/drivers/gpu/drm/i915/i915_globals.c > @@ -138,7 +138,7 @@ void i915_globals_unpark(void) > atomic_inc(&active); > } > > -static void __exit __i915_globals_flush(void) > +static void __i915_globals_flush(void) > { > atomic_inc(&active); /* skip shrinking */ >