summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolai Artemiev <nartemiev@google.com>2022-01-11 18:26:48 +1100
committerFelix Singer <felixsinger@posteo.net>2022-09-29 17:03:18 +0000
commitcae8c739562b2756f71f2ae3cd317ac842f9fe36 (patch)
treef0c49ccbc46177a038eef54bbf6af7749e79000e
parent48a629e59d6cd51472500c67862fb58e8b9149bc (diff)
downloadflashrom-cae8c739562b2756f71f2ae3cd317ac842f9fe36.tar.gz
flashrom-cae8c739562b2756f71f2ae3cd317ac842f9fe36.tar.bz2
flashrom-cae8c739562b2756f71f2ae3cd317ac842f9fe36.zip
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/+/67857 Reviewed-by: Felix Singer <felixsinger@posteo.net>
-rw-r--r--linux_mtd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/linux_mtd.c b/linux_mtd.c
index 75dce1f61..7052e5d7e 100644
--- a/linux_mtd.c
+++ b/linux_mtd.c
@@ -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;
}
}