> > + if (segment_is_ldt(regs->xcs) && (current->mm)) { > > + struct desc_struct *desc = &LDT_DESCRIPTOR(regs->xcs); > > + addr = (kprobe_opcode_t *) (get_desc_base(desc) + regs->eip - This should be just fixed to use a common helper to resolve a user address with segment bases. On x86-64 the helper is called convert_rip_to_linear. There is some other code who does similar things. -Andi