diff options
author | David Howells <dhowells@redhat.com> | 2007-07-31 03:37:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 18:39:36 -0400 |
commit | 2e92a3baee64112fd210a930276bad165b0bd576 (patch) | |
tree | 00e9e59fe3fe4ce84d2fb00b134a02a9137acdc7 | |
parent | 6a302358d87fedaf7bda12b8e909265ebf1ce674 (diff) |
NOMMU: Fix SYSV IPC SHM
Fix the SYSV IPC SHM to work with the changes applied by the new fault handler
patches when CONFIG_MMU=n.
Signed-off-by: David Howells <dhowells@redhat.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/ramfs/file-nommu.c | 7 | ||||
-rw-r--r-- | ipc/shm.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c index cad2b7ace630..237fe8b8e819 100644 --- a/fs/ramfs/file-nommu.c +++ b/fs/ramfs/file-nommu.c | |||
@@ -295,5 +295,10 @@ unsigned long ramfs_nommu_get_unmapped_area(struct file *file, | |||
295 | */ | 295 | */ |
296 | int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma) | 296 | int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma) |
297 | { | 297 | { |
298 | return vma->vm_flags & VM_SHARED ? 0 : -ENOSYS; | 298 | if (!(vma->vm_flags & VM_SHARED)) |
299 | return -ENOSYS; | ||
300 | |||
301 | file_accessed(file); | ||
302 | vma->vm_ops = &generic_file_vm_ops; | ||
303 | return 0; | ||
299 | } | 304 | } |
@@ -268,7 +268,9 @@ static int shm_mmap(struct file * file, struct vm_area_struct * vma) | |||
268 | if (ret != 0) | 268 | if (ret != 0) |
269 | return ret; | 269 | return ret; |
270 | sfd->vm_ops = vma->vm_ops; | 270 | sfd->vm_ops = vma->vm_ops; |
271 | #ifdef CONFIG_MMU | ||
271 | BUG_ON(!sfd->vm_ops->fault); | 272 | BUG_ON(!sfd->vm_ops->fault); |
273 | #endif | ||
272 | vma->vm_ops = &shm_vm_ops; | 274 | vma->vm_ops = &shm_vm_ops; |
273 | shm_open(vma); | 275 | shm_open(vma); |
274 | 276 | ||