From: Jan Kiszka Date: Wed, 25 Mar 2020 20:27:51 +0000 (+0100) Subject: fs: ext4: Fix alignment of cache buffers X-Git-Tag: v2020.04-rc4~3^2~2 X-Git-Url: https://git.librecmc.org/?p=oweals%2Fu-boot.git;a=commitdiff_plain;h=7b83060b1eab4456b3dfaef636dfd5c0ff705b17 fs: ext4: Fix alignment of cache buffers We need to align the cache buffer to ARCH_DMA_MINALIGN in order to avoid access errors like CACHE: Misaligned operation at range [be0231e0, be0235e0] seen on the MCIMX7SABRE. Fixes: d5aee659f217 ("fs: ext4: cache extent data") Signed-off-by: Jan Kiszka Reviewed-by: Tom Rini Reviewed-by: Stephen Warren Tested-by: Peter Robinson --- diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c index 1c616a26a2..966b427a97 100644 --- a/fs/ext4/ext4fs.c +++ b/fs/ext4/ext4fs.c @@ -288,7 +288,7 @@ int ext_cache_read(struct ext_block_cache *cache, lbaint_t block, int size) if (cache->buf && cache->block == block && cache->size == size) return 1; ext_cache_fini(cache); - cache->buf = malloc(size); + cache->buf = memalign(ARCH_DMA_MINALIGN, size); if (!cache->buf) return 0; if (!ext4fs_devread(block, 0, size, cache->buf)) {