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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 16 Mar 2020 20:24:51 -0700
From:   Yang Shi <yang.shi@...ux.alibaba.com>
To:     kbuild test robot <lkp@...el.com>
Cc:     kbuild-all@...ts.01.org, shakeelb@...gle.com, vbabka@...e.cz,
        willy@...radead.org, akpm@...ux-foundation.org, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [v2 PATCH 1/2] mm: swap: make page_evictable() inline



On 3/16/20 8:00 PM, kbuild test robot wrote:
> Hi Yang,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on mmotm/master]
> [also build test ERROR on linus/master v5.6-rc6 next-20200316]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url:    https://github.com/0day-ci/linux/commits/Yang-Shi/mm-swap-make-page_evictable-inline/20200317-094836
> base:   git://git.cmpxchg.org/linux-mmotm.git master
> config: i386-tinyconfig (attached as .config)
> compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
> reproduce:
>          # save the attached .config to linux build tree
>          make ARCH=i386
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@...el.com>
>
> All errors (new ones prefixed by >>):
>
>     In file included from include/linux/suspend.h:5:0,
>                      from arch/x86/kernel/asm-offsets.c:13:
>     include/linux/swap.h: In function 'page_evictable':
>>> include/linux/swap.h:395:9: error: implicit declaration of function 'mapping_unevictable'; did you mean 'mapping_deny_writable'? [-Werror=implicit-function-declaration]

It looks pagemap.h need to be included. The below patch should be able 
to fix the build error:

diff --git a/include/linux/swap.h b/include/linux/swap.h
index d296c70..e8b8bbe 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -12,6 +12,7 @@
  #include <linux/fs.h>
  #include <linux/atomic.h>
  #include <linux/page-flags.h>
+#include <linux/pagemap.h>
  #include <asm/page.h>

  struct notifier_block;


>       ret = !mapping_unevictable(page_mapping(page)) && !PageMlocked(page);
>              ^~~~~~~~~~~~~~~~~~~
>              mapping_deny_writable
>     cc1: some warnings being treated as errors
>     make[2]: *** [scripts/Makefile.build:99: arch/x86/kernel/asm-offsets.s] Error 1
>     make[2]: Target '__build' not remade because of errors.
>     make[1]: *** [Makefile:1139: prepare0] Error 2
>     make[1]: Target 'prepare' not remade because of errors.
>     make: *** [Makefile:179: sub-make] Error 2
>     11 real  4 user  5 sys  89.51% cpu 	make prepare
>
> vim +395 include/linux/swap.h
>
>     376	
>     377	/**
>     378	 * page_evictable - test whether a page is evictable
>     379	 * @page: the page to test
>     380	 *
>     381	 * Test whether page is evictable--i.e., should be placed on active/inactive
>     382	 * lists vs unevictable list.
>     383	 *
>     384	 * Reasons page might not be evictable:
>     385	 * (1) page's mapping marked unevictable
>     386	 * (2) page is part of an mlocked VMA
>     387	 *
>     388	 */
>     389	static inline bool page_evictable(struct page *page)
>     390	{
>     391		bool ret;
>     392	
>     393		/* Prevent address_space of inode and swap cache from being freed */
>     394		rcu_read_lock();
>   > 395		ret = !mapping_unevictable(page_mapping(page)) && !PageMlocked(page);
>     396		rcu_read_unlock();
>     397		return ret;
>     398	}
>     399	
>
> ---
> 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