ftrace_set_filter_ip(9)
β¨ ftrace_set_filter_ip(9) β¨
okay so this is a page straight out of the Kernel API Manual (section 9, the kernel-functions girlies π) and we're talking about ftrace_set_filter_ip β lowkey the function that lets you point at a function by address and say "yeah, that one, filter on that one bestie." π
π NAME π
ftrace_set_filter_ip β set a function to filter on in ftrace, but by address π¦
πΈ SYNOPSIS πΈ
int ftrace_set_filter_ip (struct ftrace_ops *ops , unsigned long ip ,
int remove , int reset );
like yes she takes four whole args, she's thorough, we respect her π
π ARGUMENTS π
opsβ the ops you're setting the filter with. the main character of this whole situation πipβ the address you're adding to (or removing from) the filter, fr fr πremoveβ non zero = take theipout of the filter. bye bestie πresetβ non zero = reset all filters before applying this filter. clean slate energy β¨
π¦ DESCRIPTION π¦
So. Filters denote which functions should be enabled when tracing is enabled β that's the whole vibe, that's the assignment π
If ip is NULL, it fails to update the filter. like it just doesn't work, that's the rule, no cap π
β οΈ okay this part matters: this can allocate memory, and that memory must be freed beforeopscan be freed β either by removing each filtered addr one by one, or by usingftrace_free_filter(ops). do not skip this step, i'm literally begging ππ
β SEE ALSO β
Kernel file ./kernel/trace/ftrace.c β and here's the whole friend group, no one left out π«Ά:
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_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_ops_get_func(9), ftrace_kill(9), ftrace_is_dead(9), register_ftrace_function(9), unregister_ftrace_function(9), ftrace_lookup_symbols(9)
and that's the page!! π§ this lil drop is sourced from ./kernel/trace and stamped October 2026 β go forth and filter responsibly, mwah ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms