config: add an option to enable KPROBE
authorJohn Crispin <john@openwrt.org>
Wed, 1 Apr 2015 08:33:04 +0000 (08:33 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 1 Apr 2015 08:33:04 +0000 (08:33 +0000)
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
SVN-Revision: 45212

config/Config-kernel.in
include/kernel-defaults.mk
target/linux/generic/config-3.10
target/linux/generic/config-3.14
target/linux/generic/config-3.18
target/linux/generic/config-4.0

index 84711298a61b2a497ffc3388e5e0228c2fb2671d..cc8df5ae563f15404e2103b37a0c854c3d93ded6 100644 (file)
@@ -127,6 +127,23 @@ config KERNEL_EARLY_PRINTK
          debugging purposes to send messages over the serial console in early boot.
          Enable this to debug early boot problems.
 
          debugging purposes to send messages over the serial console in early boot.
          Enable this to debug early boot problems.
 
+config KERNEL_KPROBES
+       bool "Compile the kernel with kprobes support"
+       default n
+       select KERNEL_FTRACE
+       select KERNEL_PERF_EVENTS
+       help
+         Compiles the kernel with KPROBES support, which allows you to trap
+         at almost any kernel address and execute a callback function.
+         register_kprobe() establishes a probepoint and specifies the
+         callback. Kprobes is useful for kernel debugging, non-intrusive
+         instrumentation and testing.
+         If in doubt, say "N".
+
+config KERNEL_KPROBE_EVENT
+       bool
+       default y if KERNEL_KPROBES
+
 config KERNEL_AIO
        bool "Compile the kernel with asynchronous IO support"
        default n
 config KERNEL_AIO
        bool "Compile the kernel with asynchronous IO support"
        default n
index 3a32209b56b74d4e6179719a1ddc865cfd672d17..24d26308b129b5202afa6bca61fbd3806ea6d916 100644 (file)
@@ -107,7 +107,6 @@ define Kernel/Configure/Default
        echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
        echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
        echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(LINUX_DIR)/.config.target
        echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
        echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
        echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(LINUX_DIR)/.config.target
-       echo "# CONFIG_KPROBES is not set" >> $(LINUX_DIR)/.config.target
        $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
        $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
        $(call Kernel/SetNoInitramfs)
        $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
        $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
        $(call Kernel/SetNoInitramfs)
index 4ccc96979f649d381b68fbf54ed2220c3be5120a..c16d04bbf5e6ee9ce5118c558ab9ec8f1a695f6a 100644 (file)
@@ -204,6 +204,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y
 # CONFIG_ARM_ERRATA_764369 is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
 # CONFIG_ARM_ERRATA_764369 is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
+# CONFIG_ARM_KPROBES_TEST is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_UNWIND is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_UNWIND is not set
@@ -1551,6 +1552,7 @@ CONFIG_KERNEL_XZ=y
 # CONFIG_KGDB is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KPROBES is not set
 # CONFIG_KGDB is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KPROBES is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
@@ -2172,6 +2174,7 @@ CONFIG_NET_SCH_FQ_CODEL=y
 # CONFIG_NET_SCH_SFQ is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
 # CONFIG_NET_SCH_SFQ is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
+# CONFIG_NET_TCPPROBE is not set
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 CONFIG_NET_VENDOR_3COM=y
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 CONFIG_NET_VENDOR_3COM=y
@@ -2569,6 +2572,7 @@ CONFIG_PPP_MULTILINK=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_TRACER is not set
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
index 150c6e3b5c835119ac49e88ae532f0888a51395b..846ea1ec774883863a7d6a751f00fe465f741bc1 100644 (file)
@@ -229,6 +229,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y
 # CONFIG_ARM_ERRATA_773022 is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
 # CONFIG_ARM_ERRATA_773022 is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
+# CONFIG_ARM_KPROBES_TEST is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_PTDUMP is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_PTDUMP is not set
@@ -1687,6 +1688,7 @@ CONFIG_KERNEL_XZ=y
 # CONFIG_KGDB is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KPROBES is not set
 # CONFIG_KGDB is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KPROBES is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
@@ -2347,6 +2349,7 @@ CONFIG_NET_SCH_FQ_CODEL=y
 # CONFIG_NET_SCH_SFQ is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
 # CONFIG_NET_SCH_SFQ is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
+# CONFIG_NET_TCPPROBE is not set
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 CONFIG_NET_VENDOR_3COM=y
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 CONFIG_NET_VENDOR_3COM=y
@@ -2762,6 +2765,7 @@ CONFIG_PPP_MULTILINK=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_TRACER is not set
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
index ce721b0c40206c51267dd1d289c4044e9f71fe13..d971aa745ef247417fbcf8d108bd1106fee35622 100644 (file)
@@ -247,6 +247,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y
 # CONFIG_ARM_ERRATA_773022 is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
 # CONFIG_ARM_ERRATA_773022 is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
+# CONFIG_ARM_KPROBES_TEST is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_PTDUMP is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_PTDUMP is not set
@@ -1767,6 +1768,7 @@ CONFIG_KERNFS=y
 # CONFIG_KGDB is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KPROBES is not set
 # CONFIG_KGDB is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KPROBES is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
@@ -2468,6 +2470,7 @@ CONFIG_NET_SCH_FQ_CODEL=y
 # CONFIG_NET_SCH_SFQ is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
 # CONFIG_NET_SCH_SFQ is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
+# CONFIG_NET_TCPPROBE is not set
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 # CONFIG_NET_UDP_TUNNEL is not set
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 # CONFIG_NET_UDP_TUNNEL is not set
@@ -2896,6 +2899,7 @@ CONFIG_PPP_MULTILINK=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_TRACER is not set
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
index 5e12b3b3f753c2a7e2b554b5f5775a039637fdf1..1f4d62427361e6db2ba442d2f01ab5eeebf8e0a1 100644 (file)
@@ -249,6 +249,7 @@ CONFIG_ARM_DMA_MEM_BUFFERABLE=y
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
 # CONFIG_ARM_KERNMEM_PERMS is not set
 # CONFIG_ARM_ERRATA_775420 is not set
 # CONFIG_ARM_ERRATA_798181 is not set
 # CONFIG_ARM_KERNMEM_PERMS is not set
+# CONFIG_ARM_KPROBES_TEST is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_PTDUMP is not set
 # CONFIG_ARM_PATCH_PHYS_VIRT is not set
 # CONFIG_ARM_PSCI is not set
 # CONFIG_ARM_PTDUMP is not set
@@ -1801,6 +1802,7 @@ CONFIG_KERNFS=y
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KMX61 is not set
 # CONFIG_KPROBES is not set
 # CONFIG_KMEMCHECK is not set
 # CONFIG_KMX61 is not set
 # CONFIG_KPROBES is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
 # CONFIG_KS8851_MLL is not set
@@ -2517,6 +2519,7 @@ CONFIG_NET_SCH_FQ_CODEL=y
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
 # CONFIG_NET_SWITCHDEV is not set
 # CONFIG_NET_SCH_TBF is not set
 # CONFIG_NET_SCH_TEQL is not set
 # CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_TCPPROBE is not set
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 # CONFIG_NET_UDP_TUNNEL is not set
 # CONFIG_NET_TEAM is not set
 # CONFIG_NET_TULIP is not set
 # CONFIG_NET_UDP_TUNNEL is not set
@@ -2951,6 +2954,7 @@ CONFIG_PPP_MULTILINK=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PPTP is not set
 # CONFIG_PREEMPT is not set
 CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_TRACER is not set
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_PRINTK=y