All of lore.kernel.org
 help / color / mirror / Atom feed
* [riteshharjani:feat-secret-memfd-rfc-v1-0day 2/4] mm/secretmem.c:142:23: error: too few arguments to function 'set_direct_map_invalid_noflush'
@ 2026-10-10  9:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-10  9:22 UTC (permalink / raw)
  To: Ritesh Harjani (IBM); +Cc: oe-kbuild-all

tree:   https://github.com/riteshharjani/linux feat-secret-memfd-rfc-v1-0day
head:   80c52d3311e732619c0c339b4a03e92859ba98a1
commit: 744ed18f924d7aeb1a92993e90971120f0b7d4d4 [2/4] powerpc/64s/radix: Implement ARCH_HAS_SET_DIRECT_MAP
config: powerpc64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20261010/202610101141.WQ2vkOKS-lkp@intel.com/config)
compiler: powerpc64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261010/202610101141.WQ2vkOKS-lkp@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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610101141.WQ2vkOKS-lkp@intel.com/

All errors (new ones prefixed by >>):

   mm/vmalloc.c: In function 'vm_reset_perms':
>> mm/vmalloc.c:3403:35: error: passing argument 2 of 'set_area_direct_map' from incompatible pointer type [-Wincompatible-pointer-types]
    3403 |         set_area_direct_map(area, set_direct_map_invalid_noflush);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                   |
         |                                   int (*)(struct page *, unsigned int)
   mm/vmalloc.c:3361:46: note: expected 'int (*)(struct page *)' but argument is of type 'int (*)(struct page *, unsigned int)'
    3361 |                                        int (*set_direct_map)(struct page *page))
         |                                        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/vmalloc.c:3405:35: error: passing argument 2 of 'set_area_direct_map' from incompatible pointer type [-Wincompatible-pointer-types]
    3405 |         set_area_direct_map(area, set_direct_map_default_noflush);
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                   |
         |                                   int (*)(struct page *, unsigned int)
   mm/vmalloc.c:3361:46: note: expected 'int (*)(struct page *)' but argument is of type 'int (*)(struct page *, unsigned int)'
    3361 |                                        int (*set_direct_map)(struct page *page))
         |                                        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
   mm/secretmem.c: In function 'secretmem_fault':
>> mm/secretmem.c:142:23: error: too few arguments to function 'set_direct_map_invalid_noflush'
     142 |                 err = set_direct_map_invalid_noflush(folio_page(folio, 0));
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from ./include/linux/set_memory.h:9,
                    from mm/secretmem.c:19:
   ./arch/powerpc/include/asm/set_memory.h:55:5: note: declared here
      55 | int set_direct_map_invalid_noflush(struct page *page, unsigned int numpages);
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> mm/secretmem.c:159:25: error: too few arguments to function 'set_direct_map_default_noflush'
     159 |                         set_direct_map_default_noflush(folio_page(folio, 0));
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ./arch/powerpc/include/asm/set_memory.h:56:5: note: declared here
      56 | int set_direct_map_default_noflush(struct page *page, unsigned int numpages);
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/secretmem.c: In function 'secretmem_free_folio':
   mm/secretmem.c:231:9: error: too few arguments to function 'set_direct_map_default_noflush'
     231 |         set_direct_map_default_noflush(folio_page(folio, 0));
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ./arch/powerpc/include/asm/set_memory.h:56:5: note: declared here
      56 | int set_direct_map_default_noflush(struct page *page, unsigned int numpages);
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/set_direct_map_invalid_noflush +142 mm/secretmem.c

97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  109) 
1507f51255c9ff Mike Rapoport           2021-07-07  110  static vm_fault_t secretmem_fault(struct vm_fault *vmf)
1507f51255c9ff Mike Rapoport           2021-07-07  111  {
1507f51255c9ff Mike Rapoport           2021-07-07  112  	struct address_space *mapping = vmf->vma->vm_file->f_mapping;
1507f51255c9ff Mike Rapoport           2021-07-07  113  	struct inode *inode = file_inode(vmf->vma->vm_file);
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  114) 	struct secretmem_inode_state *state = inode->i_private;
1507f51255c9ff Mike Rapoport           2021-07-07  115  	pgoff_t offset = vmf->pgoff;
1507f51255c9ff Mike Rapoport           2021-07-07  116  	gfp_t gfp = vmf->gfp_mask;
1507f51255c9ff Mike Rapoport           2021-07-07  117  	unsigned long addr;
7e2fca52ef918e ZhangPeng               2023-08-12  118  	struct folio *folio;
84ac013046ccc4 Mike Rapoport           2022-07-07  119  	vm_fault_t ret;
1507f51255c9ff Mike Rapoport           2021-07-07  120  	int err;
1507f51255c9ff Mike Rapoport           2021-07-07  121  
1507f51255c9ff Mike Rapoport           2021-07-07  122  	if (((loff_t)vmf->pgoff << PAGE_SHIFT) >= i_size_read(inode))
1507f51255c9ff Mike Rapoport           2021-07-07  123  		return vmf_error(-EINVAL);
1507f51255c9ff Mike Rapoport           2021-07-07  124  
84ac013046ccc4 Mike Rapoport           2022-07-07  125  	filemap_invalidate_lock_shared(mapping);
84ac013046ccc4 Mike Rapoport           2022-07-07  126  
1507f51255c9ff Mike Rapoport           2021-07-07  127  retry:
32925ee63beb7e Matthew Wilcox (Oracle  2025-06-13  128) 	folio = filemap_lock_folio(mapping, offset);
32925ee63beb7e Matthew Wilcox (Oracle  2025-06-13  129) 	if (IS_ERR(folio)) {
7e2fca52ef918e ZhangPeng               2023-08-12  130  		folio = folio_alloc(gfp | __GFP_ZERO, 0);
7e2fca52ef918e ZhangPeng               2023-08-12  131  		if (!folio) {
84ac013046ccc4 Mike Rapoport           2022-07-07  132  			ret = VM_FAULT_OOM;
84ac013046ccc4 Mike Rapoport           2022-07-07  133  			goto out;
84ac013046ccc4 Mike Rapoport           2022-07-07  134  		}
1507f51255c9ff Mike Rapoport           2021-07-07  135  
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  136) 		if (!secretmem_account_folio(state, folio)) {
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  137) 			folio_put(folio);
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  138) 			ret = VM_FAULT_SIGBUS;
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  139) 			goto out;
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  140) 		}
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  141) 
32925ee63beb7e Matthew Wilcox (Oracle  2025-06-13 @142) 		err = set_direct_map_invalid_noflush(folio_page(folio, 0));
1507f51255c9ff Mike Rapoport           2021-07-07  143  		if (err) {
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  144) 			secretmem_unaccount_folio(state, folio);
7e2fca52ef918e ZhangPeng               2023-08-12  145  			folio_put(folio);
84ac013046ccc4 Mike Rapoport           2022-07-07  146  			ret = vmf_error(err);
84ac013046ccc4 Mike Rapoport           2022-07-07  147  			goto out;
1507f51255c9ff Mike Rapoport           2021-07-07  148  		}
1507f51255c9ff Mike Rapoport           2021-07-07  149  
7e2fca52ef918e ZhangPeng               2023-08-12  150  		__folio_mark_uptodate(folio);
7e2fca52ef918e ZhangPeng               2023-08-12  151  		err = filemap_add_folio(mapping, folio, offset, gfp);
1507f51255c9ff Mike Rapoport           2021-07-07  152  		if (unlikely(err)) {
97d34aa65c29cc Lorenzo Stoakes (ARM    2026-08-26  153) 			secretmem_unaccount_folio(state, folio);
1507f51255c9ff Mike Rapoport           2021-07-07  154  			/*
1507f51255c9ff Mike Rapoport           2021-07-07  155  			 * If a split of large page was required, it
1507f51255c9ff Mike Rapoport           2021-07-07  156  			 * already happened when we marked the page invalid
1507f51255c9ff Mike Rapoport           2021-07-07  157  			 * which guarantees that this call won't fail
1507f51255c9ff Mike Rapoport           2021-07-07  158  			 */
32925ee63beb7e Matthew Wilcox (Oracle  2025-06-13 @159) 			set_direct_map_default_noflush(folio_page(folio, 0));
6f86d0534fddfb Lance Yang              2025-10-31  160  			folio_put(folio);
1507f51255c9ff Mike Rapoport           2021-07-07  161  			if (err == -EEXIST)
1507f51255c9ff Mike Rapoport           2021-07-07  162  				goto retry;
1507f51255c9ff Mike Rapoport           2021-07-07  163  
84ac013046ccc4 Mike Rapoport           2022-07-07  164  			ret = vmf_error(err);
84ac013046ccc4 Mike Rapoport           2022-07-07  165  			goto out;
1507f51255c9ff Mike Rapoport           2021-07-07  166  		}
1507f51255c9ff Mike Rapoport           2021-07-07  167  
32925ee63beb7e Matthew Wilcox (Oracle  2025-06-13  168) 		addr = (unsigned long)folio_address(folio);
1507f51255c9ff Mike Rapoport           2021-07-07  169  		flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
1507f51255c9ff Mike Rapoport           2021-07-07  170  	}
1507f51255c9ff Mike Rapoport           2021-07-07  171  
32925ee63beb7e Matthew Wilcox (Oracle  2025-06-13  172) 	vmf->page = folio_file_page(folio, vmf->pgoff);
84ac013046ccc4 Mike Rapoport           2022-07-07  173  	ret = VM_FAULT_LOCKED;
84ac013046ccc4 Mike Rapoport           2022-07-07  174  
84ac013046ccc4 Mike Rapoport           2022-07-07  175  out:
84ac013046ccc4 Mike Rapoport           2022-07-07  176  	filemap_invalidate_unlock_shared(mapping);
84ac013046ccc4 Mike Rapoport           2022-07-07  177  	return ret;
1507f51255c9ff Mike Rapoport           2021-07-07  178  }
1507f51255c9ff Mike Rapoport           2021-07-07  179  

:::::: The code at line 142 was first introduced by commit
:::::: 32925ee63beb7e1a3fad25e2f54cefa2d32612de secretmem: remove uses of struct page

:::::: TO: Matthew Wilcox (Oracle) <willy@infradead.org>
:::::: CC: Andrew Morton <akpm@linux-foundation.org>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-10  9:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-10  9:22 [riteshharjani:feat-secret-memfd-rfc-v1-0day 2/4] mm/secretmem.c:142:23: error: too few arguments to function 'set_direct_map_invalid_noflush' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.