ftrace_location_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 🫢. end points 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) and ftrace_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