ftrace_ops_get_func(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ftrace_ops_get_func(9) β€” like, the Kernel API Manual, bestie ✨

okay so welcome to the group chat, this is ftrace_ops_get_func from the Kernel API Manual and honestly she's a tiny little function with main character energy πŸŽ€


✨ NAME ✨

ftrace_ops_get_func β€” get the function a trampoline should call πŸ¦‹


🌸 SYNOPSIS 🌸

ftrace_func_t ftrace_ops_get_func (struct ftrace_ops *ops );

πŸ’– ARGUMENTS πŸ’–

  • ops β€” the ops you're getting the function for. that's it, that's the whole argument, she's lowkey simple 🫢

πŸ’… DESCRIPTION πŸ’…

okay so normally the mcount trampoline is gonna call ops->func, that's the vibe, that's the default 😌

but β€” and this is the plot twist β€” there are times when it should not. for example: if the ops doesn't have its own recursion protection, then it should call the ftrace_ops_assist_func instead. periodt. πŸ’€

that's literally it, no cap, she's a small queen with one job πŸ‘‘


🌈 RETURN 🌈

the function that the trampoline should call for ops. that's the whole return value, slay ✨


πŸŽ€ SEE ALSO πŸŽ€

Kernel file ./kernel/trace/ftrace.c, plus the whole friend group: ftrace_lookup_ip(9), ftrace_free_filter(9), ftrace_hash_move(9), ftrace_location_range(9), ftrace_location(9), ftrace_text_reserved(9), ftrace_bug(9), ftrace_update_record(9), ftrace_test_record(9), ftrace_get_addr_new(9), ftrace_get_addr_curr(9), ftrace_rec_iter_start(9), ftrace_rec_iter_next(9), ftrace_rec_iter_record(9), ftrace_run_stop_machine(9), arch_ftrace_update_code(9), ftrace_startup_subops(9), ftrace_shutdown_subops(9), ftrace_regex_open(9), allocate_ftrace_func_mapper(9), ftrace_func_mapper_find_ip(9), ftrace_func_mapper_add_ip(9), ftrace_func_mapper_remove_ip(9), free_ftrace_func_mapper(9), register_ftrace_direct(9), unregister_ftrace_direct(9), modify_ftrace_direct_nolock(9), modify_ftrace_direct(9), hash_add(9), update_ftrace_direct_add(9), hash_sub(9), update_ftrace_direct_del(9), update_ftrace_direct_mod(9), ftrace_set_filter_ip(9), ftrace_set_filter_ips(9), ftrace_ops_set_global_filter(9), ftrace_set_filter(9), ftrace_set_notrace(9), ftrace_set_global_filter(9), ftrace_set_global_notrace(9), ftrace_kill(9), ftrace_is_dead(9), register_ftrace_function(9), unregister_ftrace_function(9), ftrace_lookup_symbols(9) β€” go read all of them, iykyk πŸ“šπŸ’œ


k bye bestie, this page came from ./kernel/trace, dated October 2026, and it's ftrace_ops_get_func(9) β€” drink some water and unregister your ftrace functions properly πŸ’–πŸ§š

πŸ“¦ where this page comes from