]> git.dujemihanovic.xyz Git - u-boot.git/commit
boot: extlinux: Fix unaligned buffer for reading data from file system
authorNam Cao <namcao@linutronix.de>
Thu, 7 Nov 2024 15:01:05 +0000 (16:01 +0100)
committerTom Rini <trini@konsulko.com>
Mon, 18 Nov 2024 14:23:56 +0000 (08:23 -0600)
commit5efd63c93c4546978c6a3a8e83c61011721b73b6
treefeedea62e36f6fba66909d11cd5e9e33ad2b8471
parenta38390284ad4261723d3a2411ba988828e994535
boot: extlinux: Fix unaligned buffer for reading data from file system

extlinux_read_bootflow() allocates a buffer to read from file system
without any alignment.

But for some block devices which transfer data via DMA, ARCH_DMA_MINALIGN
alignment is required. For example, due to misaligned buffer, the below
boot failure is observed.

=> boot
CACHE: Misaligned operation at range [9efa25f89efa27f8]
CACHE: Misaligned operation at range [9efa25f89efa27f8]
CACHE: Misaligned operation at range [9efa25f89efa27f8]
CACHE: Misaligned operation at range [9efa25f89efa27f8]
** Booting bootflow 'mmc@2194000.bootdev.part_1' with extlinux
Ignoring unknown command: �D���D��
Boot failed (err=-14)

Change the buffer alignment to ARCH_DMA_MINALIGN.

Fixes: 31aefaf89a5b ("bootstd: Add an implementation of distro boot")
Signed-off-by: Nam Cao <namcao@linutronix.de>
Tested-by: Javier Fernandez Pastrana <javier.pastrana@linutronix.de>
boot/bootmeth_extlinux.c