Re: revoke: no revoke for nommu

From: Wu, Bryan
Date: Wed Mar 28 2007 - 02:08:51 EST


On Mon, 2007-03-26 at 15:12 +0300, Pekka J Enberg wrote:
> From: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
>
> There's just no sane way to revoke shared memory mappings for NOMMU so lets
> disable the thing completely when CONFIG_MMU=n.
>
> Cc: Bryan Wu <bryan.wu@xxxxxxxxxx>
> Cc: David Howells <dhowells@xxxxxxxxxx>
> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
> ---
> fs/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Index: uml-2.6/fs/Makefile
> ===================================================================
> --- uml-2.6.orig/fs/Makefile 2007-03-26 15:08:42.000000000 +0300
> +++ uml-2.6/fs/Makefile 2007-03-26 15:09:03.000000000 +0300
> @@ -11,7 +11,7 @@ obj-y := open.o read_write.o file_table.
> attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \
> seq_file.o xattr.o libfs.o fs-writeback.o \
> pnode.o drop_caches.o splice.o sync.o utimes.o \
> - stack.o revoke.o revoked_inode.o
> + stack.o
>
> ifeq ($(CONFIG_BLOCK),y)
> obj-y += buffer.o bio.o block_dev.o direct-io.o mpage.o ioprio.o
> @@ -19,6 +19,7 @@ else
> obj-y += no-block.o
> endif
>
> +obj-$(CONFIG_MMU) += revoke.o revoked_inode.o
> obj-$(CONFIG_INOTIFY) += inotify.o
> obj-$(CONFIG_INOTIFY_USER) += inotify_user.o
> obj-$(CONFIG_EPOLL) += eventpoll.o

This solution is not completed in NOMMU.
at least ext2 fs can't find generic_file_revoke():

Log from 2.6.21-rc5-mm2
---
LD init/built-in.o
LD .tmp_vmlinux1
fs/built-in.o:(.rodata+0x2c1c): undefined reference to `generic_file_revoke'
make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Leaving directory `/opt/git-tree/linux-2.6'
make: *** [linux] Error 1

$ grep -r generic_file_revoke fs/
fs/ext2/file.c: .revoke = generic_file_revoke,
Binary file fs/ext2/file.o matches
Binary file fs/ext2/ext2.o matches
Binary file fs/ext2/built-in.o matches
fs/ext3/file.c: .revoke = generic_file_revoke,
fs/revoke.c:int generic_file_revoke(struct file *file)
fs/revoke.c:EXPORT_SYMBOL(generic_file_revoke);
fs/ext4/file.c: .revoke = generic_file_revoke,
Binary file fs/built-in.o matches
_

Thanks
-Bryan Wu
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/