nommu: fix SYSV SHM for NOMMU
Commit c4caa77815
("file
->get_unmapped_area() shouldn't duplicate work of get_unmapped_area()")
broke SYSV SHM for NOMMU by taking away the pointer to
shm_get_unmapped_area() from shm_file_operations.
Put it back conditionally on CONFIG_MMU=n.
file->f_ops->get_unmapped_area() is used to find out the base address for a
mapping of a mappable chardev device or mappable memory-based file (such as a
ramfs file). It needs to be called prior to file->f_ops->mmap() being called.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Greg Ungerer <gerg@snapgear.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8ff410daa0
commit
ed5e5894b2
|
@ -298,6 +298,9 @@ static const struct file_operations shm_file_operations = {
|
||||||
.mmap = shm_mmap,
|
.mmap = shm_mmap,
|
||||||
.fsync = shm_fsync,
|
.fsync = shm_fsync,
|
||||||
.release = shm_release,
|
.release = shm_release,
|
||||||
|
#ifndef CONFIG_MMU
|
||||||
|
.get_unmapped_area = shm_get_unmapped_area,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct file_operations shm_file_operations_huge = {
|
static const struct file_operations shm_file_operations_huge = {
|
||||||
|
|
Loading…
Reference in New Issue