summaryrefslogtreecommitdiff
path: root/drivers/staging/erofs/dir.c
diff options
context:
space:
mode:
authorGao Xiang <gaoxiang25@huawei.com>2018-12-05 21:23:13 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-12-06 16:08:56 +0100
commit8b987bca2d09649683cbe496419a011df8c08493 (patch)
tree5e59c1dbcacfff72b83c221dca01227151658eea /drivers/staging/erofs/dir.c
parent6bbb77a811085b62056bf3583dbc5d28a319c0cb (diff)
staging: erofs: {dir,inode,super}.c: rectify BUG_ONs
remove all redundant BUG_ONs, and turn the rest useful usages to DBG_BUGONs. Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/erofs/dir.c')
-rw-r--r--drivers/staging/erofs/dir.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/staging/erofs/dir.c b/drivers/staging/erofs/dir.c
index d1cb0d78ab84..e44ca93dcdc6 100644
--- a/drivers/staging/erofs/dir.c
+++ b/drivers/staging/erofs/dir.c
@@ -53,8 +53,11 @@ static int erofs_fill_dentries(struct dir_context *ctx,
strnlen(de_name, maxsize - nameoff) :
le16_to_cpu(de[1].nameoff) - nameoff;
- /* the corrupted directory found */
- BUG_ON(de_namelen < 0);
+ /* a corrupted entry is found */
+ if (unlikely(de_namelen < 0)) {
+ DBG_BUGON(1);
+ return -EIO;
+ }
#ifdef CONFIG_EROFS_FS_DEBUG
dbg_namelen = min(EROFS_NAME_LEN - 1, de_namelen);