All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org
Subject: [willy-pagecache:for-next 3/81] mm/huge_memory.c:2380:21: warning: incompatible pointer to integer conversion assigning to 'unsigned long' from 'void *'
Date: Mon, 20 Jun 2022 02:21:01 +0800	[thread overview]
Message-ID: <202206200151.WMsNVIYY-lkp@intel.com> (raw)

tree:   git://git.infradead.org/users/willy/pagecache for-next
head:   a4483039b0e88f52c72975b99ea131a111b35a8e
commit: ddf632ba3fd866d92f0ec9343984c6b2c18a788c [3/81] mm: Clear page->private when splitting or migrating a page
config: s390-randconfig-r033-20220619 (https://download.01.org/0day-ci/archive/20220620/202206200151.WMsNVIYY-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project af6d2a0b6825e71965f3e2701a63c239fa0ad70f)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install s390 cross compiling tool for clang build
        # apt-get install binutils-s390x-linux-gnu
        git remote add willy-pagecache git://git.infradead.org/users/willy/pagecache
        git fetch --no-tags willy-pagecache for-next
        git checkout ddf632ba3fd866d92f0ec9343984c6b2c18a788c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> mm/huge_memory.c:2380:21: warning: incompatible pointer to integer conversion assigning to 'unsigned long' from 'void *' [-Wint-conversion]
           page_tail->private = NULL;
                              ^ ~~~~
   1 warning generated.


vim +2380 mm/huge_memory.c

  2338	
  2339	static void __split_huge_page_tail(struct page *head, int tail,
  2340			struct lruvec *lruvec, struct list_head *list)
  2341	{
  2342		struct page *page_tail = head + tail;
  2343	
  2344		VM_BUG_ON_PAGE(atomic_read(&page_tail->_mapcount) != -1, page_tail);
  2345	
  2346		/*
  2347		 * Clone page flags before unfreezing refcount.
  2348		 *
  2349		 * After successful get_page_unless_zero() might follow flags change,
  2350		 * for example lock_page() which set PG_waiters.
  2351		 *
  2352		 * Note that for mapped sub-pages of an anonymous THP,
  2353		 * PG_anon_exclusive has been cleared in unmap_page() and is stored in
  2354		 * the migration entry instead from where remap_page() will restore it.
  2355		 * We can still have PG_anon_exclusive set on effectively unmapped and
  2356		 * unreferenced sub-pages of an anonymous THP: we can simply drop
  2357		 * PG_anon_exclusive (-> PG_mappedtodisk) for these here.
  2358		 */
  2359		page_tail->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
  2360		page_tail->flags |= (head->flags &
  2361				((1L << PG_referenced) |
  2362				 (1L << PG_swapbacked) |
  2363				 (1L << PG_swapcache) |
  2364				 (1L << PG_mlocked) |
  2365				 (1L << PG_uptodate) |
  2366				 (1L << PG_active) |
  2367				 (1L << PG_workingset) |
  2368				 (1L << PG_locked) |
  2369				 (1L << PG_unevictable) |
  2370	#ifdef CONFIG_64BIT
  2371				 (1L << PG_arch_2) |
  2372	#endif
  2373				 (1L << PG_dirty)));
  2374	
  2375		/* ->mapping in first tail page is compound_mapcount */
  2376		VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING,
  2377				page_tail);
  2378		page_tail->mapping = head->mapping;
  2379		page_tail->index = head->index + tail;
> 2380		page_tail->private = NULL;
  2381	
  2382		/* Page flags must be visible before we make the page non-compound. */
  2383		smp_wmb();
  2384	
  2385		/*
  2386		 * Clear PageTail before unfreezing page refcount.
  2387		 *
  2388		 * After successful get_page_unless_zero() might follow put_page()
  2389		 * which needs correct compound_head().
  2390		 */
  2391		clear_compound_head(page_tail);
  2392	
  2393		/* Finally unfreeze refcount. Additional reference from page cache. */
  2394		page_ref_unfreeze(page_tail, 1 + (!PageAnon(head) ||
  2395						  PageSwapCache(head)));
  2396	
  2397		if (page_is_young(head))
  2398			set_page_young(page_tail);
  2399		if (page_is_idle(head))
  2400			set_page_idle(page_tail);
  2401	
  2402		page_cpupid_xchg_last(page_tail, page_cpupid_last(head));
  2403	
  2404		/*
  2405		 * always add to the tail because some iterators expect new
  2406		 * pages to show after the currently processed elements - e.g.
  2407		 * migrate_pages
  2408		 */
  2409		lru_add_page_tail(head, page_tail, lruvec, list);
  2410	}
  2411	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-06-19 18:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-19 18:21 kernel test robot [this message]
2022-06-19 19:10 ` [willy-pagecache:for-next 3/81] mm/huge_memory.c:2380:21: warning: incompatible pointer to integer conversion assigning to 'unsigned long' from 'void *' Matthew Wilcox
2022-06-19 19:10   ` Matthew Wilcox

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=202206200151.WMsNVIYY-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=willy@infradead.org \
    /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.