ext4: optimize case-insensitive lookups
Hello Gabriel Krisman Bertazi,
The patch 3ae72562ad91: "ext4: optimize case-insensitive lookups" from Jun 19, 2019, leads to the following static checker warning:
fs/ext4/namei.c:1311 ext4_fname_setup_ci_filename() warn: 'cf_name->len' unsigned <= 0
fs/ext4/namei.c
1296 void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
1297 struct fscrypt_str *cf_name)
1298 {
1299 if (!IS_CASEFOLDED(dir)) {
1300 cf_name->name = NULL;
1301 return;
1302 }
1303
1304 cf_name->name = kmalloc(EXT4_NAME_LEN, GFP_NOFS);
1305 if (!cf_name->name)
1306 return;
1307
1308 cf_name->len = utf8_casefold(EXT4_SB(dir->i_sb)->s_encoding,
1309 iname, cf_name->name,
1310 EXT4_NAME_LEN);
utf8_casefold() returns negative error codes
1311 if (cf_name->len <= 0) {but "cf_name->len" is a u32.
1312 kfree(cf_name->name); 1313 cf_name->name = NULL; 1314 } 1315 }
regards,
dan carpenter
PATCH 1/1 ext4: Fix coverity warning on error path of filename setup
Quoted 4 lines · Dan Carpenter
Hello Gabriel Krisman Bertazi,
The patch
3ae72562ad91: "ext4: optimize case-insensitive lookups" from Jun 19, 2019, leads to the following static checker warning:
Hi,
The patch below should fix this issue.
-- >8 --
Subject: [PATCH] ext4: Fix coverity warning on error path of filename setup
Fix the following coverity warning reported by Dan Carpenter:
fs/ext4/namei.c:1311 ext4_fname_setup_ci_filename()
warn: 'cf_name->len' unsigned <= 0
--- fs/ext4/namei.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
fs/ext4/namei.c +9 -4
@@ -1296,6 +1296,8 @@ int ext4_ci_compare(const struct inode *parent, const struct qstr *name,void ext4_fname_setup_ci_filename (struct inode *dir,const struct qstr *iname,struct fscrypt_str *cf_name) { +int len; +if (!IS_CASEFOLDED (dir)) { cf_name->name =NULL ;return ;
@@ -1305,13 +1307,16 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,if (!cf_name->name)return ; - cf_name->len =utf8_casefold (EXT4_SB (dir->i_sb)->s_encoding, - iname, cf_name->name, -EXT4_NAME_LEN ); -if (cf_name->len <=0 ) { + len =utf8_casefold (EXT4_SB (dir->i_sb)->s_encoding, + iname, cf_name->name, +EXT4_NAME_LEN ); +if (len <=0 ) {kfree (cf_name->name); cf_name->name =NULL ; +return ; } + cf_name->len = (unsigned) len; + }#endif
Signature · 1 line
2.20.1
Re: [PATCH] ext4: Fix coverity warning on error path of filename setup
Quoted 14 lines · Gabriel Krisman Bertazi
Quoted 4 lines · Dan Carpenter
Hello Gabriel Krisman Bertazi,
The patch
3ae72562ad91: "ext4: optimize case-insensitive lookups" from Jun 19, 2019, leads to the following static checker warning:Hi,
The patch below should fix this issue.
-- >8 --
Subject: [PATCH] ext4: Fix coverity warning on error path of filename setup
Quoted 8 lines
Fix the following coverity warning reported by Dan Carpenter:
fs/ext4/namei.c:1311ext4_fname_setup_ci_filename()warn: 'cf_name->len' unsigned <= 0Fixes 3ae72562ad91 ("ext4: optimize case-insensitive lookups")Signed-off-by Gabriel Krisman Bertazi <[email protected]>Reported-by Dan Carpenter <[email protected]>
Applied, thanks.
- Ted