Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20220728]

url:    
https://github.com/intel-lab-lkp/linux/commits/studentxswpy-163-com/f2fs-Replace-kmalloc-with-f2fs_kmalloc/20220801-172502
base:    7c5e07b73ff3011c9b82d4a3286a3362b951ad2b
config: i386-allyesconfig 
(https://download.01.org/0day-ci/archive/20220807/202208071655.jhz9qodb-...@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
        # 
https://github.com/intel-lab-lkp/linux/commit/ca9f7259448a8dc0a2c4a1ae0a34a8109df4d6e1
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
studentxswpy-163-com/f2fs-Replace-kmalloc-with-f2fs_kmalloc/20220801-172502
        git checkout ca9f7259448a8dc0a2c4a1ae0a34a8109df4d6e1
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash fs/f2fs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   fs/f2fs/dir.c: In function 'f2fs_match_ci_name':
>> fs/f2fs/dir.c:235:52: warning: passing argument 1 of 'f2fs_kmalloc' makes 
>> pointer from integer without a cast [-Wint-conversion]
     235 |                 decrypted_name.name = f2fs_kmalloc(de_name_len, 
GFP_KERNEL);
         |                                                    ^~~~~~~~~~~
         |                                                    |
         |                                                    u32 {aka unsigned 
int}
   In file included from fs/f2fs/dir.c:13:
   fs/f2fs/f2fs.h:3316:55: note: expected 'struct f2fs_sb_info *' but argument 
is of type 'u32' {aka 'unsigned int'}
    3316 | static inline void *f2fs_kmalloc(struct f2fs_sb_info *sbi,
         |                                  ~~~~~~~~~~~~~~~~~~~~~^~~
   fs/f2fs/dir.c:235:39: error: too few arguments to function 'f2fs_kmalloc'
     235 |                 decrypted_name.name = f2fs_kmalloc(de_name_len, 
GFP_KERNEL);
         |                                       ^~~~~~~~~~~~
   In file included from fs/f2fs/dir.c:13:
   fs/f2fs/f2fs.h:3316:21: note: declared here
    3316 | static inline void *f2fs_kmalloc(struct f2fs_sb_info *sbi,
         |                     ^~~~~~~~~~~~


vim +/f2fs_kmalloc +235 fs/f2fs/dir.c

   211  
   212  #if IS_ENABLED(CONFIG_UNICODE)
   213  /*
   214   * Test whether a case-insensitive directory entry matches the filename
   215   * being searched for.
   216   *
   217   * Returns 1 for a match, 0 for no match, and -errno on an error.
   218   */
   219  static int f2fs_match_ci_name(const struct inode *dir, const struct 
qstr *name,
   220                                 const u8 *de_name, u32 de_name_len)
   221  {
   222          const struct super_block *sb = dir->i_sb;
   223          const struct unicode_map *um = sb->s_encoding;
   224          struct fscrypt_str decrypted_name = FSTR_INIT(NULL, 
de_name_len);
   225          struct qstr entry = QSTR_INIT(de_name, de_name_len);
   226          int res;
   227  
   228          if (IS_ENCRYPTED(dir)) {
   229                  const struct fscrypt_str encrypted_name =
   230                          FSTR_INIT((u8 *)de_name, de_name_len);
   231  
   232                  if (WARN_ON_ONCE(!fscrypt_has_encryption_key(dir)))
   233                          return -EINVAL;
   234  
 > 235                  decrypted_name.name = f2fs_kmalloc(de_name_len, 
 > GFP_KERNEL);
   236                  if (!decrypted_name.name)
   237                          return -ENOMEM;
   238                  res = fscrypt_fname_disk_to_usr(dir, 0, 0, 
&encrypted_name,
   239                                                  &decrypted_name);
   240                  if (res < 0)
   241                          goto out;
   242                  entry.name = decrypted_name.name;
   243                  entry.len = decrypted_name.len;
   244          }
   245  
   246          res = utf8_strncasecmp_folded(um, name, &entry);
   247          /*
   248           * In strict mode, ignore invalid names.  In non-strict mode,
   249           * fall back to treating them as opaque byte sequences.
   250           */
   251          if (res < 0 && !sb_has_strict_encoding(sb)) {
   252                  res = name->len == entry.len &&
   253                                  memcmp(name->name, entry.name, 
name->len) == 0;
   254          } else {
   255                  /* utf8_strncasecmp_folded returns 0 on match */
   256                  res = (res == 0);
   257          }
   258  out:
   259          kfree(decrypted_name.name);
   260          return res;
   261  }
   262  #endif /* CONFIG_UNICODE */
   263  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to