Hi Haren,

I love your patch! Perhaps something to improve:

[auto build test WARNING on powerpc/next]
[also build test WARNING on v5.17-rc6 next-20220225]
[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/Haren-Myneni/powerpc-pseries-vas-NXGZIP-support-with-DLPAR/20220228-154814
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc64-randconfig-s031-20220227 
(https://download.01.org/0day-ci/archive/20220228/202202281913.4n2af10e-...@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # 
https://github.com/0day-ci/linux/commit/336150efb288e945786ca6d54b0eb7d9c956aad8
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Haren-Myneni/powerpc-pseries-vas-NXGZIP-support-with-DLPAR/20220228-154814
        git checkout 336150efb288e945786ca6d54b0eb7d9c956aad8
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc 
SHELL=/bin/bash arch/powerpc/platforms/book3s/ arch/powerpc/platforms/pseries/

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


sparse warnings: (new ones prefixed by >>)
>> arch/powerpc/platforms/book3s/vas-api.c:403:29: sparse: sparse: incorrect 
>> type in assignment (different base types) @@     expected int ret @@     got 
>> restricted vm_fault_t @@
   arch/powerpc/platforms/book3s/vas-api.c:403:29: sparse:     expected int ret
   arch/powerpc/platforms/book3s/vas-api.c:403:29: sparse:     got restricted 
vm_fault_t
>> arch/powerpc/platforms/book3s/vas-api.c:406:32: sparse: sparse: incorrect 
>> type in return expression (different base types) @@     expected restricted 
>> vm_fault_t @@     got int ret @@
   arch/powerpc/platforms/book3s/vas-api.c:406:32: sparse:     expected 
restricted vm_fault_t
   arch/powerpc/platforms/book3s/vas-api.c:406:32: sparse:     got int ret

vim +403 arch/powerpc/platforms/book3s/vas-api.c

   353  
   354  /*
   355   * This fault handler is invoked when the core generates page fault on
   356   * the paste address. Happens if the kernel closes window in hypervisor
   357   * (on pseries) due to lost credit or the paste address is not mapped.
   358   */
   359  static vm_fault_t vas_mmap_fault(struct vm_fault *vmf)
   360  {
   361          struct vm_area_struct *vma = vmf->vma;
   362          struct file *fp = vma->vm_file;
   363          struct coproc_instance *cp_inst = fp->private_data;
   364          struct vas_window *txwin;
   365          u64 paste_addr;
   366          int ret;
   367  
   368          /*
   369           * window is not opened. Shouldn't expect this error.
   370           */
   371          if (!cp_inst || !cp_inst->txwin) {
   372                  pr_err("%s(): Unexpected fault on paste address with TX 
window closed\n",
   373                                  __func__);
   374                  return VM_FAULT_SIGBUS;
   375          }
   376  
   377          txwin = cp_inst->txwin;
   378          /*
   379           * When the LPAR lost credits due to core removal or during
   380           * migration, invalidate the existing mapping for the current
   381           * paste addresses and set windows in-active (zap_page_range in
   382           * reconfig_close_windows()).
   383           * New mapping will be done later after migration or new credits
   384           * available. So continue to receive faults if the user space
   385           * issue NX request.
   386           */
   387          if (txwin->task_ref.vma != vmf->vma) {
   388                  pr_err("%s(): No previous mapping with paste address\n",
   389                          __func__);
   390                  return VM_FAULT_SIGBUS;
   391          }
   392  
   393          mutex_lock(&txwin->task_ref.mmap_mutex);
   394          /*
   395           * The window may be inactive due to lost credit (Ex: core
   396           * removal with DLPAR). If the window is active again when
   397           * the credit is available, map the new paste address at the
   398           * the window virtual address.
   399           */
   400          if (txwin->status == VAS_WIN_ACTIVE) {
   401                  paste_addr = cp_inst->coproc->vops->paste_addr(txwin);
   402                  if (paste_addr) {
 > 403                          ret = vmf_insert_pfn(vma, vma->vm_start,
   404                                          (paste_addr >> PAGE_SHIFT));
   405                          mutex_unlock(&txwin->task_ref.mmap_mutex);
 > 406                          return ret;
   407                  }
   408          }
   409          mutex_unlock(&txwin->task_ref.mmap_mutex);
   410  
   411          return VM_FAULT_SIGBUS;
   412  

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

Reply via email to