u-boot/fs
Benoît Thébaudeau 8133f43d1c fs/fat/fat_write: Fix buffer alignments
set_cluster() was using a temporary buffer without enforcing its
alignment for DMA and cache. Moreover, it did not check the alignment of
the passed buffer, which can come directly from applicative code or from
the user.

This could cause random data corruption, which has been observed on
i.MX25 writing to an SD card.

Fix this by only passing ARCH_DMA_MINALIGN-aligned buffers to
disk_write(), which requires the introduction of a buffer bouncing
mechanism for the misaligned buffers passed to set_cluster().

By the way, improve the handling of the corresponding return values from
disk_write():
 - print them with debug() in case of error,
 - consider that there is an error is disk_write() returns a smaller
   block count than the requested one, not only if its return value is
   negative.

After this change, set_cluster() and get_cluster() are almost
symmetrical.

Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
2015-10-11 17:12:07 -04:00
..
cbfs fs: descend into sub directories when it is necessary 2013-11-17 14:11:34 -05:00
cramfs kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
ext4 fs: ext4: fix symlink read function 2015-09-11 17:15:29 -04:00
fat fs/fat/fat_write: Fix buffer alignments 2015-10-11 17:12:07 -04:00
jffs2 JFFS2: Use merge sort when parsing filesystem 2015-08-12 20:47:32 -04:00
reiserfs kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
sandbox sandbox: only do sandboxfs for hostfs interface 2015-04-19 14:45:56 -06:00
ubifs Move malloc_cache_aligned() to its own header 2015-09-11 17:15:16 -04:00
yaffs2 lib, linux: move linux specific defines to linux/compat.h 2014-08-25 19:25:03 -04:00
zfs ZFS: Clean up cppcheck warnings where relevant, leaked memory etc 2014-11-10 16:25:27 -05:00
fs.c fs/fs.c: read up to EOF when len would read past EOF 2015-08-13 07:19:35 -04:00
Kconfig kconfig: add blank Kconfig files 2014-09-24 18:30:28 -04:00
Makefile spl: Add EXT support to SPL 2014-10-27 17:54:03 -04:00