Re: Update shared mappings

Andrea Arcangeli
1998-12-01T17:50:02Z

On Tue, 1 Dec 1998, Stephen C. Tweedie wrote:

>I think I have: I can reliably deadlock machines with this patch.

s/patch/proggy/ side effect of lots of kernel developing ;)

andrea@dragon:/tmp$ egcc -O2 shared_map.c
andrea@dragon:/tmp$ ./a.out
andrea@dragon:/tmp$

No deadlock at all. Are you sure you are using my _latest_ patch in
arca-39? Some weeks ago I fixed this:

static void update_shared_mappings(struct vm_area_struct *this,
unsigned long address,
pte_t orig_pte)
{
if (this->vm_flags & VM_SHARED)
{
struct file * filp = this->vm_file;
if (filp)
{
struct inode * inode = filp->f_dentry->d_inode;
struct vm_area_struct * shared;

for (shared = inode->i_mmap; shared;
shared = shared->vm_next_share)
{
if (shared->vm_mm == this->vm_mm)
^^^^^ ^^^^^
continue;
update_one_shared_mapping(shared, address,
orig_pte);
}
}
}
}