lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202112212008.VXy63TTH-lkp@intel.com>
Date:   Tue, 21 Dec 2021 20:18:07 +0800
From:   kernel test robot <lkp@...el.com>
To:     David Hildenbrand <david@...hat.com>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org
Subject: [davidhildenbrand:unshare_new 1/4] mm/page_alloc.c:1329:4: error:
 implicit declaration of function '__ClearPageAnonExlusive'

tree:   git://github.com/davidhildenbrand/linux unshare_new
head:   0b0d58f51fe2675e4dcfb11263ad4cbec053711f
commit: 139b194e6278612218eae13497d76b2605489317 [1/4] mm/page-flags: Introduce PG_anon_exlusive which overloads PG_swap for !PageAnon()
config: hexagon-randconfig-r045-20211220 (https://download.01.org/0day-ci/archive/20211221/202112212008.VXy63TTH-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 555eacf75f21cd1dfc6363d73ad187b730349543)
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
        # https://github.com/davidhildenbrand/linux/commit/139b194e6278612218eae13497d76b2605489317
        git remote add davidhildenbrand git://github.com/davidhildenbrand/linux
        git fetch --no-tags davidhildenbrand unshare_new
        git checkout 139b194e6278612218eae13497d76b2605489317
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

>> mm/page_alloc.c:1329:4: error: implicit declaration of function '__ClearPageAnonExlusive' [-Werror,-Wimplicit-function-declaration]
                           __ClearPageAnonExlusive(page);
                           ^
   mm/page_alloc.c:1329:4: note: did you mean '__ClearPageAnonExclusive'?
   include/linux/page-flags.h:964:29: note: '__ClearPageAnonExclusive' declared here
   static __always_inline void __ClearPageAnonExclusive(struct page *page)
                               ^
   mm/page_alloc.c:3807:15: warning: no previous prototype for function 'should_fail_alloc_page' [-Wmissing-prototypes]
   noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
                 ^
   mm/page_alloc.c:3807:10: note: declare 'static' if the function is not intended to be used outside of this translation unit
   noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
            ^
            static 
   1 warning and 1 error generated.


vim +/__ClearPageAnonExlusive +1329 mm/page_alloc.c

  1281	
  1282	static __always_inline bool free_pages_prepare(struct page *page,
  1283				unsigned int order, bool check_free, fpi_t fpi_flags)
  1284	{
  1285		int bad = 0;
  1286		bool skip_kasan_poison = should_skip_kasan_poison(page, fpi_flags);
  1287	
  1288		VM_BUG_ON_PAGE(PageTail(page), page);
  1289	
  1290		trace_mm_page_free(page, order);
  1291	
  1292		if (unlikely(PageHWPoison(page)) && !order) {
  1293			/*
  1294			 * Do not let hwpoison pages hit pcplists/buddy
  1295			 * Untie memcg state and reset page's owner
  1296			 */
  1297			if (memcg_kmem_enabled() && PageMemcgKmem(page))
  1298				__memcg_kmem_uncharge_page(page, order);
  1299			reset_page_owner(page, order);
  1300			return false;
  1301		}
  1302	
  1303		/*
  1304		 * Check tail pages before head page information is cleared to
  1305		 * avoid checking PageCompound for order-0 pages.
  1306		 */
  1307		if (unlikely(order)) {
  1308			bool compound = PageCompound(page);
  1309			int i;
  1310	
  1311			VM_BUG_ON_PAGE(compound && compound_order(page) != order, page);
  1312	
  1313			if (compound) {
  1314				ClearPageDoubleMap(page);
  1315				ClearPageHasHWPoisoned(page);
  1316			}
  1317			for (i = 1; i < (1 << order); i++) {
  1318				if (compound)
  1319					bad += free_tail_pages_check(page, page + i);
  1320				if (unlikely(check_free_page(page + i))) {
  1321					bad++;
  1322					continue;
  1323				}
  1324				(page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
  1325			}
  1326		}
  1327		if (PageMappingFlags(page)) {
  1328			if (__PageAnon(page))
> 1329				__ClearPageAnonExlusive(page);
  1330			page->mapping = NULL;
  1331		}
  1332		if (memcg_kmem_enabled() && PageMemcgKmem(page))
  1333			__memcg_kmem_uncharge_page(page, order);
  1334		if (check_free)
  1335			bad += check_free_page(page);
  1336		if (bad)
  1337			return false;
  1338	
  1339		page_cpupid_reset_last(page);
  1340		page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;
  1341		reset_page_owner(page, order);
  1342	
  1343		if (!PageHighMem(page)) {
  1344			debug_check_no_locks_freed(page_address(page),
  1345						   PAGE_SIZE << order);
  1346			debug_check_no_obj_freed(page_address(page),
  1347						   PAGE_SIZE << order);
  1348		}
  1349	
  1350		kernel_poison_pages(page, 1 << order);
  1351	
  1352		/*
  1353		 * As memory initialization might be integrated into KASAN,
  1354		 * kasan_free_pages and kernel_init_free_pages must be
  1355		 * kept together to avoid discrepancies in behavior.
  1356		 *
  1357		 * With hardware tag-based KASAN, memory tags must be set before the
  1358		 * page becomes unavailable via debug_pagealloc or arch_free_page.
  1359		 */
  1360		if (kasan_has_integrated_init()) {
  1361			if (!skip_kasan_poison)
  1362				kasan_free_pages(page, order);
  1363		} else {
  1364			bool init = want_init_on_free();
  1365	
  1366			if (init)
  1367				kernel_init_free_pages(page, 1 << order, false);
  1368			if (!skip_kasan_poison)
  1369				kasan_poison_pages(page, order, init);
  1370		}
  1371	
  1372		/*
  1373		 * arch_free_page() can make the page's contents inaccessible.  s390
  1374		 * does this.  So nothing which can access the page's contents should
  1375		 * happen after this.
  1376		 */
  1377		arch_free_page(page, order);
  1378	
  1379		debug_pagealloc_unmap_pages(page, 1 << order);
  1380	
  1381		return true;
  1382	}
  1383	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ