All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Anthony Yznaga <anthony.yznaga@oracle.com>, linux-mm@kvack.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	akpm@linux-foundation.org, andreyknvl@gmail.com, arnd@arndb.de,
	bp@alien8.de, brauner@kernel.org, bsegall@google.com,
	corbet@lwn.net, dave.hansen@linux.intel.com, david@redhat.com,
	dietmar.eggemann@arm.com, ebiederm@xmission.com, hpa@zytor.com,
	jakub.wartak@mailbox.org, jannh@google.com,
	juri.lelli@redhat.com, khalid@kernel.org,
	liam.howlett@oracle.com, linyongting@bytedance.com,
	lorenzo.stoakes@oracle.com, luto@kernel.org,
	markhemm@googlemail.com, maz@kernel.org, mhiramat@kernel.org,
	mgorman@suse.de, mhocko@suse.com, mingo@redhat.com,
	muchun.song@linux.dev, neilb@suse.de, osalvador@suse.de
Subject: Re: [PATCH v3 18/22] mm/mshare: Add an ioctl for mapping objects in an mshare region
Date: Thu, 21 Aug 2025 04:36:46 +0800	[thread overview]
Message-ID: <202508210437.BXbf4eok-lkp@intel.com> (raw)
In-Reply-To: <20250820010415.699353-19-anthony.yznaga@oracle.com>

Hi Anthony,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on next-20250820]
[cannot apply to tip/sched/core trace/for-next tip/x86/core tip/x86/mm kees/for-next/execve linus/master v6.17-rc2]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Anthony-Yznaga/mm-Add-msharefs-filesystem/20250820-091021
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20250820010415.699353-19-anthony.yznaga%40oracle.com
patch subject: [PATCH v3 18/22] mm/mshare: Add an ioctl for mapping objects in an mshare region
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20250821/202508210437.BXbf4eok-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250821/202508210437.BXbf4eok-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/202508210437.BXbf4eok-lkp@intel.com/

All warnings (new ones prefixed by >>):

   mm/mshare.c:305:16: warning: variable 'mshare_start' set but not used [-Wunused-but-set-variable]
     305 |         unsigned long mshare_start, mshare_size;
         |                       ^
>> mm/mshare.c:386:57: warning: variable 'vm_flags' is uninitialized when used here [-Wuninitialized]
     386 |         mapped_addr = __do_mmap(NULL, addr, size, prot, flags, vm_flags,
         |                                                                ^~~~~~~~
   mm/mshare.c:361:21: note: initialize the variable 'vm_flags' to silence this warning
     361 |         vm_flags_t vm_flags;
         |                            ^
         |                             = 0
   2 warnings generated.


vim +/vm_flags +386 mm/mshare.c

   297	
   298	static unsigned long
   299	msharefs_get_unmapped_area(struct file *file, unsigned long addr,
   300			unsigned long len, unsigned long pgoff, unsigned long flags)
   301	{
   302		struct mshare_data *m_data = file->private_data;
   303		struct mm_struct *mm = current->mm;
   304		struct vm_area_struct *vma, *prev;
 > 305		unsigned long mshare_start, mshare_size;
   306		const unsigned long mmap_end = arch_get_mmap_end(addr, len, flags);
   307	
   308		mmap_assert_write_locked(mm);
   309	
   310		if ((flags & MAP_TYPE) == MAP_PRIVATE)
   311			return -EINVAL;
   312	
   313		if (!mshare_is_initialized(m_data) || !mshare_has_owner(m_data))
   314			return -EINVAL;
   315	
   316		mshare_start = m_data->start;
   317		mshare_size = m_data->size;
   318	
   319		if (len != mshare_size)
   320			return -EINVAL;
   321	
   322		if (len > mmap_end - mmap_min_addr)
   323			return -ENOMEM;
   324	
   325		if (flags & MAP_FIXED) {
   326			if (!IS_ALIGNED(addr, mshare_align))
   327				return -EINVAL;
   328			return addr;
   329		}
   330	
   331		if (addr) {
   332			addr = ALIGN(addr, mshare_align);
   333			vma = find_vma_prev(mm, addr, &prev);
   334			if (mmap_end - len >= addr && addr >= mmap_min_addr &&
   335			    (!vma || addr + len <= vm_start_gap(vma)) &&
   336			    (!prev || addr >= vm_end_gap(prev)))
   337				return addr;
   338		}
   339	
   340		if (!mm_flags_test(MMF_TOPDOWN, mm))
   341			return msharefs_get_unmapped_area_bottomup(file, addr, len,
   342					pgoff, flags);
   343		else
   344			return msharefs_get_unmapped_area_topdown(file, addr, len,
   345					pgoff, flags);
   346	}
   347	
   348	static long
   349	msharefs_create_mapping(struct mshare_data *m_data, struct mshare_create *mcreate)
   350	{
   351		struct mm_struct *host_mm = m_data->mm;
   352		unsigned long mshare_start, mshare_end;
   353		unsigned long region_offset = mcreate->region_offset;
   354		unsigned long size = mcreate->size;
   355		unsigned int fd = mcreate->fd;
   356		int flags = mcreate->flags;
   357		int prot = mcreate->prot;
   358		unsigned long populate = 0;
   359		unsigned long mapped_addr;
   360		unsigned long addr;
   361		vm_flags_t vm_flags;
   362		int error = -EINVAL;
   363	
   364		mshare_start = m_data->start;
   365		mshare_end = mshare_start + m_data->size;
   366		addr = mshare_start + region_offset;
   367	
   368		if ((addr < mshare_start) || (addr >= mshare_end) ||
   369		    (addr + size > mshare_end))
   370			goto out;
   371	
   372		/*
   373		 * Only anonymous shared memory at fixed addresses is allowed for now.
   374		 */
   375		if ((flags & (MAP_SHARED | MAP_FIXED)) != (MAP_SHARED | MAP_FIXED))
   376			goto out;
   377		if (fd != -1)
   378			goto out;
   379	
   380		if (mmap_write_lock_killable(host_mm)) {
   381			error = -EINTR;
   382			goto out;
   383		}
   384	
   385		error = 0;
 > 386		mapped_addr = __do_mmap(NULL, addr, size, prot, flags, vm_flags,
   387					0, &populate, NULL, host_mm);
   388	
   389		if (IS_ERR_VALUE(mapped_addr))
   390			error = (long)mapped_addr;
   391	
   392		mmap_write_unlock(host_mm);
   393	out:
   394		return error;
   395	}
   396	

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


  reply	other threads:[~2025-08-20 20:37 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-20  1:03 [PATCH v3 00/22] Add support for shared PTEs across processes Anthony Yznaga
2025-08-20  1:03 ` [PATCH v3 01/22] mm: Add msharefs filesystem Anthony Yznaga
2025-09-08 18:29   ` Liam R. Howlett
2025-09-08 19:09     ` Anthony Yznaga
2025-09-10 12:14   ` Pedro Falcato
2025-09-10 12:46     ` David Hildenbrand
2025-08-20  1:03 ` [PATCH v3 02/22] mm/mshare: pre-populate msharefs with information file Anthony Yznaga
2025-08-20  1:03 ` [PATCH v3 03/22] mm/mshare: make msharefs writable and support directories Anthony Yznaga
2025-08-20  1:03 ` [PATCH v3 04/22] mm/mshare: allocate an mm_struct for msharefs files Anthony Yznaga
2025-08-20  1:03 ` [PATCH v3 05/22] mm/mshare: add ways to set the size of an mshare region Anthony Yznaga
2025-08-20  1:03 ` [PATCH v3 06/22] mm/mshare: Add a vma flag to indicate " Anthony Yznaga
2025-09-08 18:45   ` David Hildenbrand
2025-09-08 18:56     ` Anthony Yznaga
2025-09-08 19:02       ` David Hildenbrand
2025-09-08 19:03         ` Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 07/22] mm/mshare: Add mmap support Anthony Yznaga
2025-08-20 19:02   ` kernel test robot
2025-08-20  1:04 ` [PATCH v3 08/22] mm/mshare: flush all TLBs when updating PTEs in an mshare range Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 09/22] sched/numa: do not scan msharefs vmas Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 10/22] mm: add mmap_read_lock_killable_nested() Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 11/22] mm: add and use unmap_page_range vm_ops hook Anthony Yznaga
2025-08-21 15:40   ` kernel test robot
2025-08-20  1:04 ` [PATCH v3 12/22] mm: introduce PUD page table shared count Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 13/22] mm/mshare: prepare for page table sharing support Anthony Yznaga
2025-09-15 15:27   ` Lorenzo Stoakes
2025-08-20  1:04 ` [PATCH v3 14/22] x86/mm: enable page table sharing Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 15/22] mm: create __do_mmap() to take an mm_struct * arg Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 16/22] mm: pass the mm in vma_munmap_struct Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 17/22] sched/mshare: mshare ownership Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 18/22] mm/mshare: Add an ioctl for mapping objects in an mshare region Anthony Yznaga
2025-08-20 20:36   ` kernel test robot [this message]
2025-08-20  1:04 ` [PATCH v3 19/22] mm/mshare: Add an ioctl for unmapping " Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 20/22] mm/mshare: support mapping files and anon hugetlb " Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 21/22] mm/mshare: provide a way to identify an mm as an mshare host mm Anthony Yznaga
2025-08-20  1:04 ` [PATCH v3 22/22] mm/mshare: charge fault handling allocations to the mshare owner Anthony Yznaga
2025-09-08 18:50   ` David Hildenbrand
2025-09-08 19:21     ` Anthony Yznaga
2025-09-08 20:28       ` David Hildenbrand
2025-09-08 20:55         ` Anthony Yznaga
2025-09-08 20:32 ` [PATCH v3 00/22] Add support for shared PTEs across processes David Hildenbrand
2025-09-08 20:59   ` Matthew Wilcox
2025-09-08 21:14     ` Anthony Yznaga
2025-09-09  7:53       ` David Hildenbrand
2025-09-09 18:29         ` Anthony Yznaga
2025-09-09 19:06         ` Lorenzo Stoakes
2026-02-20 21:35 ` Kalesh Singh
2026-02-21 12:40   ` Pedro Falcato
2026-02-23 17:43     ` Kalesh Singh
2026-02-23 19:55       ` anthony.yznaga
2026-02-25 22:53         ` Kalesh Singh
2026-02-24  9:40   ` David Hildenbrand (Arm)
2026-02-25 23:06     ` Kalesh Singh
2026-02-26  9:02       ` David Hildenbrand (Arm)
2026-02-26 21:22       ` Pedro Falcato
2026-02-27  6:34         ` Kalesh Singh

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=202508210437.BXbf4eok-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@gmail.com \
    --cc=anthony.yznaga@oracle.com \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=brauner@kernel.org \
    --cc=bsegall@google.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=jakub.wartak@mailbox.org \
    --cc=jannh@google.com \
    --cc=juri.lelli@redhat.com \
    --cc=khalid@kernel.org \
    --cc=liam.howlett@oracle.com \
    --cc=linux-mm@kvack.org \
    --cc=linyongting@bytedance.com \
    --cc=llvm@lists.linux.dev \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=luto@kernel.org \
    --cc=markhemm@googlemail.com \
    --cc=maz@kernel.org \
    --cc=mgorman@suse.de \
    --cc=mhiramat@kernel.org \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=muchun.song@linux.dev \
    --cc=neilb@suse.de \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=osalvador@suse.de \
    /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.