Re: revoke: no revoke for nommu

Previous thread: Re: [PATCH 1/2] MSR: Add support for safe variants by Mikael Pettersson on Monday, March 26, 2007 - 4:57 am. (3 messages)

Next thread: Question: half-duplex and full-duplex serial driver by Mockern on Monday, March 26, 2007 - 6:53 am. (3 messages)
From: Pekka J Enberg
Date: Monday, March 26, 2007 - 5:12 am

From: Pekka Enberg <penberg@cs.helsinki.fi>

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@analog.com> 
Cc: David Howells <dhowells@redhat.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---
 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
-

From: David Howells
Date: Monday, March 26, 2007 - 5:25 am

I think that's reasonable for now - we can always add support as far as
possible later.

David
-

From: Wu, Bryan
Date: Monday, March 26, 2007 - 8:42 pm

Yes, we can test this on Blackfin arch and maybe add support later with
Blackfin MPU.

Thanks
-Bryan
-

From: Wu, Bryan
Date: Tuesday, March 27, 2007 - 11:09 pm

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
-

From: Pekka J Enberg
Date: Tuesday, March 27, 2007 - 11:24 pm

From: Pekka Enberg <penberg@cs.helsinki.fi>

As NOMMU does not include fs/revoke.c, we need to provide a stub for
generic_file_revoke() so that filesystems using it compile.

Cc: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
---
 include/linux/fs.h |    4 ++++
 1 file changed, 4 insertions(+)

Index: uml-2.6/include/linux/fs.h
===================================================================
--- uml-2.6.orig/include/linux/fs.h	2007-03-28 09:18:57.000000000 +0300
+++ uml-2.6/include/linux/fs.h	2007-03-28 09:20:48.000000000 +0300
@@ -1741,7 +1741,11 @@ extern long do_splice_direct(struct file
 		size_t len, unsigned int flags);
 
 /* fs/revoke.c */
+#ifdef CONFIG_MMU
 extern int generic_file_revoke(struct file *);
+#else
+#define generic_file_revoke NULL
+#endif
 
 extern void
 file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping);
-

From: Wu, Bryan
Date: Wednesday, March 28, 2007 - 12:15 am

Cool, you are so quick and your patchbomb tool is very efficient. I will
test it on my side ASAP.

Thanks
-Bryan
-

From: Pekka J Enberg
Date: Wednesday, March 28, 2007 - 12:17 am

Yeah, quilt + pine = a deadly combination =)
-

Previous thread: Re: [PATCH 1/2] MSR: Add support for safe variants by Mikael Pettersson on Monday, March 26, 2007 - 4:57 am. (3 messages)

Next thread: Question: half-duplex and full-duplex serial driver by Mockern on Monday, March 26, 2007 - 6:53 am. (3 messages)