util/nvmutil: stricter rw_gbe_file_exact

we repeat these stteps later, but it's still good
to be exact here. these lower functions can
change.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-03-15 00:23:23 +00:00
parent 210f17b9d7
commit 66a9166004
+6 -3
View File
@@ -1817,9 +1817,10 @@ rw_gbe_file_exact(int fd, u8 *mem, size_t nrw,
{ {
size_t mem_addr; size_t mem_addr;
size_t buf_addr; size_t buf_addr;
ssize_t r;
if (mem == NULL) if (io_args(fd, mem, nrw, off, rw_type) == -1)
goto err_rw_gbe_file_exact; return -1;
mem_addr = (size_t)(void *)mem; mem_addr = (size_t)(void *)mem;
buf_addr = (size_t)(void *)buf; buf_addr = (size_t)(void *)buf;
@@ -1841,10 +1842,12 @@ rw_gbe_file_exact(int fd, u8 *mem, size_t nrw,
if (nrw > (size_t)GBE_PART_SIZE) if (nrw > (size_t)GBE_PART_SIZE)
goto err_rw_gbe_file_exact; goto err_rw_gbe_file_exact;
return rw_file_exact(fd, mem, nrw, off, rw_type, r = rw_file_exact(fd, mem, nrw, off, rw_type,
NO_LOOP_EAGAIN, LOOP_EINTR, MAX_ZERO_RW_RETRY, NO_LOOP_EAGAIN, LOOP_EINTR, MAX_ZERO_RW_RETRY,
OFF_ERR); OFF_ERR);
return rw_over_nrw(r, nrw);
err_rw_gbe_file_exact: err_rw_gbe_file_exact:
errno = EIO; errno = EIO;
return -1; return -1;