hfs/hfsplus: use WARN_ON for sanity check
Subsystems (3)
PATCH 1/1 hfs/hfsplus: use WARN_ON for sanity check
From: Arnd Bergmann <[email protected]>
gcc warns about a couple of instances in which a sanity check exists but the author wasn't sure how to react to it failing, which makes it look like a possible bug:
fs/hfsplus/inode.c: In function 'hfsplus_cat_read_inode':fs/hfsplus/inode.c:503:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
503 | /* panic? */;
| ^fs/hfsplus/inode.c:524:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
524 | /* panic? */;
| ^fs/hfsplus/inode.c: In function 'hfsplus_cat_write_inode':fs/hfsplus/inode.c:582:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
582 | /* panic? */;
| ^fs/hfsplus/inode.c:608:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
608 | /* panic? */;
| ^fs/hfs/inode.c: In function 'hfs_write_inode':fs/hfs/inode.c:464:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
464 | /* panic? */;
| ^fs/hfs/inode.c:485:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
485 | /* panic? */;
| ^
panic() is probably not the correct choice here, but a WARN_ON seems appropriate and avoids the compile-time warning.
--- fs/hfs/inode.c | 6 ++---- fs/hfsplus/inode.c | 12 ++++-------- 2 files changed, 6 insertions(+), 12 deletions(-)
fs/hfs/inode.c +2 -4
@@ -460,8 +460,7 @@ int hfs_write_inode(struct inode *inode, struct writeback_control *wbc) goto out;if (S_ISDIR (main_inode->i_mode)) { -if (fd.entrylength <sizeof (struct hfs_cat_dir )) -/* panic? */ ; +WARN_ON (fd.entrylength <sizeof (struct hfs_cat_dir ));hfs_bnode_read (fd.bnode, &rec, fd.entryoffset,sizeof (struct hfs_cat_dir )); if (rec.type != HFS_CDR_DIR ||
@@ -481,8 +480,7 @@ int hfs_write_inode(struct inode *inode, struct writeback_control *wbc)hfs_bnode_write (fd.bnode, &rec, fd.entryoffset,sizeof (struct hfs_cat_file )); }else { -if (fd.entrylength <sizeof (struct hfs_cat_file )) -/* panic? */ ; +WARN_ON (fd.entrylength <sizeof (struct hfs_cat_file ));hfs_bnode_read (fd.bnode, &rec, fd.entryoffset,sizeof (struct hfs_cat_file )); if (rec.type != HFS_CDR_FIL ||
fs/hfsplus/inode.c +4 -8
@@ -499,8 +499,7 @@ int hfsplus_cat_read_inode(struct inode *inode, struct hfs_find_data *fd)if (type ==HFSPLUS_FOLDER ) {struct hfsplus_cat_folder *folder = &entry.folder; -if (fd->entrylength <sizeof (struct hfsplus_cat_folder )) -/* panic? */ ; +WARN_ON (fd->entrylength <sizeof (struct hfsplus_cat_folder ));hfs_bnode_read (fd->bnode, &entry, fd->entryoffset,sizeof (struct hfsplus_cat_folder ));hfsplus_get_perms (inode, &folder->permissions,1 );
@@ -520,8 +519,7 @@ int hfsplus_cat_read_inode(struct inode *inode, struct hfs_find_data *fd) }else if (type ==HFSPLUS_FILE ) {struct hfsplus_cat_file *file = &entry.file; -if (fd->entrylength <sizeof (struct hfsplus_cat_file )) -/* panic? */ ; +WARN_ON (fd->entrylength <sizeof (struct hfsplus_cat_file ));hfs_bnode_read (fd->bnode, &entry, fd->entryoffset,sizeof (struct hfsplus_cat_file ));
@@ -578,8 +576,7 @@ int hfsplus_cat_write_inode(struct inode *inode)if (S_ISDIR (main_inode->i_mode)) {struct hfsplus_cat_folder *folder = &entry.folder; -if (fd.entrylength <sizeof (struct hfsplus_cat_folder )) -/* panic? */ ; +WARN_ON (fd.entrylength <sizeof (struct hfsplus_cat_folder ));hfs_bnode_read (fd.bnode, &entry, fd.entryoffset,sizeof (struct hfsplus_cat_folder ));/* simple node checks? */
@@ -604,8 +601,7 @@ int hfsplus_cat_write_inode(struct inode *inode) }else {struct hfsplus_cat_file *file = &entry.file; -if (fd.entrylength <sizeof (struct hfsplus_cat_file )) -/* panic? */ ; +WARN_ON (fd.entrylength <sizeof (struct hfsplus_cat_file ));hfs_bnode_read (fd.bnode, &entry, fd.entryoffset,sizeof (struct hfsplus_cat_file ));hfsplus_inode_write_fork (inode, &file->data_fork);
Signature · 1 line
2.29.2
Quoted 28 lines · Arnd Bergmann
From: Arnd Bergmann <[email protected]>
gcc warns about a couple of instances in which a sanity check exists but the author wasn't sure how to react to it failing, which makes it look like a possible bug:
fs/hfsplus/inode.c: In function 'hfsplus_cat_read_inode':fs/hfsplus/inode.c:503:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
503 | /* panic? */;
| ^fs/hfsplus/inode.c:524:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
524 | /* panic? */;
| ^fs/hfsplus/inode.c: In function 'hfsplus_cat_write_inode':fs/hfsplus/inode.c:582:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
582 | /* panic? */;
| ^fs/hfsplus/inode.c:608:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
608 | /* panic? */;
| ^fs/hfs/inode.c: In function 'hfs_write_inode':fs/hfs/inode.c:464:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
464 | /* panic? */;
| ^fs/hfs/inode.c:485:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
485 | /* panic? */;
| ^
Quoted 5 lines
panic()is probably not the correct choice here, but aWARN_ONseems appropriate and avoids the compile-time warning.Signed-off-by Arnd Bergmann <[email protected]>---
Thanks!