summaryrefslogtreecommitdiff
path: root/common/spl/spl_ext.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/spl/spl_ext.c')
-rw-r--r--common/spl/spl_ext.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/common/spl/spl_ext.c b/common/spl/spl_ext.c
index c5478820a9b..7e0274a3058 100644
--- a/common/spl/spl_ext.c
+++ b/common/spl/spl_ext.c
@@ -11,12 +11,20 @@
static ulong spl_fit_read(struct spl_load_info *load, ulong file_offset,
ulong size, void *buf)
{
+ struct legacy_img_hdr *header;
int ret;
loff_t actlen;
ret = ext4fs_read(buf, file_offset, size, &actlen);
if (ret)
return ret;
+
+ if (CONFIG_IS_ENABLED(OS_BOOT)) {
+ header = (struct legacy_img_hdr *)buf;
+ if (image_get_magic(header) != FDT_MAGIC)
+ return size;
+ }
+
return actlen;
}