Messages in this thread | | | Date | Fri, 16 Mar 2007 18:21:48 +1100 | From | Nick Piggin <> | Subject | Re: [PATCH 1/3] revoke: misc fixes |
| |
Pekka J Enberg wrote: > From: Pekka Enberg <penberg@cs.helsinki.fi> > > This is a rollup patch of the following fixes to address some of Andrew's > review comments: > > - Fix return value type of system calls to long > - Add comment for vma->vm_flag barrier > - No need for GFP_NOFS for inode allocation, use GFP_KERNEL instead > - Remove unnecessary line break before EXPORT_SYMBOL > > Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> > --- > fs/revoke.c | 9 +++++---- > include/linux/syscalls.h | 4 ++-- > 2 files changed, 7 insertions(+), 6 deletions(-) > > Index: uml-2.6/fs/revoke.c > =================================================================== > --- uml-2.6.orig/fs/revoke.c 2007-03-16 08:58:31.000000000 +0200 > +++ uml-2.6/fs/revoke.c 2007-03-16 09:00:37.000000000 +0200 > @@ -167,7 +167,9 @@ static int revoke_vma(struct vm_area_str > end_addr = vma->vm_end; > > /* > - * Not holding ->mmap_sem here. > + * Not holding ->mmap_sem here but we must watch out for page > + * faults and after the shared mappings have been taken down > + * and sys_mmap() trying to remap the revoked range. > */ > vma->vm_flags |= VM_REVOKED; > smp_mb(); > @@ -455,7 +457,7 @@ int err = 0;
You're still modifying vm_flags without down_write mmap_sem, so this will corrupt vm_flags.
-- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com
- 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/
| |