On Mon, Nov 30, 2020 at 11:39:00AM -0800, 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); > > However, e820__mapped_all accepts enum e820_type as the last > argument and this type mismatch trips indirect call checking with > Clang's Control-Flow Integrity (CFI). > > As is_mmconf_reserved only passes enum e820_type values for the > type argument, change the typedef and the unused type argument in > is_acpi_reserved to enum e820_type to fix the type mismatch. > > Reported-by: Sedat Dilek <[email protected]> > Suggested-by: Borislav Petkov <[email protected]> > Signed-off-by: Sami Tolvanen <[email protected]>
Reviewed-by: Kees Cook <[email protected]> -- Kees Cook

