struct mutex mutex;
};
-#ifdef CONFIG_DEBUG_INFO_BTF_MODULES
+#if defined(CONFIG_DEBUG_INFO_BTF_MODULES) || defined(CONFIG_DEBUG_INFO_BTF_MODULES_NOOP)
void register_kfunc_btf_id_set(struct kfunc_btf_id_list *l,
struct kfunc_btf_id_set *s);
void unregister_kfunc_btf_id_set(struct kfunc_btf_id_list *l,
unsigned int num_bpf_raw_events;
struct bpf_raw_event_map *bpf_raw_events;
#endif
-#ifdef CONFIG_DEBUG_INFO_BTF_MODULES
+#if defined(CONFIG_DEBUG_INFO_BTF_MODULES) || defined(CONFIG_DEBUG_INFO_BTF_MODULES_NOOP)
unsigned int btf_data_size;
void *btf_data;
#endif
return false;
}
+#elif defined(CONFIG_DEBUG_INFO_BTF_MODULES_NOOP)
+
+void register_kfunc_btf_id_set(struct kfunc_btf_id_list *l,
+ struct kfunc_btf_id_set *s)
+{
+}
+EXPORT_SYMBOL_GPL(register_kfunc_btf_id_set);
+
+void unregister_kfunc_btf_id_set(struct kfunc_btf_id_list *l,
+ struct kfunc_btf_id_set *s)
+{
+}
+EXPORT_SYMBOL_GPL(unregister_kfunc_btf_id_set);
+
+bool bpf_check_mod_kfunc_call(struct kfunc_btf_id_list *klist, u32 kfunc_id,
+ struct module *owner)
+{
+ return false;
+}
+
+#endif /* CONFIG_DEBUG_INFO_BTF_MODULES */
+
+#if defined(CONFIG_DEBUG_INFO_BTF_MODULES) || defined(CONFIG_DEBUG_INFO_BTF_MODULES_NOOP)
+
#define DEFINE_KFUNC_BTF_ID_LIST(name) \
struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
__MUTEX_INITIALIZER(name.mutex) }; \
endif # DEBUG_INFO
+if !DEBUG_INFO
+
+config DEBUG_INFO_BTF_MODULES_NOOP
+ bool "Provide no-op BTF ABI to modules"
+ help
+ Enable this option instead of DEBUG_INFO_BTF to avoid an ABI
+ change when debug info is disabled.
+
+endif
+
config FRAME_WARN
int "Warn for stack frames larger than"
range 0 8192