From: Russell King - ARM Linux <[email protected]>
Date: Wed, 9 Apr 2014 11:01:50 +0100

> What has been proposed for uprobes is a uprobe specific function -
> flush_uprobe_xol_access() which is used after uprobes writes via the
> kmap_atomic() mapping of the page:
> 
> +       xol_page_kaddr = kmap_atomic(area->page);
> +
> +       /* Initialize the slot */
> +       memcpy(xol_page_kaddr + (xol_vaddr & ~PAGE_MASK),
> +              &uprobe->arch.ixol,
> +              sizeof(uprobe->arch.ixol));
> +
> +       arch_uprobe_flush_xol_access(area->page, xol_vaddr,
> +                                    xol_page_kaddr + (xol_vaddr & 
> ~PAGE_MASK),
> +                                    sizeof(uprobe->arch.ixol));
> +
> +       kunmap_atomic(xol_page_kaddr);
> 
> Comments?

ptrace() accesses (via __access_remote_vm()) already use an existing
helper function for these sorts of situations, in the form of
copy_{to,from}_user_page().  I would suggest that uprobes uses that
as well.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to