All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: mm/memory.c:709:25: sparse: sparse: cast to non-scalar
Date: Mon, 11 Dec 2023 05:44:02 +0800	[thread overview]
Message-ID: <202312110527.2ixYcotR-lkp@intel.com> (raw)

:::::: 
:::::: Manual check reason: "low confidence static check warning: mm/memory.c:709:25: sparse: sparse: cast to non-scalar"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Alistair Popple <apopple@nvidia.com>
CC: Dan Carpenter <error27@gmail.com>
CC: Christoph Hellwig <hch@lst.de>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3a87498869d6d1e7347cd01f337a77984604eb5e
commit: b756a3b5e7ead8f6f4b03cea8ac22478ce04c8a8 mm: device exclusive memory access
date:   2 years, 5 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 2 years, 5 months ago
config: alpha-randconfig-r131-20231116 (https://download.01.org/0day-ci/archive/20231211/202312110527.2ixYcotR-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231211/202312110527.2ixYcotR-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/r/202312110527.2ixYcotR-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> mm/memory.c:709:25: sparse: sparse: cast to non-scalar
>> mm/memory.c:709:25: sparse: sparse: cast from non-scalar
   mm/memory.c:284:46: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:318:46: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:1023:17: sparse: sparse: context imbalance in 'copy_pte_range' - different lock contexts for basic block
   mm/memory.c:1196:61: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:1220:61: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:1736:16: sparse: sparse: context imbalance in '__get_locked_pte' - different lock contexts for basic block
   mm/memory.c:1785:9: sparse: sparse: context imbalance in 'insert_page' - different lock contexts for basic block
   mm/memory.c:2287:17: sparse: sparse: context imbalance in 'remap_pte_range' - different lock contexts for basic block
   mm/memory.c:2344:46: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:2366:46: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:2543:17: sparse: sparse: context imbalance in 'apply_to_pte_range' - unexpected unlock
   mm/memory.c:2616:46: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:2652:46: sparse: sparse: self-comparison always evaluates to false
   mm/memory.c:2831:17: sparse: sparse: context imbalance in 'wp_page_copy' - unexpected unlock
   mm/memory.c:3180:17: sparse: sparse: context imbalance in 'wp_pfn_shared' - unexpected unlock
   mm/memory.c:3243:19: sparse: sparse: context imbalance in 'do_wp_page' - different lock contexts for basic block
   mm/memory.c: note: in included file (through include/linux/mm.h, arch/alpha/include/asm/io.h, include/linux/io.h, include/linux/irq.h, ...):
   include/linux/pgtable.h:275:16: sparse: sparse: cast to non-scalar
   include/linux/pgtable.h:275:16: sparse: sparse: cast from non-scalar
   mm/memory.c:4874:5: sparse: sparse: context imbalance in 'follow_invalidate_pte' - different lock contexts for basic block
   mm/memory.c:4995:9: sparse: sparse: context imbalance in 'follow_pfn' - unexpected unlock

vim +709 mm/memory.c

28093f9f34cede Gerald Schaefer 2016-04-28  701  
b756a3b5e7ead8 Alistair Popple 2021-06-30  702  static void restore_exclusive_pte(struct vm_area_struct *vma,
b756a3b5e7ead8 Alistair Popple 2021-06-30  703  				  struct page *page, unsigned long address,
b756a3b5e7ead8 Alistair Popple 2021-06-30  704  				  pte_t *ptep)
b756a3b5e7ead8 Alistair Popple 2021-06-30  705  {
b756a3b5e7ead8 Alistair Popple 2021-06-30  706  	pte_t pte;
b756a3b5e7ead8 Alistair Popple 2021-06-30  707  	swp_entry_t entry;
b756a3b5e7ead8 Alistair Popple 2021-06-30  708  
b756a3b5e7ead8 Alistair Popple 2021-06-30 @709  	pte = pte_mkold(mk_pte(page, READ_ONCE(vma->vm_page_prot)));
b756a3b5e7ead8 Alistair Popple 2021-06-30  710  	if (pte_swp_soft_dirty(*ptep))
b756a3b5e7ead8 Alistair Popple 2021-06-30  711  		pte = pte_mksoft_dirty(pte);
b756a3b5e7ead8 Alistair Popple 2021-06-30  712  
b756a3b5e7ead8 Alistair Popple 2021-06-30  713  	entry = pte_to_swp_entry(*ptep);
b756a3b5e7ead8 Alistair Popple 2021-06-30  714  	if (pte_swp_uffd_wp(*ptep))
b756a3b5e7ead8 Alistair Popple 2021-06-30  715  		pte = pte_mkuffd_wp(pte);
b756a3b5e7ead8 Alistair Popple 2021-06-30  716  	else if (is_writable_device_exclusive_entry(entry))
b756a3b5e7ead8 Alistair Popple 2021-06-30  717  		pte = maybe_mkwrite(pte_mkdirty(pte), vma);
b756a3b5e7ead8 Alistair Popple 2021-06-30  718  
b756a3b5e7ead8 Alistair Popple 2021-06-30  719  	set_pte_at(vma->vm_mm, address, ptep, pte);
b756a3b5e7ead8 Alistair Popple 2021-06-30  720  
b756a3b5e7ead8 Alistair Popple 2021-06-30  721  	/*
b756a3b5e7ead8 Alistair Popple 2021-06-30  722  	 * No need to take a page reference as one was already
b756a3b5e7ead8 Alistair Popple 2021-06-30  723  	 * created when the swap entry was made.
b756a3b5e7ead8 Alistair Popple 2021-06-30  724  	 */
b756a3b5e7ead8 Alistair Popple 2021-06-30  725  	if (PageAnon(page))
b756a3b5e7ead8 Alistair Popple 2021-06-30  726  		page_add_anon_rmap(page, vma, address, false);
b756a3b5e7ead8 Alistair Popple 2021-06-30  727  	else
b756a3b5e7ead8 Alistair Popple 2021-06-30  728  		/*
b756a3b5e7ead8 Alistair Popple 2021-06-30  729  		 * Currently device exclusive access only supports anonymous
b756a3b5e7ead8 Alistair Popple 2021-06-30  730  		 * memory so the entry shouldn't point to a filebacked page.
b756a3b5e7ead8 Alistair Popple 2021-06-30  731  		 */
b756a3b5e7ead8 Alistair Popple 2021-06-30  732  		WARN_ON_ONCE(!PageAnon(page));
b756a3b5e7ead8 Alistair Popple 2021-06-30  733  
b756a3b5e7ead8 Alistair Popple 2021-06-30  734  	if (vma->vm_flags & VM_LOCKED)
b756a3b5e7ead8 Alistair Popple 2021-06-30  735  		mlock_vma_page(page);
b756a3b5e7ead8 Alistair Popple 2021-06-30  736  
b756a3b5e7ead8 Alistair Popple 2021-06-30  737  	/*
b756a3b5e7ead8 Alistair Popple 2021-06-30  738  	 * No need to invalidate - it was non-present before. However
b756a3b5e7ead8 Alistair Popple 2021-06-30  739  	 * secondary CPUs may have mappings that need invalidating.
b756a3b5e7ead8 Alistair Popple 2021-06-30  740  	 */
b756a3b5e7ead8 Alistair Popple 2021-06-30  741  	update_mmu_cache(vma, address, ptep);
b756a3b5e7ead8 Alistair Popple 2021-06-30  742  }
b756a3b5e7ead8 Alistair Popple 2021-06-30  743  

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

             reply	other threads:[~2023-12-10 21:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-10 21:44 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-03-09  5:07 mm/memory.c:709:25: sparse: sparse: cast to non-scalar kernel test robot
2022-01-01  5:39 kernel test robot
2022-01-01  5:39 ` kernel test robot
2021-11-23 20:37 kernel test robot
2021-11-23 20:37 ` kernel test robot
2021-11-12 16:01 kernel test robot
2021-11-12 16:01 ` kernel test robot

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=202312110527.2ixYcotR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild@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.