mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-17 10:18:38 +00:00
dae9aeda45
There are some cases where decompressed sectors can have padding zeros.
In kernel code, we have lines to address such situation:
/*
* btrfs_getblock is doing a zero on the tail of the page too,
* but this will cover anything missing from the decompressed
* data.
*/
if (bytes < destlen)
memset(kaddr+bytes, 0, destlen-bytes);
kunmap_local(kaddr);
But not in U-boot code, thus we have some reports of U-boot failed to
read compressed files in btrfs.
Fix it by doing the same thing of the kernel, for both inline and
regular compressed extents.
Reported-by: Matwey Kornilov <matwey.kornilov@gmail.com>
Link: https://bugzilla.suse.com/show_bug.cgi?id=1183717
Fixes:
|
||
---|---|---|
.. | ||
common | ||
crypto | ||
kernel-shared | ||
btrfs.c | ||
btrfs.h | ||
compat.h | ||
compression.c | ||
conv-funcs.h | ||
ctree.c | ||
ctree.h | ||
dev.c | ||
dir-item.c | ||
disk-io.c | ||
disk-io.h | ||
extent-cache.c | ||
extent-cache.h | ||
extent-io.c | ||
extent-io.h | ||
inode.c | ||
Kconfig | ||
Makefile | ||
root-tree.c | ||
subvolume.c | ||
volumes.c | ||
volumes.h |