From: Kaitao Cheng <[email protected]> Page flag helpers for configuration-dependent flags provide false or no-op variants so that their users can be independent of the configuration.
The HWPoison helpers do not fully follow this pattern. When CONFIG_MEMORY_FAILURE is enabled, PAGEFLAG() and TESTSCFLAG() provide the regular, test-and-set, and test-and-clear operations. When it is disabled, only PAGEFLAG_FALSE() is instantiated, leaving TestSetPageHWPoison() and TestClearPageHWPoison() undefined. Use TESTSCFLAG_FALSE() to provide the missing accessors when memory failure handling is disabled. Both accessors return false, which is consistent with HWPoison state being unavailable, and makes the accessor interface consistent across configurations. Signed-off-by: Kaitao Cheng <[email protected]> --- include/linux/page-flags.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 7a863572adce..a2315ab1dd3a 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -656,6 +656,7 @@ TESTSCFLAG(HWPoison, hwpoison, PF_ANY) #define __PG_HWPOISON (1UL << PG_hwpoison) #else PAGEFLAG_FALSE(HWPoison, hwpoison) +TESTSCFLAG_FALSE(HWPoison, hwpoison) #define __PG_HWPOISON 0 #endif -- 2.50.1 (Apple Git-155)

