* [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file()
@ 2024-08-02 1:55 Gao Xiang
2024-08-02 1:55 ` [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() Gao Xiang
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Gao Xiang @ 2024-08-02 1:55 UTC (permalink / raw)
To: linux-erofs; +Cc: Gao Xiang
Ignore the return values as other close()s instead.
Coverity-id: 502331
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
---
fsck/main.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/fsck/main.c b/fsck/main.c
index fb66967..bbef645 100644
--- a/fsck/main.c
+++ b/fsck/main.c
@@ -702,11 +702,9 @@ again:
/* verify data chunk layout */
ret = erofs_verify_inode_data(inode, fd);
+ close(fd);
if (ret)
return ret;
-
- if (close(fd))
- return -errno;
return ret;
}
--
2.43.5
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() 2024-08-02 1:55 [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Gao Xiang @ 2024-08-02 1:55 ` Gao Xiang 2024-08-02 21:19 ` Sandeep Dhavale via Linux-erofs 2024-08-02 1:55 ` [PATCH 3/3] erofs-utils: lib: fix fd leak on failure in erofs_dev_open() Gao Xiang ` (2 subsequent siblings) 3 siblings, 1 reply; 9+ messages in thread From: Gao Xiang @ 2024-08-02 1:55 UTC (permalink / raw) To: linux-erofs; +Cc: Gao Xiang Coverity-id: 502334 Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> --- include/erofs/io.h | 4 ++-- lib/io.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/erofs/io.h b/include/erofs/io.h index f53abed..d9b33d2 100644 --- a/include/erofs/io.h +++ b/include/erofs/io.h @@ -34,7 +34,7 @@ struct erofs_vfops { off_t (*lseek)(struct erofs_vfile *vf, u64 offset, int whence); int (*fstat)(struct erofs_vfile *vf, struct stat *buf); int (*xcopy)(struct erofs_vfile *vout, off_t pos, - struct erofs_vfile *vin, int len, bool noseek); + struct erofs_vfile *vin, unsigned int len, bool noseek); }; /* don't extend this; instead, use payload for any extra information */ @@ -61,7 +61,7 @@ off_t erofs_io_lseek(struct erofs_vfile *vf, u64 offset, int whence); ssize_t erofs_copy_file_range(int fd_in, u64 *off_in, int fd_out, u64 *off_out, size_t length); int erofs_io_xcopy(struct erofs_vfile *vout, off_t pos, - struct erofs_vfile *vin, int len, bool noseek); + struct erofs_vfile *vin, unsigned int len, bool noseek); #ifdef __cplusplus } diff --git a/lib/io.c b/lib/io.c index 9167321..4937db5 100644 --- a/lib/io.c +++ b/lib/io.c @@ -490,7 +490,7 @@ off_t erofs_io_lseek(struct erofs_vfile *vf, u64 offset, int whence) } int erofs_io_xcopy(struct erofs_vfile *vout, off_t pos, - struct erofs_vfile *vin, int len, bool noseek) + struct erofs_vfile *vin, unsigned int len, bool noseek) { if (vout->ops) return vout->ops->xcopy(vout, pos, vin, len, noseek); @@ -519,7 +519,7 @@ int erofs_io_xcopy(struct erofs_vfile *vout, off_t pos, do { char buf[32768]; - int ret = min_t(int, len, sizeof(buf)); + int ret = min_t(unsigned int, len, sizeof(buf)); ret = erofs_io_read(vin, buf, ret); if (ret < 0) -- 2.43.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() 2024-08-02 1:55 ` [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() Gao Xiang @ 2024-08-02 21:19 ` Sandeep Dhavale via Linux-erofs 0 siblings, 0 replies; 9+ messages in thread From: Sandeep Dhavale via Linux-erofs @ 2024-08-02 21:19 UTC (permalink / raw) To: Gao Xiang; +Cc: linux-erofs Reviewed-by: Sandeep Dhavale <dhavale@google.com> Thanks, Sandeep. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] erofs-utils: lib: fix fd leak on failure in erofs_dev_open() 2024-08-02 1:55 [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Gao Xiang 2024-08-02 1:55 ` [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() Gao Xiang @ 2024-08-02 1:55 ` Gao Xiang 2024-08-02 21:21 ` Sandeep Dhavale via Linux-erofs 2024-08-02 6:23 ` [PATCH 4/3] erofs-utils: lib: fix potential memory leak in erofs_export_xattr_ibody() Gao Xiang 2024-08-02 21:17 ` [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Sandeep Dhavale via Linux-erofs 3 siblings, 1 reply; 9+ messages in thread From: Gao Xiang @ 2024-08-02 1:55 UTC (permalink / raw) To: linux-erofs; +Cc: Gao Xiang Coverity-id: 502356 Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> --- lib/io.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/io.c b/lib/io.c index 4937db5..6bfae69 100644 --- a/lib/io.c +++ b/lib/io.c @@ -258,8 +258,10 @@ repeat: #if defined(HAVE_SYS_STATFS_H) && defined(HAVE_FSTATFS) struct statfs stfs; - if (again) + if (again) { + close(fd); return -ENOTEMPTY; + } /* * fses like EXT4 and BTRFS will flush dirty blocks -- 2.43.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] erofs-utils: lib: fix fd leak on failure in erofs_dev_open() 2024-08-02 1:55 ` [PATCH 3/3] erofs-utils: lib: fix fd leak on failure in erofs_dev_open() Gao Xiang @ 2024-08-02 21:21 ` Sandeep Dhavale via Linux-erofs 0 siblings, 0 replies; 9+ messages in thread From: Sandeep Dhavale via Linux-erofs @ 2024-08-02 21:21 UTC (permalink / raw) To: Gao Xiang; +Cc: linux-erofs Reviewed-by: Sandeep Dhavale <dhavale@google.com> Thanks, Sandeep. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 4/3] erofs-utils: lib: fix potential memory leak in erofs_export_xattr_ibody() 2024-08-02 1:55 [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Gao Xiang 2024-08-02 1:55 ` [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() Gao Xiang 2024-08-02 1:55 ` [PATCH 3/3] erofs-utils: lib: fix fd leak on failure in erofs_dev_open() Gao Xiang @ 2024-08-02 6:23 ` Gao Xiang 2024-08-02 21:22 ` Sandeep Dhavale via Linux-erofs 2024-08-02 21:17 ` [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Sandeep Dhavale via Linux-erofs 3 siblings, 1 reply; 9+ messages in thread From: Gao Xiang @ 2024-08-02 6:23 UTC (permalink / raw) To: linux-erofs; +Cc: Gao Xiang Although it won't happen in reality except for bugs. Fixes: 8f93c2f83962 ("erofs-utils: mkfs: support inline xattr reservation for rootdirs") Coverity-id: 507395 Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> --- lib/xattr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/xattr.c b/lib/xattr.c index f860f2e..651657f 100644 --- a/lib/xattr.c +++ b/lib/xattr.c @@ -1020,6 +1020,7 @@ char *erofs_export_xattr_ibody(struct erofs_inode *inode) memset(buf + p, 0, size - p); } else if (__erofs_unlikely(p > size)) { DBG_BUGON(1); + free(buf); return ERR_PTR(-EFAULT); } return buf; -- 2.43.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 4/3] erofs-utils: lib: fix potential memory leak in erofs_export_xattr_ibody() 2024-08-02 6:23 ` [PATCH 4/3] erofs-utils: lib: fix potential memory leak in erofs_export_xattr_ibody() Gao Xiang @ 2024-08-02 21:22 ` Sandeep Dhavale via Linux-erofs 0 siblings, 0 replies; 9+ messages in thread From: Sandeep Dhavale via Linux-erofs @ 2024-08-02 21:22 UTC (permalink / raw) To: Gao Xiang; +Cc: linux-erofs Reviewed-by: Sandeep Dhavale <dhavale@google.com> Thanks, Sandeep. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() 2024-08-02 1:55 [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Gao Xiang ` (2 preceding siblings ...) 2024-08-02 6:23 ` [PATCH 4/3] erofs-utils: lib: fix potential memory leak in erofs_export_xattr_ibody() Gao Xiang @ 2024-08-02 21:17 ` Sandeep Dhavale via Linux-erofs 2024-08-04 1:47 ` Gao Xiang 3 siblings, 1 reply; 9+ messages in thread From: Sandeep Dhavale via Linux-erofs @ 2024-08-02 21:17 UTC (permalink / raw) To: Gao Xiang; +Cc: linux-erofs Hi Gao, On Thu, Aug 1, 2024 at 6:55 PM Gao Xiang <hsiangkao@linux.alibaba.com> wrote: > > Ignore the return values as other close()s instead. > > Coverity-id: 502331 > Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> > --- > fsck/main.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/fsck/main.c b/fsck/main.c > index fb66967..bbef645 100644 > --- a/fsck/main.c > +++ b/fsck/main.c > @@ -702,11 +702,9 @@ again: > > /* verify data chunk layout */ > ret = erofs_verify_inode_data(inode, fd); > + close(fd); > if (ret) > return ret; I think we can get rid of this if block and should be just return ret; > - > - if (close(fd)) > - return -errno; > return ret; > } > > -- > 2.43.5 > You can just do that while applying, Reviewed-by: Sandeep Dhavale <dhavale@google.com> Thanks, Sandeep. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() 2024-08-02 21:17 ` [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Sandeep Dhavale via Linux-erofs @ 2024-08-04 1:47 ` Gao Xiang 0 siblings, 0 replies; 9+ messages in thread From: Gao Xiang @ 2024-08-04 1:47 UTC (permalink / raw) To: Sandeep Dhavale; +Cc: Gao Xiang, linux-erofs On Fri, Aug 02, 2024 at 02:17:12PM -0700, Sandeep Dhavale via Linux-erofs wrote: > Hi Gao, > > On Thu, Aug 1, 2024 at 6:55 PM Gao Xiang <hsiangkao@linux.alibaba.com> wrote: > > > > Ignore the return values as other close()s instead. > > > > Coverity-id: 502331 > > Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> > > --- > > fsck/main.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/fsck/main.c b/fsck/main.c > > index fb66967..bbef645 100644 > > --- a/fsck/main.c > > +++ b/fsck/main.c > > @@ -702,11 +702,9 @@ again: > > > > /* verify data chunk layout */ > > ret = erofs_verify_inode_data(inode, fd); > > + close(fd); > > if (ret) > > return ret; > I think we can get rid of this if block and should be just > return ret; Yeah, agreed, let me revise that. > > - > > - if (close(fd)) > > - return -errno; > > return ret; > > } > > > > -- > > 2.43.5 > > > You can just do that while applying, > > Reviewed-by: Sandeep Dhavale <dhavale@google.com> > Thanks for your review! Thanks, Gao Xiang > Thanks, > Sandeep. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-08-04 1:48 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-08-02 1:55 [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Gao Xiang 2024-08-02 1:55 ` [PATCH 2/3] erofs-utils: lib: fix out-of-bounds in erofs_io_xcopy() Gao Xiang 2024-08-02 21:19 ` Sandeep Dhavale via Linux-erofs 2024-08-02 1:55 ` [PATCH 3/3] erofs-utils: lib: fix fd leak on failure in erofs_dev_open() Gao Xiang 2024-08-02 21:21 ` Sandeep Dhavale via Linux-erofs 2024-08-02 6:23 ` [PATCH 4/3] erofs-utils: lib: fix potential memory leak in erofs_export_xattr_ibody() Gao Xiang 2024-08-02 21:22 ` Sandeep Dhavale via Linux-erofs 2024-08-02 21:17 ` [PATCH 1/3] erofs-utils: fsck: fix fd leak on failure in erofs_extract_file() Sandeep Dhavale via Linux-erofs 2024-08-04 1:47 ` Gao Xiang
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.