hfs/hfsplus: use WARN_ON for sanity check
commit 55d1cbbbb29e6656c662ee8f73ba1fc4777532eb upstream. 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. Link: https://lkml.kernel.org/r/20210927102149.1809384-1-arnd@kernel.org Link: https://lore.kernel.org/all/20210322223249.2632268-1-arnd@kernel.org/ Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Christian Brauner <christian.brauner@ubuntu.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
此提交包含在:
@@ -462,8 +462,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 ||
|
||||
@@ -483,8 +482,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 ||
|
||||
|
新增問題並參考
封鎖使用者