Hi Alexey,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linux/master]
[also build test ERROR on kees/for-next/pstore linus/master v5.9-rc1 
next-20200819]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Alexey-Gladkov/proc-Relax-check-of-mount-visibility/20200820-031542
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
bcf876870b95592b52519ed4aafcf9d95999bc9c
config: s390-randconfig-r034-20200818 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
b34b1e38381fa4d1b1d9751a6b5233b68e734cfe)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install s390 cross compiling tool for clang build
        # apt-get install binutils-s390x-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 

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

All errors (new ones prefixed by >>):

>> fs/proc/root.c:187:24: error: assigning to 'struct cred *' from 'const 
>> struct cred *' discards qualifiers 
>> [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
           fs_info->mounter_cred = get_cred(fc->cred);
                                 ^ ~~~~~~~~~~~~~~~~~~
   fs/proc/root.c:229:24: error: assigning to 'struct cred *' from 'const 
struct cred *' discards qualifiers 
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
           fs_info->mounter_cred = get_cred(fc->cred);
                                 ^ ~~~~~~~~~~~~~~~~~~
   2 errors generated.

# 
https://github.com/0day-ci/linux/commit/9c2a0eea7f38b1a4e201b8f2da0c5fd7b423daf9
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Alexey-Gladkov/proc-Relax-check-of-mount-visibility/20200820-031542
git checkout 9c2a0eea7f38b1a4e201b8f2da0c5fd7b423daf9
vim +187 fs/proc/root.c

   164  
   165  static int proc_fill_super(struct super_block *s, struct fs_context *fc)
   166  {
   167          struct proc_fs_context *ctx = fc->fs_private;
   168          struct inode *root_inode;
   169          struct proc_fs_info *fs_info;
   170          int ret;
   171  
   172          fs_info = kzalloc(sizeof(*fs_info), GFP_KERNEL);
   173          if (!fs_info)
   174                  return -ENOMEM;
   175  
   176          /* User space would break if executables or devices appear on 
proc */
   177          s->s_iflags |= SB_I_USERNS_VISIBLE | SB_I_NOEXEC | SB_I_NODEV;
   178          s->s_flags |= SB_NODIRATIME | SB_NOSUID | SB_NOEXEC;
   179          s->s_blocksize = 1024;
   180          s->s_blocksize_bits = 10;
   181          s->s_magic = PROC_SUPER_MAGIC;
   182          s->s_op = &proc_sops;
   183          s->s_time_gran = 1;
   184          s->s_fs_info = fs_info;
   185  
   186          fs_info->pid_ns = get_pid_ns(ctx->pid_ns);
 > 187          fs_info->mounter_cred = get_cred(fc->cred);
   188  
   189          proc_apply_options(s, fc, current_user_ns());
   190  
   191          /*
   192           * procfs isn't actually a stacking filesystem; however, there 
is
   193           * too much magic going on inside it to permit stacking things 
on
   194           * top of it
   195           */
   196          s->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH;
   197  
   198          /* procfs dentries and inodes don't require IO to create */
   199          s->s_shrink.seeks = 0;
   200  
   201          pde_get(&proc_root);
   202          root_inode = proc_get_inode(s, &proc_root);
   203          if (!root_inode) {
   204                  pr_err("proc_fill_super: get root inode failed\n");
   205                  return -ENOMEM;
   206          }
   207  
   208          s->s_root = d_make_root(root_inode);
   209          if (!s->s_root) {
   210                  pr_err("proc_fill_super: allocate dentry failed\n");
   211                  return -ENOMEM;
   212          }
   213  
   214          ret = proc_setup_self(s);
   215          if (ret) {
   216                  return ret;
   217          }
   218          return proc_setup_thread_self(s);
   219  }
   220  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to