1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

linux_mtd: check ioctl() return value properly

Make the linux_mtd driver treat any negative return value from the
MEMERASE ioctl as an error. Previously it only treated -1 as an error.

BUG=b:213561594,b:210973586,b:182223106
BRANCH=none
TEST=builds

Change-Id: I40cfbdee2ab608fbe6c17d9cac6ec53ff224d9a4
Signed-off-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/60996
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/67874
Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
Nikolai Artemiev 2022-01-11 18:26:48 +11:00 committed by Felix Singer
parent 96cc5d3ea8
commit 04fce478cb

View File

@ -280,9 +280,11 @@ static int linux_mtd_erase(struct flashctx *flash,
.length = mtd_erasesize,
};
if (ioctl(fileno(dev_fp), MEMERASE, &erase_info) == -1) {
msg_perr("%s: ioctl: %s\n", __func__, strerror(errno));
return 1;
int ret = ioctl(fileno(dev_fp), MEMERASE, &erase_info);
if (ret < 0) {
msg_perr("%s: MEMERASE ioctl call returned %d, error: %s\n",
__func__, ret, strerror(errno));
return 1;
}
}