tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/cpu
head:   a0e3bbdc2e84af76864e16772ef0099ce933cded
commit: 9a17639c0ad237666277861b65cf8fa80a4e9775 [1/18] x86/process/64: Fix 
ARCH_SET_FS/GS for a remote task
config: x86_64-randconfig-x019-201924 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 9a17639c0ad237666277861b65cf8fa80a4e9775
        # save the attached .config to linux build tree
        make ARCH=x86_64 

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

All error/warnings (new ones prefixed by >>):

   arch/x86//kernel/ptrace.c: In function 'putreg':
>> arch/x86//kernel/ptrace.c:400:24: warning: passing argument 1 of 
>> 'x86_fsbase_write_cpu' makes integer from pointer without a cast 
>> [-Wint-conversion]
      x86_fsbase_write_cpu(child, value);
                           ^~~~~
   In file included from arch/x86/include/asm/elf.h:13:0,
                    from include/linux/elf.h:5,
                    from arch/x86//kernel/ptrace.c:18:
   arch/x86/include/asm/fsgsbase.h:42:20: note: expected 'long unsigned int' 
but argument is of type 'struct task_struct *'
    static inline void x86_fsbase_write_cpu(unsigned long fsbase)
                       ^~~~~~~~~~~~~~~~~~~~
>> arch/x86//kernel/ptrace.c:400:3: error: too many arguments to function 
>> 'x86_fsbase_write_cpu'
      x86_fsbase_write_cpu(child, value);
      ^~~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/elf.h:13:0,
                    from include/linux/elf.h:5,
                    from arch/x86//kernel/ptrace.c:18:
   arch/x86/include/asm/fsgsbase.h:42:20: note: declared here
    static inline void x86_fsbase_write_cpu(unsigned long fsbase)
                       ^~~~~~~~~~~~~~~~~~~~
>> arch/x86//kernel/ptrace.c:405:3: error: implicit declaration of function 
>> 'x86_gsbase_write_cpu'; did you mean 'x86_fsbase_write_cpu'? 
>> [-Werror=implicit-function-declaration]
      x86_gsbase_write_cpu(child, value);
      ^~~~~~~~~~~~~~~~~~~~
      x86_fsbase_write_cpu
   cc1: some warnings being treated as errors

vim +/x86_fsbase_write_cpu +400 arch/x86//kernel/ptrace.c

   380  
   381  static int putreg(struct task_struct *child,
   382                    unsigned long offset, unsigned long value)
   383  {
   384          switch (offset) {
   385          case offsetof(struct user_regs_struct, cs):
   386          case offsetof(struct user_regs_struct, ds):
   387          case offsetof(struct user_regs_struct, es):
   388          case offsetof(struct user_regs_struct, fs):
   389          case offsetof(struct user_regs_struct, gs):
   390          case offsetof(struct user_regs_struct, ss):
   391                  return set_segment_reg(child, offset, value);
   392  
   393          case offsetof(struct user_regs_struct, flags):
   394                  return set_flags(child, value);
   395  
   396  #ifdef CONFIG_X86_64
   397          case offsetof(struct user_regs_struct,fs_base):
   398                  if (value >= TASK_SIZE_MAX)
   399                          return -EIO;
 > 400                  x86_fsbase_write_cpu(child, value);
   401                  return 0;
   402          case offsetof(struct user_regs_struct,gs_base):
   403                  if (value >= TASK_SIZE_MAX)
   404                          return -EIO;
 > 405                  x86_gsbase_write_cpu(child, value);
   406                  return 0;
   407  #endif
   408          }
   409  
   410          *pt_regs_access(task_pt_regs(child), offset) = value;
   411          return 0;
   412  }
   413  

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