Re: Patch "parisc: fix a possible DMA corruption" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Got it! Thank you!

Thanks,

On 12/2/24 16:59, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.

This is a note to let you know that I've just added the patch titled

     parisc: fix a possible DMA corruption

to the 5.15-stable tree which can be found at:
     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
      parisc-fix-a-possible-dma-corruption.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


From 7ae04ba36b381bffe2471eff3a93edced843240f Mon Sep 17 00:00:00 2001
From: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Date: Sat, 27 Jul 2024 20:22:52 +0200
Subject: parisc: fix a possible DMA corruption

From: Mikulas Patocka <mpatocka@xxxxxxxxxx>

commit 7ae04ba36b381bffe2471eff3a93edced843240f upstream.

ARCH_DMA_MINALIGN was defined as 16 - this is too small - it may be
possible that two unrelated 16-byte allocations share a cache line. If
one of these allocations is written using DMA and the other is written
using cached write, the value that was written with DMA may be
corrupted.

This commit changes ARCH_DMA_MINALIGN to be 128 on PA20 and 32 on PA1.1 -
that's the largest possible cache line size.

As different parisc microarchitectures have different cache line size, we
define arch_slab_minalign(), cache_line_size() and
dma_get_cache_alignment() so that the kernel may tune slab cache
parameters dynamically, based on the detected cache line size.

Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Helge Deller <deller@xxxxxx>
Signed-off-by: Mingli Yu <mingli.yu@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
  arch/parisc/Kconfig             |    1 +
  arch/parisc/include/asm/cache.h |   11 ++++++++++-
  2 files changed, 11 insertions(+), 1 deletion(-)

--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -15,6 +15,7 @@ config PARISC
         select ARCH_SPLIT_ARG64 if !64BIT
         select ARCH_SUPPORTS_HUGETLBFS if PA20
         select ARCH_SUPPORTS_MEMORY_FAILURE
+       select ARCH_HAS_CACHE_LINE_SIZE
         select DMA_OPS
         select RTC_CLASS
         select RTC_DRV_GENERIC
--- a/arch/parisc/include/asm/cache.h
+++ b/arch/parisc/include/asm/cache.h
@@ -20,7 +20,16 @@

  #define SMP_CACHE_BYTES L1_CACHE_BYTES

-#define ARCH_DMA_MINALIGN      L1_CACHE_BYTES
+#ifdef CONFIG_PA20
+#define ARCH_DMA_MINALIGN      128
+#else
+#define ARCH_DMA_MINALIGN      32
+#endif
+#define ARCH_KMALLOC_MINALIGN  16      /* ldcw requires 16-byte alignment */
+
+#define arch_slab_minalign()   ((unsigned)dcache_stride)
+#define cache_line_size()      dcache_stride
+#define dma_get_cache_alignment cache_line_size

  #define __read_mostly __section(".data..read_mostly")



Patches currently in stable-queue which might be from mpatocka@xxxxxxxxxx are

queue-5.15/parisc-fix-a-possible-dma-corruption.patch




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux