[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Update shared mappings



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);
			}
		}
	}
}


--
This is a majordomo managed list.  To unsubscribe, send a message with
the body 'unsubscribe linux-mm me@address' to: majordomo@kvack.org