get_addr_ref_64(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so get_addr_ref_64(9) is from the Kernel API Manual, and it's here to obtain a 64-bit linear address ✨. That's the whole name-and-purpose vibe, bestie πŸ’….

✨ SYNOPSIS ✨

void __user * get_addr_ref_64 (struct insn *insn , struct pt_regs *regs
);

πŸŽ€ ARGUMENTS πŸŽ€

  • insn β€” the instruction struct carrying the ModRM and SIB bytes and displacement 🫢
  • regs β€” the structure with register values as seen when entering kernel mode πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

This function is the one you use with 64-bit address encodings when you want to obtain the linear memory address referred by the instruction's ModRM, SIB, displacement bytes and segment base address, as applicable πŸ’…. Like, that's its whole main-character job.

On success, what you get is the linear address referenced by the instruction and registers βœ…. On error, it's -1L 😭.

🌈 SEE ALSO 🌈

Kernel file ./arch/x86/lib/insn-eval.c β€” SEE ALSO refs, in order: is_string_insn(9), insn_has_rep_prefix(9), get_seg_reg_override_idx(9), check_seg_overrides(9), resolve_default_seg(9), resolve_seg_reg(9), get_segment_selector(9), get_reg_offset_16(9), get_desc(9), insn_get_seg_base(9), get_seg_limit(9), insn_get_code_seg_params(9), insn_get_modrm_rm_off(9), insn_get_modrm_reg_off(9), insn_get_modrm_reg_ptr(9), get_seg_base_limit(9), get_eff_addr_reg(9), get_eff_addr_modrm(9), get_eff_addr_modrm_16(9), get_eff_addr_sib(9), get_addr_ref_16(9), get_addr_ref_32(9), insn_get_addr_ref(9), insn_fetch_from_user(9), insn_fetch_from_user_inatomic(9), insn_decode_from_regs(9), insn_decode_mmio(9) 🌸


okay that's the page, bestie β€” source/version ./arch/x86/lib, date October 2026, bye πŸ’…

πŸ“¦ where this page comes from