diff options
author | Nikolai Artemiev <nartemiev@google.com> | 2022-01-11 18:26:48 +1100 |
---|---|---|
committer | Felix Singer <felixsinger@posteo.net> | 2022-09-29 17:06:03 +0000 |
commit | 04fce478cb9aba339439d1955c3355a075445ec1 (patch) | |
tree | 8c6342749297f623f282aea64c84082dbb8835e2 | |
parent | 96cc5d3ea84e7e7e3a6029cf728cef061ccae45f (diff) | |
download | flashrom-04fce478cb9aba339439d1955c3355a075445ec1.tar.gz flashrom-04fce478cb9aba339439d1955c3355a075445ec1.tar.bz2 flashrom-04fce478cb9aba339439d1955c3355a075445ec1.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/+/67874
Reviewed-by: Felix Singer <felixsinger@posteo.net>
-rw-r--r-- | linux_mtd.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/linux_mtd.c b/linux_mtd.c index 22702e904..316c8eddf 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; } } |