Word sized accesses may read uninitialized data when optimizing loads.
Disable this optimization when KMSAN is enabled to prevent false
positives.
Signed-off-by: Nicholas Miehlbradt <[email protected]>
---
arch/powerpc/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 6f105ee4f3cf..e33e3250c478 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -182,7 +182,7 @@ config PPC
select BUILDTIME_TABLE_SORT
select CLONE_BACKWARDS
select CPUMASK_OFFSTACK if NR_CPUS >= 8192
- select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
+ select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN && !KMSAN
select DMA_OPS_BYPASS if PPC64
select DMA_OPS if PPC64
select DYNAMIC_FTRACE if FUNCTION_TRACER
--
2.40.1
Le 14/12/2023 à 06:55, Nicholas Miehlbradt a écrit :
> Word sized accesses may read uninitialized data when optimizing loads.
> Disable this optimization when KMSAN is enabled to prevent false
> positives.
>
> Signed-off-by: Nicholas Miehlbradt <[email protected]>
> ---
> arch/powerpc/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 6f105ee4f3cf..e33e3250c478 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -182,7 +182,7 @@ config PPC
> select BUILDTIME_TABLE_SORT
> select CLONE_BACKWARDS
> select CPUMASK_OFFSTACK if NR_CPUS >= 8192
> - select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN
> + select DCACHE_WORD_ACCESS if PPC64 && CPU_LITTLE_ENDIAN && !KMSAN
> select DMA_OPS_BYPASS if PPC64
> select DMA_OPS if PPC64
> select DYNAMIC_FTRACE if FUNCTION_TRACER
Seems like all archs do this. Maybe a better approach would be to define
a HAVE_DCACHE_WORD_ACCESS that is selected by arches, and then the core
part select DCACHE_WORD_ACCESS when HAVE_DCACHE_WORD_ACCESS && !KMSAN
Christophe