| menu "Kernel hacking" |
| |
| source "lib/Kconfig.debug" |
| |
| config FRAME_POINTER |
| bool |
| default y |
| |
| config STRICT_DEVMEM |
| bool "Filter access to /dev/mem" |
| depends on MMU |
| help |
| If this option is disabled, you allow userspace (root) access to all |
| of memory, including kernel and userspace memory. Accidental |
| access to this is obviously disastrous, but specific access can |
| be used by people debugging the kernel. |
| |
| If this option is switched on, the /dev/mem file only allows |
| userspace access to memory mapped peripherals. |
| |
| If in doubt, say Y. |
| |
| config ARM64_PTDUMP |
| bool "Export kernel pagetable layout to userspace via debugfs" |
| depends on DEBUG_KERNEL |
| select DEBUG_FS |
| help |
| Say Y here if you want to show the kernel pagetable layout in a |
| debugfs file. This information is only useful for kernel developers |
| who are working in architecture specific areas of the kernel. |
| It is probably not a good idea to enable this feature in a production |
| kernel. |
| If in doubt, say "N" |
| |
| config EARLY_PRINTK |
| bool "Early printk support" |
| default y |
| help |
| Say Y here if you want to have an early console using the |
| earlyprintk=<name>[,<addr>][,<options>] kernel parameter. It |
| is assumed that the early console device has been initialised |
| by the boot loader prior to starting the Linux kernel. |
| |
| config PID_IN_CONTEXTIDR |
| bool "Write the current PID to the CONTEXTIDR register" |
| help |
| Enabling this option causes the kernel to write the current PID to |
| the CONTEXTIDR register, at the expense of some additional |
| instructions during context switch. Say Y here only if you are |
| planning to use hardware trace tools with this kernel. |
| |
| config DEBUG_SET_MODULE_RONX |
| bool "Set loadable kernel module data as NX and text as RO" |
| depends on MODULES |
| ---help--- |
| This option helps catch unintended modifications to loadable |
| kernel module's text and read-only data. It also prevents execution |
| of module data. Such protection may interfere with run-time code |
| patching and dynamic kernel tracing - and they might also protect |
| against certain classes of kernel exploits. |
| If in doubt, say "N". |
| |
| config FORCE_PAGES |
| bool "Force lowmem to be mapped with 4K pages" |
| help |
| There are some advanced debug features that can only be done when |
| memory is mapped with pages instead of sections. Enable this option |
| to always map lowmem pages with pages. This may have a performance |
| cost due to increased TLB pressure. |
| |
| If unsure say N. |
| |
| config FREE_PAGES_RDONLY |
| bool "Set pages as read only while on the buddy list" |
| select FORCE_PAGES |
| select DEBUG_PAGEALLOC |
| help |
| Pages are always mapped in the kernel. This means that anyone |
| can write to the page if they have the address. Enable this option |
| to mark pages as read only to trigger a fault if any code attempts |
| to write to a page on the buddy list. This may have a performance |
| impact. |
| |
| If unsure, say N. |
| |
| endmenu |