On Thu, 22 May 2025, Kees Cook wrote: > When KCOV is enabled all functions get instrumented, unless the > __no_sanitize_coverage attribute is used. To prepare for > __no_sanitize_coverage being applied to __init functions, we have to > handle differences in how GCC's inline optimizations get resolved. For > x86 this means forcing several functions to be inline with > __always_inline. > > Signed-off-by: Kees Cook <kees@xxxxxxxxxx> > --- > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Borislav Petkov <bp@xxxxxxxxx> > Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Cc: <x86@xxxxxxxxxx> > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Cc: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > Cc: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > Cc: "Ilpo Järvinen" <ilpo.jarvinen@xxxxxxxxxxxxxxx> > Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx> > Cc: Len Brown <lenb@xxxxxxxxxx> > Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Cc: Ard Biesheuvel <ardb@xxxxxxxxxx> > Cc: Mike Rapoport <rppt@xxxxxxxxxx> > Cc: Michal Wilczynski <michal.wilczynski@xxxxxxxxx> > Cc: Juergen Gross <jgross@xxxxxxxx> > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx> > Cc: David Woodhouse <dwmw@xxxxxxxxxxxx> > Cc: Usama Arif <usama.arif@xxxxxxxxxxxxx> > Cc: "Guilherme G. Piccoli" <gpiccoli@xxxxxxxxxx> > Cc: Thomas Huth <thuth@xxxxxxxxxx> > Cc: Brian Gerst <brgerst@xxxxxxxxx> > Cc: <kvm@xxxxxxxxxxxxxxx> > Cc: <ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx> > Cc: <platform-driver-x86@xxxxxxxxxxxxxxx> > Cc: <linux-acpi@xxxxxxxxxxxxxxx> > Cc: <linux-trace-kernel@xxxxxxxxxxxxxxx> > Cc: <linux-efi@xxxxxxxxxxxxxxx> > Cc: <linux-mm@xxxxxxxxx> > --- > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c > index e7350c9fa3aa..0518d5b1f4ec 100644 > --- a/drivers/platform/x86/thinkpad_acpi.c > +++ b/drivers/platform/x86/thinkpad_acpi.c > @@ -559,12 +559,12 @@ static unsigned long __init tpacpi_check_quirks( > return 0; > } > > -static inline bool __pure __init tpacpi_is_lenovo(void) > +static __always_inline bool __pure tpacpi_is_lenovo(void) > { > return thinkpad_id.vendor == PCI_VENDOR_ID_LENOVO; > } > > -static inline bool __pure __init tpacpi_is_ibm(void) > +static __always_inline bool __pure tpacpi_is_ibm(void) > { > return thinkpad_id.vendor == PCI_VENDOR_ID_IBM; > } Hi Kees, What's your plan on upstreaming route/timeline for this? I'd prefer to retain full control over this file as we were planning on some reorganization of files into lenovo/ subdir. -- i.