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)


Reply via email to