When checking the VID header of a static volume there is an early test for data_size == 0 so testing for that condition again is guaranteed to fail. Just remove this piece of code.
This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodb...@linaro.org> --- drivers/mtd/ubi/io.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c index 45699b4a477..2ec968c85ff 100644 --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c @@ -936,12 +936,7 @@ static int validate_vid_hdr(const struct ubi_device *ubi, ubi_err(ubi, "bad data_size"); goto bad; } - } else if (lnum == used_ebs - 1) { - if (data_size == 0) { - ubi_err(ubi, "bad data_size at last LEB"); - goto bad; - } - } else { + } else if (lnum != used_ebs - 1) { ubi_err(ubi, "too high lnum"); goto bad; } --- base-commit: f5e968a28e7cdc2c4365f5a382e02f074ee03fac change-id: 20250801-mtd_ubi-9eec6463c48b Best regards, -- Andrew Goodbody <andrew.goodb...@linaro.org>