Hi Ian,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.20-rc2]
[cannot apply to next-20181113]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Ian-Kent/autofs-improve-ioctl-sbi-checks/20181114-021150
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   fs/autofs/inode.c: In function 'autofs_fill_super':
>> fs/autofs/inode.c:361:28: error: invalid type argument of '->' (have 'struct 
>> autofs_fs_params')
     root_inode->i_uid = params->uid;
                               ^~
   fs/autofs/inode.c:362:28: error: invalid type argument of '->' (have 'struct 
autofs_fs_params')
     root_inode->i_gid = params->gid;
                               ^~

vim +361 fs/autofs/inode.c

   313  
   314  int autofs_fill_super(struct super_block *s, void *data, int silent)
   315  {
   316          struct inode *root_inode;
   317          struct dentry *root;
   318          struct autofs_fs_params params;
   319          struct autofs_sb_info *sbi;
   320          struct autofs_info *ino;
   321          int ret = -EINVAL;
   322  
   323          sbi = autofs_alloc_sbi(s);
   324          if (!sbi)
   325                  return -ENOMEM;
   326  
   327          pr_debug("starting up, sbi = %p\n", sbi);
   328  
   329          s->s_fs_info = sbi;
   330          s->s_blocksize = 1024;
   331          s->s_blocksize_bits = 10;
   332          s->s_magic = AUTOFS_SUPER_MAGIC;
   333          s->s_op = &autofs_sops;
   334          s->s_d_op = &autofs_dentry_operations;
   335          s->s_time_gran = 1;
   336  
   337          /*
   338           * Get the root inode and dentry, but defer checking for errors.
   339           */
   340          ino = autofs_new_ino(sbi);
   341          if (!ino) {
   342                  ret = -ENOMEM;
   343                  goto fail_free;
   344          }
   345          root_inode = autofs_get_inode(s, S_IFDIR | 0755);
   346          if (!root_inode) {
   347                  ret = -ENOMEM;
   348                  goto fail_ino;
   349          }
   350          root = d_make_root(root_inode);
   351          if (!root)
   352                  goto fail_iput;
   353  
   354          root->d_fsdata = ino;
   355  
   356          memset(&params, 0, sizeof(struct autofs_fs_params));
   357          if (autofs_parse_options(data, &params)) {
   358                  pr_err("called with bogus options\n");
   359                  goto fail_dput;
   360          }
 > 361          root_inode->i_uid = params->uid;
   362          root_inode->i_gid = params->gid;
   363  
   364          ret = autofs_apply_sbi_options(sbi, &params);
   365          if (ret)
   366                  goto fail_dput;
   367  
   368          if (autofs_type_trigger(sbi->type))
   369                  __managed_dentry_set_managed(root);
   370  
   371          root_inode->i_fop = &autofs_root_operations;
   372          root_inode->i_op = &autofs_dir_inode_operations;
   373  
   374          /*
   375           * Success! Install the root dentry now to indicate completion.
   376           */
   377          s->s_root = root;
   378          return 0;
   379  
   380          /*
   381           * Failure ... clean up.
   382           */
   383  fail_dput:
   384          dput(root);
   385          goto fail_free;
   386  fail_iput:
   387          iput(root_inode);
   388  fail_ino:
   389          autofs_free_ino(ino);
   390  fail_free:
   391          kfree(sbi);
   392          s->s_fs_info = NULL;
   393          return ret;
   394  }
   395  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to