[PATCH] arm64: cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES)

Marek Szyprowski m.szyprowski at samsung.com
Wed Jun 2 07:15:27 PDT 2021


Hi Arnd,

On 02.06.2021 16:11, Arnd Bergmann wrote:
> On Wed, Jun 2, 2021 at 3:51 PM Mark Rutland <mark.rutland at arm.com> wrote:
>> On Wed, Jun 02, 2021 at 03:25:41PM +0200, Marek Szyprowski wrote:
>>> On 27.05.2021 14:43, Will Deacon wrote:
>>> This patch landed in todays linux-next as commit 65688d2a05de ("arm64:
>>> cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES)"). It causes an
>>> issue on Raspberry Pi 3b board. System boots to userspace fine, but then
>>> it hangs somewhere during the init scripts after loading the modules. I
>>> didn't manage to track where it hangs yet though.
>> Ouch!
>>
>> I have a 3b in a drawer that I might be able to reproduce the issue
>> with; can you tell me how you're booting that kernel? e.g. which FW and
>> DT you're using?
>>
>> Is your filesystem on the SD card, or some USB storage? I'm guessing
>> we'll need to stress DMA over one of those.
> It could be something other than DMA in this case, possibly an out-of-bounds
> access into a dynamically allocated structure that happens to work when there
> is extra data at the end of it. Running that kernel with KASAN should help
> rule this out.

Okay, I will enable KASAN and give it a try.

> Running the same kernel on a Pi 4, or on a virtual machine could also help
> figure out if there is something hardware specific.

Exactly the same kernel binary boots fine on RPi4, virt (qemu) and a few 
other arm64 boards I have on my test farm.

Best regards

-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




More information about the linux-arm-kernel mailing list