]>
Commit | Line | Data |
---|---|---|
8c2c3df3 CM |
1 | menu "Kernel hacking" |
2 | ||
3 | source "lib/Kconfig.debug" | |
4 | ||
4ddb9bf8 LA |
5 | config ARM64_PTDUMP_CORE |
6 | def_bool n | |
7 | ||
8 | config ARM64_PTDUMP_DEBUGFS | |
c9465b4e LA |
9 | bool "Export kernel pagetable layout to userspace via debugfs" |
10 | depends on DEBUG_KERNEL | |
4ddb9bf8 | 11 | select ARM64_PTDUMP_CORE |
c9465b4e LA |
12 | select DEBUG_FS |
13 | help | |
14 | Say Y here if you want to show the kernel pagetable layout in a | |
15 | debugfs file. This information is only useful for kernel developers | |
16 | who are working in architecture specific areas of the kernel. | |
17 | It is probably not a good idea to enable this feature in a production | |
18 | kernel. | |
604c8e67 MR |
19 | |
20 | If in doubt, say N. | |
c9465b4e | 21 | |
ec45d1cf WD |
22 | config PID_IN_CONTEXTIDR |
23 | bool "Write the current PID to the CONTEXTIDR register" | |
24 | help | |
25 | Enabling this option causes the kernel to write the current PID to | |
26 | the CONTEXTIDR register, at the expense of some additional | |
27 | instructions during context switch. Say Y here only if you are | |
28 | planning to use hardware trace tools with this kernel. | |
29 | ||
da57a369 MR |
30 | config ARM64_RANDOMIZE_TEXT_OFFSET |
31 | bool "Randomize TEXT_OFFSET at build time" | |
32 | help | |
33 | Say Y here if you want the image load offset (AKA TEXT_OFFSET) | |
34 | of the kernel to be randomized at build-time. When selected, | |
35 | this option will cause TEXT_OFFSET to be randomized upon any | |
36 | build of the kernel, and the offset will be reflected in the | |
37 | text_offset field of the resulting Image. This can be used to | |
38 | fuzz-test bootloaders which respect text_offset. | |
39 | ||
40 | This option is intended for bootloader and/or kernel testing | |
41 | only. Bootloaders must make no assumptions regarding the value | |
42 | of TEXT_OFFSET and platforms must not require a specific | |
43 | value. | |
44 | ||
1404d6f1 LA |
45 | config DEBUG_WX |
46 | bool "Warn on W+X mappings at boot" | |
47 | select ARM64_PTDUMP_CORE | |
48 | ---help--- | |
49 | Generate a warning if any W+X mappings are found at boot. | |
50 | ||
51 | This is useful for discovering cases where the kernel is leaving | |
52 | W+X mappings after applying NX, as such mappings are a security risk. | |
53 | This check also includes UXN, which should be set on all kernel | |
54 | mappings. | |
55 | ||
56 | Look for a message in dmesg output like this: | |
57 | ||
58 | arm64/mm: Checked W+X mappings: passed, no W+X pages found. | |
59 | ||
60 | or like this, if the check failed: | |
61 | ||
62 | arm64/mm: Checked W+X mappings: FAILED, <N> W+X pages found. | |
63 | ||
64 | Note that even if the check fails, your kernel is possibly | |
65 | still fine, as W+X mappings are not a security hole in | |
66 | themselves, what they do is that they make the exploitation | |
67 | of other unfixed kernel bugs easier. | |
68 | ||
69 | There is no runtime or memory usage effect of this option | |
70 | once the kernel has booted up - it's a one time check. | |
71 | ||
72 | If in doubt, say "Y". | |
73 | ||
da141706 | 74 | config DEBUG_ALIGN_RODATA |
0f5bf6d0 | 75 | depends on STRICT_KERNEL_RWX |
da141706 LA |
76 | bool "Align linker sections up to SECTION_SIZE" |
77 | help | |
78 | If this option is enabled, sections that may potentially be marked as | |
79 | read only or non-executable will be aligned up to the section size of | |
80 | the kernel. This prevents sections from being split into pages and | |
81 | avoids a potential TLB penalty. The downside is an increase in | |
82 | alignment and potentially wasted space. Turn on this option if | |
83 | performance is more important than memory pressure. | |
84 | ||
604c8e67 | 85 | If in doubt, say N. |
da141706 | 86 | |
757b435a AB |
87 | config DEBUG_EFI |
88 | depends on EFI && DEBUG_INFO | |
89 | bool "UEFI debugging" | |
90 | help | |
91 | Enable this option to include EFI specific debugging features into | |
92 | the kernel that are only useful when using a debug build of the | |
93 | UEFI firmware | |
94 | ||
01081f5a | 95 | source "drivers/hwtracing/coresight/Kconfig" |
3288731e | 96 | |
8c2c3df3 | 97 | endmenu |