mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-20 05:36:23 +02:00
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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user