The return value of write_sparse_chunk_raw is unsigned, so the existing check has no effect. Use IS_ERR_VALUE to detect error instead, which is what write_sparse_chunk_raw does itself.
Fixes: 62649165cb0 ("lib: sparse: Make CHUNK_TYPE_RAW buffer aligned") Reported-by: Dan Carpenter <dan.carpen...@linaro.org> Link: https://lore.kernel.org/u-boot/1b323ec3-59b0-490b-a2f0-fd961dafcf49@moroto.mountain/ Signed-off-by: Sean Anderson <sean.ander...@seco.com> --- lib/image-sparse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/image-sparse.c b/lib/image-sparse.c index f8289064692..09225692e9b 100644 --- a/lib/image-sparse.c +++ b/lib/image-sparse.c @@ -211,7 +211,7 @@ int write_sparse_image(struct sparse_storage *info, blks = write_sparse_chunk_raw(info, blk, blkcnt, data, response); - if (blks < 0) + if (IS_ERR_VALUE(blks)) return -1; blk += blks; -- 2.35.1.1320.gc452695387.dirty