On 11/13/20 10:26 AM, Sami Tolvanen wrote: > e820__mapped_all is passed as a callback to is_mmconf_reserved, which > expects a function of type: > > typedef bool (*check_reserved_t)(u64 start, u64 end, unsigned type); > > This trips indirect call checking with Clang's Control-Flow Integrity > (CFI). Change the last argument from enum e820_type to unsigned to fix > the type mismatch.
Hi, Kernel style is no raw unsigned -- use unsigned int or unsigned long, please. checkpatch should or could have found that issue. > Reported-by: Sedat Dilek <sedat.di...@gmail.com> > Signed-off-by: Sami Tolvanen <samitolva...@google.com> > --- > arch/x86/include/asm/e820/api.h | 2 +- > arch/x86/kernel/e820.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/include/asm/e820/api.h b/arch/x86/include/asm/e820/api.h > index e8f58ddd06d9..e872a796619d 100644 > --- a/arch/x86/include/asm/e820/api.h > +++ b/arch/x86/include/asm/e820/api.h > @@ -12,7 +12,7 @@ extern unsigned long pci_mem_start; > > extern bool e820__mapped_raw_any(u64 start, u64 end, enum e820_type type); > extern bool e820__mapped_any(u64 start, u64 end, enum e820_type type); > -extern bool e820__mapped_all(u64 start, u64 end, enum e820_type type); > +extern bool e820__mapped_all(u64 start, u64 end, unsigned type); > > extern void e820__range_add (u64 start, u64 size, enum e820_type type); > extern u64 e820__range_update(u64 start, u64 size, enum e820_type old_type, > enum e820_type new_type); > diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c > index 22aad412f965..9f6a4e9bca4c 100644 > --- a/arch/x86/kernel/e820.c > +++ b/arch/x86/kernel/e820.c > @@ -145,7 +145,7 @@ static struct e820_entry *__e820__mapped_all(u64 start, > u64 end, > /* > * This function checks if the entire range <start,end> is mapped with type. > */ > -bool __init e820__mapped_all(u64 start, u64 end, enum e820_type type) > +bool __init e820__mapped_all(u64 start, u64 end, unsigned type) > { > return __e820__mapped_all(start, end, type); > } > > base-commit: 585e5b17b92dead8a3aca4e3c9876fbca5f7e0ba > -- ~Randy