]> git.sur5r.net Git - u-boot/blobdiff - common/spl/spl_ext.c
ext4: Allow reading files with non-zero offset, clamp read len
[u-boot] / common / spl / spl_ext.c
index b93e1eacd3033bc10f3c528791a43153b1151e79..1b8e15e37d6af1e0b06767a9780cf602c02a4ca9 100644 (file)
@@ -42,7 +42,7 @@ int spl_load_image_ext(struct spl_image_info *spl_image,
                puts("spl: ext4fs_open failed\n");
                goto end;
        }
-       err = ext4fs_read((char *)header, sizeof(struct image_header), &actlen);
+       err = ext4fs_read((char *)header, 0, sizeof(struct image_header), &actlen);
        if (err < 0) {
                puts("spl: ext4fs_read failed\n");
                goto end;
@@ -54,7 +54,7 @@ int spl_load_image_ext(struct spl_image_info *spl_image,
                goto end;
        }
 
-       err = ext4fs_read((char *)spl_image->load_addr, filelen, &actlen);
+       err = ext4fs_read((char *)spl_image->load_addr, 0, filelen, &actlen);
 
 end:
 #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
@@ -97,7 +97,7 @@ int spl_load_image_ext_os(struct spl_image_info *spl_image,
                        puts("spl: ext4fs_open failed\n");
                        goto defaults;
                }
-               err = ext4fs_read((void *)CONFIG_SYS_SPL_ARGS_ADDR, filelen, &actlen);
+               err = ext4fs_read((void *)CONFIG_SYS_SPL_ARGS_ADDR, 0, filelen, &actlen);
                if (err < 0) {
                        printf("spl: error reading image %s, err - %d, falling back to default\n",
                               file, err);
@@ -127,7 +127,7 @@ defaults:
        if (err < 0)
                puts("spl: ext4fs_open failed\n");
 
-       err = ext4fs_read((void *)CONFIG_SYS_SPL_ARGS_ADDR, filelen, &actlen);
+       err = ext4fs_read((void *)CONFIG_SYS_SPL_ARGS_ADDR, 0, filelen, &actlen);
        if (err < 0) {
 #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
                printf("%s: error reading image %s, err - %d\n",