Hi Oleg,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.3 next-20190916]
[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/Oleg-Nesterov/powerpc-Hard-wire-PT_SOFTE-value-to-1-in-gpr_get-too/20190917-201613
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.4.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=powerpc 

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

All errors (new ones prefixed by >>):

   arch/powerpc/kernel/ptrace.c: In function 'gpr_get':
>> arch/powerpc/kernel/ptrace.c:375:58: error: 'msr' undeclared (first use in 
>> this function)
      ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, &msr,
                                                             ^~~
   arch/powerpc/kernel/ptrace.c:375:58: note: each undeclared identifier is 
reported only once for each function it appears in

vim +/msr +375 arch/powerpc/kernel/ptrace.c

   336  
   337  static int gpr_get(struct task_struct *target, const struct user_regset 
*regset,
   338                     unsigned int pos, unsigned int count,
   339                     void *kbuf, void __user *ubuf)
   340  {
   341          int i, ret;
   342  
   343          if (target->thread.regs == NULL)
   344                  return -EIO;
   345  
   346          if (!FULL_REGS(target->thread.regs)) {
   347                  /* We have a partial register set.  Fill 14-31 with 
bogus values */
   348                  for (i = 14; i < 32; i++)
   349                          target->thread.regs->gpr[i] = NV_REG_POISON;
   350          }
   351  
   352          ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
   353                                    target->thread.regs,
   354                                    0, offsetof(struct pt_regs, msr));
   355          if (!ret) {
   356                  unsigned long msr = get_user_msr(target);
   357                  ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, 
&msr,
   358                                            offsetof(struct pt_regs, msr),
   359                                            offsetof(struct pt_regs, msr) 
+
   360                                            sizeof(msr));
   361          }
   362  
   363          BUILD_BUG_ON(offsetof(struct pt_regs, orig_gpr3) !=
   364                       offsetof(struct pt_regs, msr) + sizeof(long));
   365  
   366  #ifdef CONFIG_PPC64
   367          if (!ret)
   368                  ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
   369                                            
&target->thread.regs->orig_gpr3,
   370                                            offsetof(struct pt_regs, 
orig_gpr3),
   371                                            offsetof(struct pt_regs, 
softe));
   372  
   373          if (!ret) {
   374                  unsigned long softe = 0x1;
 > 375                  ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, 
 > &msr,
   376                                            offsetof(struct pt_regs, 
softe),
   377                                            offsetof(struct pt_regs, 
softe) +
   378                                            sizeof(softe));
   379          }
   380  
   381          BUILD_BUG_ON(offsetof(struct pt_regs, trap) !=
   382                       offsetof(struct pt_regs, softe) + sizeof(long));
   383  
   384          if (!ret)
   385                  ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
   386                                            &target->thread.regs->trap,
   387                                            offsetof(struct pt_regs, 
trap),
   388                                            sizeof(struct user_pt_regs));
   389  #else
   390          if (!ret)
   391                  ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
   392                                            
&target->thread.regs->orig_gpr3,
   393                                            offsetof(struct pt_regs, 
orig_gpr3),
   394                                            sizeof(struct user_pt_regs));
   395  #endif
   396          if (!ret)
   397                  ret = user_regset_copyout_zero(&pos, &count, &kbuf, 
&ubuf,
   398                                                 sizeof(struct 
user_pt_regs), -1);
   399  
   400          return ret;
   401  }
   402  

---
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