Hi Kirill, while looking at something unrelated I have stumbled over %subj and I simply do not understand how BUILD_BUG_ON_INVALID is supposed to work for page flags checks which are dynamic by definition. BUILD_BUG_ON_INVALID is noop without any side effects unless __CHECKER__ is enabled when it evaluates to ((void )(sizeof((__force long )(e)))). How is this supposed to work? Am I just confused or BUILD_BUG_ON_INVALID is simply not a good fit here and all you wanted is the no side-effect nature of it? Thanks! -- Michal Hocko SUSE Labs