tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   6cf7ccba29dcf39ab27630c383a3844078a6d5cd
commit: 8dcc1a9d90c10fa4143e5c17821082e5e60e46a1 fs: New zonefs file system
date:   5 months ago
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0

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


cppcheck warnings: (new ones prefixed by >>)

>> fs/zonefs/super.c:1110:6: warning: Variable 'ret' is reassigned a value 
>> before the old one has been used. [redundantAssignment]
    ret = 0;
        ^
   fs/zonefs/super.c:1045:0: note: Variable 'ret' is reassigned a value before 
the old one has been used.
    int ret = -ENOMEM;
   ^
   fs/zonefs/super.c:1110:6: note: Variable 'ret' is reassigned a value before 
the old one has been used.
    ret = 0;
        ^
   fs/zonefs/super.c:1257:6: warning: Variable 'ret' is reassigned a value 
before the old one has been used. [redundantAssignment]
    ret = 0;
        ^
   fs/zonefs/super.c:1210:6: note: Variable 'ret' is reassigned a value before 
the old one has been used.
    ret = -EINVAL;
        ^
   fs/zonefs/super.c:1257:6: note: Variable 'ret' is reassigned a value before 
the old one has been used.
    ret = 0;
        ^

vim +/ret +1110 fs/zonefs/super.c

  1031  
  1032  /*
  1033   * Create a zone group and populate it with zone files.
  1034   */
  1035  static int zonefs_create_zgroup(struct zonefs_zone_data *zd,
  1036                                  enum zonefs_ztype type)
  1037  {
  1038          struct super_block *sb = zd->sb;
  1039          struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
  1040          struct blk_zone *zone, *next, *end;
  1041          const char *zgroup_name;
  1042          char *file_name;
  1043          struct dentry *dir;
  1044          unsigned int n = 0;
  1045          int ret = -ENOMEM;
  1046  
  1047          /* If the group is empty, there is nothing to do */
  1048          if (!zd->nr_zones[type])
  1049                  return 0;
  1050  
  1051          file_name = kmalloc(ZONEFS_NAME_MAX, GFP_KERNEL);
  1052          if (!file_name)
  1053                  return -ENOMEM;
  1054  
  1055          if (type == ZONEFS_ZTYPE_CNV)
  1056                  zgroup_name = "cnv";
  1057          else
  1058                  zgroup_name = "seq";
  1059  
  1060          dir = zonefs_create_inode(sb->s_root, zgroup_name, NULL, type);
  1061          if (!dir)
  1062                  goto free;
  1063  
  1064          /*
  1065           * The first zone contains the super block: skip it.
  1066           */
  1067          end = zd->zones + blkdev_nr_zones(sb->s_bdev->bd_disk);
  1068          for (zone = &zd->zones[1]; zone < end; zone = next) {
  1069  
  1070                  next = zone + 1;
  1071                  if (zonefs_zone_type(zone) != type)
  1072                          continue;
  1073  
  1074                  /*
  1075                   * For conventional zones, contiguous zones can be 
aggregated
  1076                   * together to form larger files. Note that this 
overwrites the
  1077                   * length of the first zone of the set of contiguous 
zones
  1078                   * aggregated together. If one offline or read-only 
zone is
  1079                   * found, assume that all zones aggregated have the same
  1080                   * condition.
  1081                   */
  1082                  if (type == ZONEFS_ZTYPE_CNV &&
  1083                      (sbi->s_features & ZONEFS_F_AGGRCNV)) {
  1084                          for (; next < end; next++) {
  1085                                  if (zonefs_zone_type(next) != type)
  1086                                          break;
  1087                                  zone->len += next->len;
  1088                                  if (next->cond == 
BLK_ZONE_COND_READONLY &&
  1089                                      zone->cond != BLK_ZONE_COND_OFFLINE)
  1090                                          zone->cond = 
BLK_ZONE_COND_READONLY;
  1091                                  else if (next->cond == 
BLK_ZONE_COND_OFFLINE)
  1092                                          zone->cond = 
BLK_ZONE_COND_OFFLINE;
  1093                          }
  1094                  }
  1095  
  1096                  /*
  1097                   * Use the file number within its group as file name.
  1098                   */
  1099                  snprintf(file_name, ZONEFS_NAME_MAX - 1, "%u", n);
  1100                  if (!zonefs_create_inode(dir, file_name, zone, type))
  1101                          goto free;
  1102  
  1103                  n++;
  1104          }
  1105  
  1106          zonefs_info(sb, "Zone group \"%s\" has %u file%s\n",
  1107                      zgroup_name, n, n > 1 ? "s" : "");
  1108  
  1109          sbi->s_nr_files[type] = n;
> 1110          ret = 0;
  1111  
  1112  free:
  1113          kfree(file_name);
  1114  
  1115          return ret;
  1116  }
  1117  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Reply via email to