On Mon, Apr 21, 2014 at 9:16 AM, David Long dave.long@linaro.org wrote:
void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, const void *src, int len) { void *kaddr = kmap_atomic(page);
#ifdef CONFIG_SMP preempt_disable(); #endif
That #ifdef seems totally pointless. Make it unconditional, or remove it entirely (the kmap_atomic() already causes us to be non-preemptible in practice).
Linus