"mm: fix lazyfree BUG_ON check in try_to_unmap_one()" build error

From: Sergey Senozhatsky
Date: Wed Mar 08 2017 - 23:29:17 EST


Hello Minchan,

/* I can't https://marc.info/?l=linux-kernel&m=148886631303107 thread
in my mail box for some reason so the Reply-To message-id may be wrong. */



commit "mm: fix lazyfree BUG_ON check in try_to_unmap_one()"
(mmotm fd07630cbf59bead90046dd3e5cfd891e58e6987)


if (VM_WARN_ON_ONCE(PageSwapBacked(page) !=
PageSwapCache(page))) {
...
}


does not compile on !CONFIG_DEBUG_VM configs, because VM_WARN_ONCE() is

#define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))



In file included from ./include/linux/mmdebug.h:4:0,
from ./include/linux/mm.h:8,
from mm/rmap.c:48:
mm/rmap.c: In function âtry_to_unmap_oneâ:
./include/linux/bug.h:45:33: error: void value not ignored as it ought to be
#define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
^
./include/linux/mmdebug.h:49:31: note: in expansion of macro âBUILD_BUG_ON_INVALIDâ
#define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
^~~~~~~~~~~~~~~~~~~~
mm/rmap.c:1416:8: note: in expansion of macro âVM_WARN_ON_ONCEâ
if (VM_WARN_ON_ONCE(PageSwapBacked(page) !=
^~~~~~~~~~~~~~~

-ss