Messages in this thread | | | Date | Mon, 20 Jun 2022 02:21:01 +0800 | From | kernel test robot <> | 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 *' |
| |
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
| |