Hi Dan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 01830e6c042e8eb6eb202e05d7df8057135b4c26]

url:    
https://github.com/0day-ci/linux/commits/Dan-Williams/device-dax-Support-sub-dividing-soft-reserved-ranges/20200801-114823
base:    01830e6c042e8eb6eb202e05d7df8057135b4c26
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=s390 

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

All warnings (new ones prefixed by >>):

   drivers/dax/device.c:54:20: warning: no previous prototype for 
'dax_pgoff_to_phys' [-Wmissing-prototypes]
      54 | __weak phys_addr_t dax_pgoff_to_phys(struct dev_dax *dev_dax, 
pgoff_t pgoff,
         |                    ^~~~~~~~~~~~~~~~~
   drivers/dax/device.c: In function '__dev_dax_pte_fault':
>> drivers/dax/device.c:80:21: warning: variable 'dax_region' set but not used 
>> [-Wunused-but-set-variable]
      80 |  struct dax_region *dax_region;
         |                     ^~~~~~~~~~
   drivers/dax/device.c: In function '__dev_dax_pmd_fault':
   drivers/dax/device.c:113:21: warning: variable 'dax_region' set but not used 
[-Wunused-but-set-variable]
     113 |  struct dax_region *dax_region;
         |                     ^~~~~~~~~~
   drivers/dax/device.c: At top level:
   drivers/dax/device.c:397:5: warning: no previous prototype for 
'dev_dax_probe' [-Wmissing-prototypes]
     397 | int dev_dax_probe(struct dev_dax *dev_dax)
         |     ^~~~~~~~~~~~~

vim +/dax_region +80 drivers/dax/device.c

dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   52  
efebc711180f7fe drivers/dax/dax.c    Dave Jiang   2017-04-07   53  /* see 
"strong" declaration in tools/testing/nvdimm/dax-dev.c */
736163671bcb163 drivers/dax/device.c Dan Williams 2017-05-04  @54  __weak 
phys_addr_t dax_pgoff_to_phys(struct dev_dax *dev_dax, pgoff_t pgoff,
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   55               
unsigned long size)
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   56  {
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   57       int i;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   58  
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   59       for (i 
= 0; i < dev_dax->nr_range; i++) {
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   60               
struct dev_dax_range *dax_range = &dev_dax->ranges[i];
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   61               
struct range *range = &dax_range->range;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   62               
unsigned long long pgoff_end;
753a0850e707e9a drivers/dax/device.c Dan Williams 2017-07-14   63               
phys_addr_t phys;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   64  
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   65               
pgoff_end = dax_range->pgoff + PHYS_PFN(range_len(range)) - 1;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   66               
if (pgoff < dax_range->pgoff || pgoff > pgoff_end)
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   67               
        continue;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   68               
phys = PFN_PHYS(pgoff - dax_range->pgoff) + range->start;
e8f1f803fc7e653 drivers/dax/device.c Dan Williams 2020-07-31   69               
if (phys + size - 1 <= range->end)
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   70               
        return phys;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   71               
break;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   72       }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   73       return 
-1;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   74  }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   75  
226ab561075f6f8 drivers/dax/device.c Dan Williams 2018-07-13   76  static 
vm_fault_t __dev_dax_pte_fault(struct dev_dax *dev_dax,
2232c6382a453db drivers/dax/device.c Dan Williams 2018-07-13   77               
                struct vm_fault *vmf, pfn_t *pfn)
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   78  {
5f0694b300b9fb8 drivers/dax/dax.c    Dan Williams 2017-01-30   79       struct 
device *dev = &dev_dax->dev;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  @80       struct 
dax_region *dax_region;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   81       
phys_addr_t phys;
0134ed4fb9e7867 drivers/dax/dax.c    Dave Jiang   2017-03-10   82       
unsigned int fault_size = PAGE_SIZE;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   83  
5f0694b300b9fb8 drivers/dax/dax.c    Dan Williams 2017-01-30   84       if 
(check_vma(dev_dax, vmf->vma, __func__))
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   85               
return VM_FAULT_SIGBUS;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   86  
5f0694b300b9fb8 drivers/dax/dax.c    Dan Williams 2017-01-30   87       
dax_region = dev_dax->region;
58e646f2ce61dc9 drivers/dax/device.c Joao Martins 2020-07-31   88       if 
(dev_dax->align > PAGE_SIZE) {
6daaca522ab464d drivers/dax/device.c Dan Williams 2018-03-05   89               
dev_dbg(dev, "alignment (%#x) > fault size (%#x)\n",
58e646f2ce61dc9 drivers/dax/device.c Joao Martins 2020-07-31   90               
        dev_dax->align, fault_size);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   91               
return VM_FAULT_SIGBUS;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   92       }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   93  
58e646f2ce61dc9 drivers/dax/device.c Joao Martins 2020-07-31   94       if 
(fault_size != dev_dax->align)
0134ed4fb9e7867 drivers/dax/dax.c    Dave Jiang   2017-03-10   95               
return VM_FAULT_SIGBUS;
0134ed4fb9e7867 drivers/dax/dax.c    Dave Jiang   2017-03-10   96  
736163671bcb163 drivers/dax/device.c Dan Williams 2017-05-04   97       phys = 
dax_pgoff_to_phys(dev_dax, vmf->pgoff, PAGE_SIZE);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   98       if 
(phys == -1) {
6daaca522ab464d drivers/dax/device.c Dan Williams 2018-03-05   99               
dev_dbg(dev, "pgoff_to_phys(%#lx) failed\n", vmf->pgoff);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  100               
return VM_FAULT_SIGBUS;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  101       }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  102  
e651e2e797b48fb drivers/dax/device.c Dan Williams 2020-07-31  103       *pfn = 
phys_to_pfn_t(phys, PFN_DEV|PFN_MAP);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  104  
2232c6382a453db drivers/dax/device.c Dan Williams 2018-07-13  105       return 
vmf_insert_mixed(vmf->vma, vmf->address, *pfn);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  106  }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  107  

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