All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH] mm: enforce __must_check on VMA merge and split
Date: Tue, 17 Dec 2024 05:59:14 +0800	[thread overview]
Message-ID: <202412170555.i4T2rEdD-lkp@intel.com> (raw)
In-Reply-To: <20241206225036.273103-1-lorenzo.stoakes@oracle.com>

Hi Lorenzo,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]

url:    https://github.com/intel-lab-lkp/linux/commits/Lorenzo-Stoakes/mm-enforce-__must_check-on-VMA-merge-and-split/20241207-065244
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20241206225036.273103-1-lorenzo.stoakes%40oracle.com
patch subject: [PATCH] mm: enforce __must_check on VMA merge and split
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20241217/202412170555.i4T2rEdD-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241217/202412170555.i4T2rEdD-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/202412170555.i4T2rEdD-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from mm/vma.c:7:
   In file included from mm/vma_internal.h:12:
   In file included from include/linux/backing-dev.h:16:
   In file included from include/linux/writeback.h:13:
   In file included from include/linux/blk_types.h:10:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:8:
   In file included from include/linux/cacheflush.h:5:
   In file included from arch/x86/include/asm/cacheflush.h:5:
   In file included from include/linux/mm.h:2223:
   include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     504 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     505 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     511 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     512 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     524 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     525 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   In file included from mm/vma.c:7:
   In file included from mm/vma_internal.h:29:
   include/linux/mm_inline.h:47:41: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
      47 |         __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages);
         |                                    ~~~~~~~~~~~ ^ ~~~
   include/linux/mm_inline.h:49:22: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
      49 |                                 NR_ZONE_LRU_BASE + lru, nr_pages);
         |                                 ~~~~~~~~~~~~~~~~ ^ ~~~
>> mm/vma.c:2468:3: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
    2468 |                 vma_merge_existing_range(&vmg);
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
   7 warnings generated.


vim +/warn_unused_result +2468 mm/vma.c

52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2434  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2435  unsigned long __mmap_region(struct file *file, unsigned long addr,
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2436  		unsigned long len, vm_flags_t vm_flags, unsigned long pgoff,
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2437  		struct list_head *uf)
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2438  {
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2439  	struct mm_struct *mm = current->mm;
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2440  	struct vm_area_struct *vma = NULL;
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2441  	int error;
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2442  	VMA_ITERATOR(vmi, mm, addr);
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2443  	MMAP_STATE(map, mm, &vmi, addr, len, pgoff, vm_flags, file);
52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2444  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2445  	error = __mmap_prepare(&map, uf);
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2446  	if (error)
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2447  		goto abort_munmap;
52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2448  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2449  	/* Attempt to merge with adjacent VMAs... */
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2450  	if (map.prev || map.next) {
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2451  		VMG_MMAP_STATE(vmg, &map, /* vma = */ NULL);
52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2452  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2453  		vma = vma_merge_new_range(&vmg);
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2454  	}
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2455  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2456  	/* ...but if we can't, allocate a new VMA. */
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2457  	if (!vma) {
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2458  		error = __mmap_new_vma(&map, &vma);
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2459  		if (error)
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2460  			goto unacct_error;
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2461  	}
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2462  
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2463  	/* If flags changed, we might be able to merge, so try again. */
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2464  	if (map.retry_merge) {
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2465  		VMG_MMAP_STATE(vmg, &map, vma);
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2466  
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2467  		vma_iter_config(map.vmi, map.addr, map.end);
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25 @2468  		vma_merge_existing_range(&vmg);
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2469  	}
5ac87a885aecb3f Lorenzo Stoakes 2024-10-25  2470  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2471  	__mmap_complete(&map, vma);
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2472  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2473  	return addr;
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2474  
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2475  	/* Accounting was done by __mmap_prepare(). */
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2476  unacct_error:
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2477  	if (map.charged)
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2478  		vm_unacct_memory(map.charged);
52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2479  abort_munmap:
0d11630cc50a625 Lorenzo Stoakes 2024-10-25  2480  	vms_abort_munmap_vmas(&map.vms, &map.mas_detach);
52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2481  	return error;
52956b0d7fb92e3 Lorenzo Stoakes 2024-10-25  2482  }
98aad6cab8cb2a0 Lorenzo Stoakes 2024-12-03  2483  

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

  parent reply	other threads:[~2024-12-16 22:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-06 22:50 [PATCH] mm: enforce __must_check on VMA merge and split Lorenzo Stoakes
2024-12-06 22:53 ` Lorenzo Stoakes
2024-12-09 13:51 ` Vlastimil Babka
2024-12-09 18:36 ` Liam R. Howlett
2024-12-16 21:16 ` kernel test robot
2024-12-16 21:59 ` kernel test robot [this message]
2024-12-16 22:14   ` Lorenzo Stoakes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202412170555.i4T2rEdD-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.