Re: [RFC PATCH] Remove flush_icache_user_range()

From: David Miller
Date: Wed Apr 09 2014 - 12:09:45 EST


From: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx>
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/