[bug report] ext4: optimize case-insensitive lookups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux