[openwrt/openwrt] kernel: add MODULE_ALLOW_BTF_MISMATCH option

LEDE Commits lede-commits at lists.infradead.org
Thu May 18 07:18:24 PDT 2023


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/c07038da27cefa5a93e433909b9aca594386ddc1

commit c07038da27cefa5a93e433909b9aca594386ddc1
Author: Tianling Shen <cnsztl at immortalwrt.org>
AuthorDate: Tue May 16 12:38:53 2023 +0800

    kernel: add MODULE_ALLOW_BTF_MISMATCH option
    
    BTF mismatch can occur for a separately-built module even when the ABI
    is otherwise compatible and nothing else would prevent successfully
    loading. Add a new config to control how mismatches are handled. By
    default, preserve the current behavior of refusing to load the
    module. If MODULE_ALLOW_BTF_MISMATCH is enabled, load the module but
    ignore its BTF information.
    
    Signed-off-by: Tianling Shen <cnsztl at immortalwrt.org>
---
 config/Config-kernel.in | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/config/Config-kernel.in b/config/Config-kernel.in
index 3a2189d63a..6c5e6a967a 100644
--- a/config/Config-kernel.in
+++ b/config/Config-kernel.in
@@ -373,6 +373,16 @@ config KERNEL_DEBUG_INFO_BTF
 
 	  Required to run BPF CO-RE applications.
 
+config KERNEL_MODULE_ALLOW_BTF_MISMATCH
+	bool "Allow loading modules with non-matching BTF type info"
+	depends on KERNEL_DEBUG_INFO_BTF
+	help
+	  For modules whose split BTF does not match vmlinux, load without
+	  BTF rather than refusing to load. The default behavior with
+	  module BTF enabled is to reject modules with such mismatches;
+	  this option will still load module BTF where possible but ignore
+	  it when a mismatch is found.
+
 config KERNEL_DEBUG_INFO_REDUCED
 	bool "Reduce debugging information"
 	default y




More information about the lede-commits mailing list