* [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t @ 2020-11-14 0:23 Sami Tolvanen 2020-11-14 0:23 ` [PATCH v2 2/2] x86/e820: fix the function type for e820__mapped_all Sami Tolvanen 2020-11-14 1:19 ` [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t Randy Dunlap 0 siblings, 2 replies; 4+ messages in thread From: Sami Tolvanen @ 2020-11-14 0:23 UTC (permalink / raw) To: Thomas Gleixner, Ingo Molnar, Borislav Petkov Cc: Randy Dunlap, Kees Cook, x86, linux-kernel, Sami Tolvanen Use unsigned int instead of raw unsigned in check_reserved_t to follow the kernel's style guidelines. Signed-off-by: Sami Tolvanen <samitolvanen@google.com> --- arch/x86/pci/mmconfig-shared.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 6fa42e9c4e6f..37f31dd7005a 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c @@ -425,7 +425,7 @@ static acpi_status find_mboard_resource(acpi_handle handle, u32 lvl, return AE_OK; } -static bool is_acpi_reserved(u64 start, u64 end, unsigned not_used) +static bool is_acpi_reserved(u64 start, u64 end, unsigned int not_used) { struct resource mcfg_res; @@ -442,7 +442,7 @@ static bool is_acpi_reserved(u64 start, u64 end, unsigned not_used) return mcfg_res.flags; } -typedef bool (*check_reserved_t)(u64 start, u64 end, unsigned type); +typedef bool (*check_reserved_t)(u64 start, u64 end, unsigned int type); static bool __ref is_mmconf_reserved(check_reserved_t is_reserved, struct pci_mmcfg_region *cfg, base-commit: 9e6a39eae450b81c8b2c8cbbfbdf8218e9b40c81 -- 2.29.2.299.gdc1121823c-goog ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] x86/e820: fix the function type for e820__mapped_all 2020-11-14 0:23 [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t Sami Tolvanen @ 2020-11-14 0:23 ` Sami Tolvanen 2020-11-14 1:19 ` Randy Dunlap 2020-11-14 1:19 ` [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t Randy Dunlap 1 sibling, 1 reply; 4+ messages in thread From: Sami Tolvanen @ 2020-11-14 0:23 UTC (permalink / raw) To: Thomas Gleixner, Ingo Molnar, Borislav Petkov Cc: Randy Dunlap, Kees Cook, x86, linux-kernel, Sami Tolvanen, Sedat Dilek 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 int 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. Reported-by: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: Sami Tolvanen <samitolvanen@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..a122ca2784b2 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 int 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..24b82ff53513 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 int type) { return __e820__mapped_all(start, end, type); } -- 2.29.2.299.gdc1121823c-goog ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] x86/e820: fix the function type for e820__mapped_all 2020-11-14 0:23 ` [PATCH v2 2/2] x86/e820: fix the function type for e820__mapped_all Sami Tolvanen @ 2020-11-14 1:19 ` Randy Dunlap 0 siblings, 0 replies; 4+ messages in thread From: Randy Dunlap @ 2020-11-14 1:19 UTC (permalink / raw) To: Sami Tolvanen, Thomas Gleixner, Ingo Molnar, Borislav Petkov Cc: Kees Cook, x86, linux-kernel, Sedat Dilek On 11/13/20 4:23 PM, 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 int 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. > > Reported-by: Sedat Dilek <sedat.dilek@gmail.com> > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Thanks. > --- > 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..a122ca2784b2 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 int 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..24b82ff53513 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 int type) > { > return __e820__mapped_all(start, end, type); > } > -- ~Randy ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t 2020-11-14 0:23 [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t Sami Tolvanen 2020-11-14 0:23 ` [PATCH v2 2/2] x86/e820: fix the function type for e820__mapped_all Sami Tolvanen @ 2020-11-14 1:19 ` Randy Dunlap 1 sibling, 0 replies; 4+ messages in thread From: Randy Dunlap @ 2020-11-14 1:19 UTC (permalink / raw) To: Sami Tolvanen, Thomas Gleixner, Ingo Molnar, Borislav Petkov Cc: Kees Cook, x86, linux-kernel On 11/13/20 4:23 PM, Sami Tolvanen wrote: > Use unsigned int instead of raw unsigned in check_reserved_t to follow > the kernel's style guidelines. > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Thanks. > --- > arch/x86/pci/mmconfig-shared.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c > index 6fa42e9c4e6f..37f31dd7005a 100644 > --- a/arch/x86/pci/mmconfig-shared.c > +++ b/arch/x86/pci/mmconfig-shared.c > @@ -425,7 +425,7 @@ static acpi_status find_mboard_resource(acpi_handle handle, u32 lvl, > return AE_OK; > } > > -static bool is_acpi_reserved(u64 start, u64 end, unsigned not_used) > +static bool is_acpi_reserved(u64 start, u64 end, unsigned int not_used) > { > struct resource mcfg_res; > > @@ -442,7 +442,7 @@ static bool is_acpi_reserved(u64 start, u64 end, unsigned not_used) > return mcfg_res.flags; > } > > -typedef bool (*check_reserved_t)(u64 start, u64 end, unsigned type); > +typedef bool (*check_reserved_t)(u64 start, u64 end, unsigned int type); > > static bool __ref is_mmconf_reserved(check_reserved_t is_reserved, > struct pci_mmcfg_region *cfg, > > base-commit: 9e6a39eae450b81c8b2c8cbbfbdf8218e9b40c81 > -- ~Randy ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-11-14 1:20 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-11-14 0:23 [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t Sami Tolvanen 2020-11-14 0:23 ` [PATCH v2 2/2] x86/e820: fix the function type for e820__mapped_all Sami Tolvanen 2020-11-14 1:19 ` Randy Dunlap 2020-11-14 1:19 ` [PATCH v2 1/2] x86/pci: use unsigned int in check_reserved_t Randy Dunlap
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox