Messages in this thread |  | | Date | Thu, 08 Mar 2001 21:12:52 +0100 | From | Manfred Spraul <> | Subject | Re: BUG? race between kswapd and ptrace (access_process_vm ) |
| |
Rik van Riel wrote: > > On Wed, 7 Mar 2001, Manfred Spraul wrote: > > > Is kswapd now running without lock_kernel()? > > Indeed ... > > > Then there is a race between swapout and ptrace: > > access_process_vm() accesses the page table entries, only protected with > > the mmap_sem semaphore and lock_kernel(). > > > > Isn't > > > > spin_lock(&mm->page_table_lock); > > > > missing in access_one_page() [in linux/kernel/ptrace.c]? > > You're probably right here ... >
Fixing the bug is more difficult than I thought:
Initially I assumed it would be a two-liner (lock, unlock) but kmap() can sleep.
Can I reuse a kmap_atomic() type or should I add a new type?
I could add local_irq_save() and (ab)use KMAP_BOUNCE_READ, but I'm not sure if that's the Right Thing(tm)
-- Manfred - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |