Hi Lorenz,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 38d976c32d85ef12dcd2b8a231196f7049548477]

url:    
https://github.com/intel-lab-lkp/linux/commits/Lorenz-Bauer/btf-allow-mmap-of-vmlinux-btf/20250506-024103
base:   38d976c32d85ef12dcd2b8a231196f7049548477
patch link:    
https://lore.kernel.org/r/20250505-vmlinux-mmap-v3-1-5d53afa060e8%40isovalent.com
patch subject: [PATCH bpf-next v3 1/3] btf: allow mmap of vmlinux btf
config: arc-randconfig-r073-20250508 
(https://download.01.org/0day-ci/archive/20250509/202505091116.jhtywjw4-...@intel.com/config)
compiler: arc-linux-gcc (GCC) 12.4.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250509/202505091116.jhtywjw4-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202505091116.jhtywjw4-...@intel.com/

All warnings (new ones prefixed by >>):

   In file included from arch/arc/include/asm/page.h:136,
                    from arch/arc/include/asm/thread_info.h:16,
                    from include/linux/thread_info.h:60,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/arc/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:79,
                    from include/linux/spinlock.h:56,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:7,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:17,
                    from kernel/bpf/sysfs_btf.c:6:
   kernel/bpf/sysfs_btf.c: In function 'btf_sysfs_vmlinux_mmap':
>> kernel/bpf/sysfs_btf.c:43:51: warning: passing argument 1 of 'virt_to_pfn' 
>> makes pointer from integer without a cast [-Wint-conversion]
      43 |                                      virt_to_page(addr));
         |                                                   ^~~~
         |                                                   |
         |                                                   long unsigned int
   include/asm-generic/memory_model.h:18:46: note: in definition of macro 
'__pfn_to_page'
      18 | #define __pfn_to_page(pfn)      (mem_map + ((pfn) - ARCH_PFN_OFFSET))
         |                                              ^~~
   kernel/bpf/sysfs_btf.c:43:38: note: in expansion of macro 'virt_to_page'
      43 |                                      virt_to_page(addr));
         |                                      ^~~~~~~~~~~~
   arch/arc/include/asm/page.h:123:53: note: expected 'const void *' but 
argument is of type 'long unsigned int'
     123 | static inline unsigned long virt_to_pfn(const void *kaddr)
         |                                         ~~~~~~~~~~~~^~~~~


vim +/virt_to_pfn +43 kernel/bpf/sysfs_btf.c

    17  
    18  static int btf_sysfs_vmlinux_mmap(struct file *filp, struct kobject 
*kobj,
    19                                    const struct bin_attribute *attr,
    20                                    struct vm_area_struct *vma)
    21  {
    22          unsigned long pages = PAGE_ALIGN(attr->size) >> PAGE_SHIFT;
    23          size_t vm_size = vma->vm_end - vma->vm_start;
    24          unsigned long addr = (unsigned long)attr->private;
    25          int i, err = 0;
    26  
    27          if (addr != (unsigned long)__start_BTF || !PAGE_ALIGNED(addr))
    28                  return -EINVAL;
    29  
    30          if (vma->vm_pgoff)
    31                  return -EINVAL;
    32  
    33          if (vma->vm_flags & (VM_WRITE | VM_EXEC | VM_MAYSHARE))
    34                  return -EACCES;
    35  
    36          if (vm_size >> PAGE_SHIFT > pages)
    37                  return -EINVAL;
    38  
    39          vm_flags_mod(vma, VM_DONTDUMP, VM_MAYEXEC | VM_MAYWRITE);
    40  
    41          for (i = 0; i < pages && !err; i++, addr += PAGE_SIZE)
    42                  err = vm_insert_page(vma, vma->vm_start + i * PAGE_SIZE,
  > 43                                       virt_to_page(addr));
    44  
    45          if (err)
    46                  zap_vma_pages(vma);
    47  
    48          return err;
    49  }
    50  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to