* [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;
as well as URLs for NNTP newsgroup(s).