|
25 | 25 | /* 64-bit segment value. */
|
26 | 26 | #define XKPRANGE_UC_SEG (0x8000)
|
27 | 27 | #define XKPRANGE_CC_SEG (0x9000)
|
| 28 | +#define XKPRANGE_WC_SEG (0xa000) |
28 | 29 | #define XKVRANGE_VC_SEG (0xffff)
|
29 | 30 |
|
30 | 31 | /* Cached */
|
|
41 | 42 | #define XKPRANGE_UC_SHADOW_SIZE (XKPRANGE_UC_SIZE >> KASAN_SHADOW_SCALE_SHIFT)
|
42 | 43 | #define XKPRANGE_UC_SHADOW_END (XKPRANGE_UC_KASAN_OFFSET + XKPRANGE_UC_SHADOW_SIZE)
|
43 | 44 |
|
| 45 | +/* WriteCombine */ |
| 46 | +#define XKPRANGE_WC_START WRITECOMBINE_BASE |
| 47 | +#define XKPRANGE_WC_SIZE XRANGE_SIZE |
| 48 | +#define XKPRANGE_WC_KASAN_OFFSET XKPRANGE_UC_SHADOW_END |
| 49 | +#define XKPRANGE_WC_SHADOW_SIZE (XKPRANGE_WC_SIZE >> KASAN_SHADOW_SCALE_SHIFT) |
| 50 | +#define XKPRANGE_WC_SHADOW_END (XKPRANGE_WC_KASAN_OFFSET + XKPRANGE_WC_SHADOW_SIZE) |
| 51 | + |
44 | 52 | /* VMALLOC (Cached or UnCached) */
|
45 | 53 | #define XKVRANGE_VC_START MODULES_VADDR
|
46 | 54 | #define XKVRANGE_VC_SIZE round_up(KFENCE_AREA_END - MODULES_VADDR + 1, PGDIR_SIZE)
|
47 |
| -#define XKVRANGE_VC_KASAN_OFFSET XKPRANGE_UC_SHADOW_END |
| 55 | +#define XKVRANGE_VC_KASAN_OFFSET XKPRANGE_WC_SHADOW_END |
48 | 56 | #define XKVRANGE_VC_SHADOW_SIZE (XKVRANGE_VC_SIZE >> KASAN_SHADOW_SCALE_SHIFT)
|
49 | 57 | #define XKVRANGE_VC_SHADOW_END (XKVRANGE_VC_KASAN_OFFSET + XKVRANGE_VC_SHADOW_SIZE)
|
50 | 58 |
|
|
55 | 63 |
|
56 | 64 | #define XKPRANGE_CC_SHADOW_OFFSET (KASAN_SHADOW_START + XKPRANGE_CC_KASAN_OFFSET)
|
57 | 65 | #define XKPRANGE_UC_SHADOW_OFFSET (KASAN_SHADOW_START + XKPRANGE_UC_KASAN_OFFSET)
|
| 66 | +#define XKPRANGE_WC_SHADOW_OFFSET (KASAN_SHADOW_START + XKPRANGE_WC_KASAN_OFFSET) |
58 | 67 | #define XKVRANGE_VC_SHADOW_OFFSET (KASAN_SHADOW_START + XKVRANGE_VC_KASAN_OFFSET)
|
59 | 68 |
|
60 | 69 | extern bool kasan_early_stage;
|
|
0 commit comments