1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2026, Oracle and/or its affiliates. */ 3 /* 4 * Provide kernel BTF inline function information for use by BPF tools. 5 */ 6 #include <linux/btf.h> 7 #include <linux/init.h> 8 #include <linux/kernel.h> 9 #include <linux/module.h> 10 11 #if IS_BUILTIN(CONFIG_DEBUG_INFO_BTF_INLINE) 12 extern char __start_BTF_inline[]; 13 extern char __stop_BTF_inline[]; 14 #endif 15 16 static int __init btf_vmlinux_inline_init(void) 17 { 18 #if IS_BUILTIN(CONFIG_DEBUG_INFO_BTF_INLINE) 19 size_t data_size = __stop_BTF_inline - __start_BTF_inline; 20 21 if (data_size) 22 sysfs_btf_add("vmlinux.inline", __start_BTF_inline, data_size, true, NULL); 23 #endif 24 return 0; 25 } 26 subsys_initcall(btf_vmlinux_inline_init); 27 28 MODULE_DESCRIPTION("BTF inline information for vmlinux"); 29 MODULE_LICENSE("GPL"); 30