tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   fffe3ae0ee84e25d2befe2ae59bc32aa2b6bc77b
commit: a62a8ef9d97da23762a588592c8b8eb50a8deb6a virtio-fs: add virtiofs 
filesystem
date:   11 months ago
compiler: gcc-9 (Debian 9.3.0-15) 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/fuse/virtio_fs.c:1009:6: warning: Variable 'err' is reassigned a value 
>> before the old one has been used. [redundantAssignment]
    err = -ENOMEM;
        ^
   fs/fuse/virtio_fs.c:1003:6: note: Variable 'err' is reassigned a value 
before the old one has been used.
    err = -EINVAL;
        ^
   fs/fuse/virtio_fs.c:1009:6: note: Variable 'err' is reassigned a value 
before the old one has been used.
    err = -ENOMEM;
        ^
   fs/fuse/virtio_fs.c:1020:6: warning: Variable 'err' is reassigned a value 
before the old one has been used. [redundantAssignment]
    err = fuse_fill_super_common(sb, &ctx);
        ^
   fs/fuse/virtio_fs.c:1009:6: note: Variable 'err' is reassigned a value 
before the old one has been used.
    err = -ENOMEM;
        ^
   fs/fuse/virtio_fs.c:1020:6: note: Variable 'err' is reassigned a value 
before the old one has been used.
    err = fuse_fill_super_common(sb, &ctx);
        ^

vim +/err +1009 fs/fuse/virtio_fs.c

   979  
   980  static int virtio_fs_fill_super(struct super_block *sb)
   981  {
   982          struct fuse_conn *fc = get_fuse_conn_super(sb);
   983          struct virtio_fs *fs = fc->iq.priv;
   984          unsigned int i;
   985          int err;
   986          struct fuse_fs_context ctx = {
   987                  .rootmode = S_IFDIR,
   988                  .default_permissions = 1,
   989                  .allow_other = 1,
   990                  .max_read = UINT_MAX,
   991                  .blksize = 512,
   992                  .destroy = true,
   993                  .no_control = true,
   994                  .no_force_umount = true,
   995          };
   996  
   997          mutex_lock(&virtio_fs_mutex);
   998  
   999          /* After holding mutex, make sure virtiofs device is still 
there.
  1000           * Though we are holding a reference to it, drive ->remove might
  1001           * still have cleaned up virtual queues. In that case bail out.
  1002           */
  1003          err = -EINVAL;
  1004          if (list_empty(&fs->list)) {
  1005                  pr_info("virtio-fs: tag <%s> not found\n", fs->tag);
  1006                  goto err;
  1007          }
  1008  
> 1009          err = -ENOMEM;
  1010          /* Allocate fuse_dev for hiprio and notification queues */
  1011          for (i = 0; i < VQ_REQUEST; i++) {
  1012                  struct virtio_fs_vq *fsvq = &fs->vqs[i];
  1013  
  1014                  fsvq->fud = fuse_dev_alloc();
  1015                  if (!fsvq->fud)
  1016                          goto err_free_fuse_devs;
  1017          }
  1018  
  1019          ctx.fudptr = (void **)&fs->vqs[VQ_REQUEST].fud;
  1020          err = fuse_fill_super_common(sb, &ctx);
  1021          if (err < 0)
  1022                  goto err_free_fuse_devs;
  1023  
  1024          fc = fs->vqs[VQ_REQUEST].fud->fc;
  1025  
  1026          for (i = 0; i < fs->nvqs; i++) {
  1027                  struct virtio_fs_vq *fsvq = &fs->vqs[i];
  1028  
  1029                  if (i == VQ_REQUEST)
  1030                          continue; /* already initialized */
  1031                  fuse_dev_install(fsvq->fud, fc);
  1032          }
  1033  
  1034          /* Previous unmount will stop all queues. Start these again */
  1035          virtio_fs_start_all_queues(fs);
  1036          fuse_send_init(fc);
  1037          mutex_unlock(&virtio_fs_mutex);
  1038          return 0;
  1039  
  1040  err_free_fuse_devs:
  1041          virtio_fs_free_devs(fs);
  1042  err:
  1043          mutex_unlock(&virtio_fs_mutex);
  1044          return err;
  1045  }
  1046  

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

Reply via email to