ftrace_location_range(9)
β¨ ftrace_location_range(9) β¨
okay so bestie, welcome to the Kernel API Manual β this one's the ftrace_location_range page and honestly it's lowkey iconic. π
π NAME
ftrace_location_range β returns the first address of a traced location if that location touches the ip range you gave it. that's it, that's the whole vibe. π¦
πΈ SYNOPSIS
unsigned long ftrace_location_range (unsigned long start , unsigned long end );
β ARGUMENTS
startβ where your range starts, bestie. the beginning of the range you're searching. pointing at it with a lil sparkle β¨endβ where your range ends, and yes bestie it's inclusive π«Ά.endpoints to the last byte to check, so don't come for it saying it's exclusive because it is NOT.
π RETURN
it hands you back rec->ip if the related ftrace location is at least partly within the address range you passed in. fr fr.
so like, what even is that address? it's the first address of the instruction that is either a NOP or a call to the function tracer. π
and how does it know? it checks the ftrace internal tables to figure out if the address belongs there or not. no cap, that's the whole mechanic. π₯
π SEE ALSO
Kernel file ./kernel/trace/ftrace.c β plus literally the entire ftrace friend group, here they all are, every single one, i did not skip anyone:
ftrace_lookup_ip(9), ftrace_free_filter(9), ftrace_hash_move(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_ops_get_func(9), ftrace_kill(9), ftrace_is_dead(9), register_ftrace_function(9), unregister_ftrace_function(9), ftrace_lookup_symbols(9)
π tiny heads up:ftrace_kill(9)andftrace_is_dead(9)are literally in that list, so likeβ¦ the ftrace lore goes deep. read responsibly babes.
and that's the page!! sourced from ./kernel/trace, dated October 2026, filed under the manual for ftrace_location_range(9). mwah, go trace something gorgeous π§π π
π¦ 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