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

From: Minchan Kim
Date: Thu Mar 09 2017 - 01:02:52 EST


Hi Sergey,

On Thu, Mar 09, 2017 at 01:29:08PM +0900, Sergey Senozhatsky wrote:
> 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
>

Thanks for the report, Sergey!
If others are not against, I want to go this.