Messages in this thread | | | From | Christoph Rohland <> | Subject | Re: [PATCH] Fix races in 2.4.2-ac22 SysV shared memory | Date | 28 Mar 2001 11:18:16 +0200 |
| |
Hi Stephen,
On Fri, 23 Mar 2001, Stephen C. Tweedie wrote: > @@ -234,11 +243,11 @@ > return -ENOMEM; > } > > - spin_lock(&info->lock); > - shmem_recalc_inode(page->mapping->host); > entry = shmem_swp_entry(info, page->index); > if (IS_ERR(entry)) /* this had been allocted on page allocation */ > BUG(); > + spin_lock(&info->lock); > + shmem_recalc_inode(page->mapping->host); > error = -EAGAIN; > if (entry->val) { > __swap_free(swap, 2);
I think this is wrong. The spinlock protects us against shmem_truncate. shmem_swp_entry cannot sleep in this case since the entry is allocated in nopage.
Greetings Christoph
- 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/
| |