diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index 6ed08bdb0a69..a69a8da3aeeb 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -997,8 +997,9 @@ kobj_read_file(struct _buf *file, char *buf, unsigned size, unsigned off) { ssize_t resid; - vn_rdwr(UIO_READ, (vnode_t *)file->_fd, buf, size, (offset_t)off, - UIO_SYSSPACE, 0, 0, 0, &resid); + if (vn_rdwr(UIO_READ, (vnode_t *)file->_fd, buf, size, (offset_t)off, + UIO_SYSSPACE, 0, 0, 0, &resid) != 0) + return (-1); return (size - resid); }