diff options
Diffstat (limited to 'include/linux/page-flags-layout.h')
-rw-r--r-- | include/linux/page-flags-layout.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/linux/page-flags-layout.h b/include/linux/page-flags-layout.h index 1dda31825ec4..71283739ffd2 100644 --- a/include/linux/page-flags-layout.h +++ b/include/linux/page-flags-layout.h | |||
@@ -32,6 +32,7 @@ | |||
32 | 32 | ||
33 | #endif /* CONFIG_SPARSEMEM */ | 33 | #endif /* CONFIG_SPARSEMEM */ |
34 | 34 | ||
35 | #ifndef BUILD_VDSO32_64 | ||
35 | /* | 36 | /* |
36 | * page->flags layout: | 37 | * page->flags layout: |
37 | * | 38 | * |
@@ -76,20 +77,22 @@ | |||
76 | #define LAST_CPUPID_SHIFT 0 | 77 | #define LAST_CPUPID_SHIFT 0 |
77 | #endif | 78 | #endif |
78 | 79 | ||
79 | #if SECTIONS_WIDTH+ZONES_WIDTH+NODES_SHIFT+LAST_CPUPID_SHIFT <= BITS_PER_LONG - NR_PAGEFLAGS | 80 | #ifdef CONFIG_KASAN_SW_TAGS |
81 | #define KASAN_TAG_WIDTH 8 | ||
82 | #else | ||
83 | #define KASAN_TAG_WIDTH 0 | ||
84 | #endif | ||
85 | |||
86 | #if SECTIONS_WIDTH+ZONES_WIDTH+NODES_SHIFT+LAST_CPUPID_SHIFT+KASAN_TAG_WIDTH \ | ||
87 | <= BITS_PER_LONG - NR_PAGEFLAGS | ||
80 | #define LAST_CPUPID_WIDTH LAST_CPUPID_SHIFT | 88 | #define LAST_CPUPID_WIDTH LAST_CPUPID_SHIFT |
81 | #else | 89 | #else |
82 | #define LAST_CPUPID_WIDTH 0 | 90 | #define LAST_CPUPID_WIDTH 0 |
83 | #endif | 91 | #endif |
84 | 92 | ||
85 | #ifdef CONFIG_KASAN_SW_TAGS | ||
86 | #define KASAN_TAG_WIDTH 8 | ||
87 | #if SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH+LAST_CPUPID_WIDTH+KASAN_TAG_WIDTH \ | 93 | #if SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH+LAST_CPUPID_WIDTH+KASAN_TAG_WIDTH \ |
88 | > BITS_PER_LONG - NR_PAGEFLAGS | 94 | > BITS_PER_LONG - NR_PAGEFLAGS |
89 | #error "KASAN: not enough bits in page flags for tag" | 95 | #error "Not enough bits in page flags" |
90 | #endif | ||
91 | #else | ||
92 | #define KASAN_TAG_WIDTH 0 | ||
93 | #endif | 96 | #endif |
94 | 97 | ||
95 | /* | 98 | /* |
@@ -104,4 +107,5 @@ | |||
104 | #define LAST_CPUPID_NOT_IN_PAGE_FLAGS | 107 | #define LAST_CPUPID_NOT_IN_PAGE_FLAGS |
105 | #endif | 108 | #endif |
106 | 109 | ||
110 | #endif | ||
107 | #endif /* _LINUX_PAGE_FLAGS_LAYOUT */ | 111 | #endif /* _LINUX_PAGE_FLAGS_LAYOUT */ |