linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 18/18] vfs: make no_llseek the default
       [not found] <1278538820-1392-1-git-send-email-arnd@arndb.de>
@ 2010-07-07 21:40 ` Arnd Bergmann
  2010-07-08 11:25   ` Tetsuo Handa
  0 siblings, 1 reply; 6+ messages in thread
From: Arnd Bergmann @ 2010-07-07 21:40 UTC (permalink / raw)
  To: linux-kernel
  Cc: John Kacur, Frederic Weisbecker, Arnd Bergmann, Christoph Hellwig,
	Christoph Hellwig, Al Viro, linux-fsdevel

All file operations now have an explicit .llseek
operation pointer, so we can change the default
action for future code.

This makes changes the default from default_llseek
to no_llseek, which always returns -ESPIPE if
a user tries to seek on a file without a .llseek
operation.

The name of the default_llseek function remains
unchanged, if anyone thinks we should change it,
please speak up.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
---
 fs/read_write.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/fs/read_write.c b/fs/read_write.c
index 31c0be7..d2ed19a 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -156,7 +156,6 @@ loff_t vfs_llseek(struct file *file, loff_t offset, int origin)
 
 	fn = no_llseek;
 	if (file->f_mode & FMODE_LSEEK) {
-		fn = default_llseek;
 		if (file->f_op && file->f_op->llseek)
 			fn = file->f_op->llseek;
 	}
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] vfs: make no_llseek the default
  2010-07-07 21:40 ` [PATCH 18/18] vfs: make no_llseek the default Arnd Bergmann
@ 2010-07-08 11:25   ` Tetsuo Handa
  2010-07-08 12:08     ` Arnd Bergmann
  0 siblings, 1 reply; 6+ messages in thread
From: Tetsuo Handa @ 2010-07-08 11:25 UTC (permalink / raw)
  To: arnd; +Cc: linux-kernel, linux-fsdevel, linux-security-module

Hello.

Arnd Bergmann wrote:
> All file operations now have an explicit .llseek
> operation pointer, so we can change the default
> action for future code.

I saw patch for SELinux and IMA, but not for TOMOYO.
TOMOYO has

  static const struct file_operations tomoyo_operations

without .llseek operation pointer.

TOMOYO does not deal offset pointer. Thus seek operation makes
no sense. But returning -ESPIPE for seek operation might break
some applications. What should I do for TOMOYO?

Regards.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] vfs: make no_llseek the default
  2010-07-08 11:25   ` Tetsuo Handa
@ 2010-07-08 12:08     ` Arnd Bergmann
  2010-07-08 12:57       ` Tetsuo Handa
  0 siblings, 1 reply; 6+ messages in thread
From: Arnd Bergmann @ 2010-07-08 12:08 UTC (permalink / raw)
  To: Tetsuo Handa; +Cc: linux-kernel, linux-fsdevel, linux-security-module

On Thursday 08 July 2010, Tetsuo Handa wrote:
> Hello.
> 
> Arnd Bergmann wrote:
> > All file operations now have an explicit .llseek
> > operation pointer, so we can change the default
> > action for future code.
> 
> I saw patch for SELinux and IMA, but not for TOMOYO.
> TOMOYO has
> 
>   static const struct file_operations tomoyo_operations
> 
> without .llseek operation pointer.
> 
> TOMOYO does not deal offset pointer. Thus seek operation makes
> no sense. But returning -ESPIPE for seek operation might break
> some applications. What should I do for TOMOYO?

The semantic patch (16/18 in this series) had detected that case,
so I did not have to manually create a patch as for selinux
and ima.

The behaviour you want is noop_llseek, which is what gets used
when the semantic patch is applied. If you wish, you can
do the patch yourself and add .llseek = noop_llseek to the file
operations in your tree.

	Arnd

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] vfs: make no_llseek the default
  2010-07-08 12:08     ` Arnd Bergmann
@ 2010-07-08 12:57       ` Tetsuo Handa
  2010-07-08 13:18         ` Arnd Bergmann
  2010-07-08 22:55         ` James Morris
  0 siblings, 2 replies; 6+ messages in thread
From: Tetsuo Handa @ 2010-07-08 12:57 UTC (permalink / raw)
  To: arnd, jmorris; +Cc: linux-kernel, linux-fsdevel, linux-security-module

Arnd Bergmann wrote:
> The behaviour you want is noop_llseek, which is what gets used
> when the semantic patch is applied. If you wish, you can
> do the patch yourself and add .llseek = noop_llseek to the file
> operations in your tree.

I see. [PATCH 16/18] ( http://lkml.org/lkml/2010/7/7/258 ) contains a line

   security/tomoyo/common.c                      |    1 +

but no change in the patch. Patch was too large?
Anyway, that part is no longer in security/tomoyo/common.c
and is now security/tomoyo/securityfs_if.c .
James, please apply below patch.
----------
>From d0fdb09cdc8ef46151d330a9fc285de86306fa65 Mon Sep 17 00:00:00 2001
From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date: Thu, 8 Jul 2010 21:38:05 +0900
Subject: [PATCH] TOMOYO: Explicitly set file_operations->llseek pointer.

TOMOYO does not deal offset pointer. Thus seek operation makes
no sense. Changing default seek operation from default_llseek()
to no_llseek() might break some applications. Thus, explicitly
set noop_llseek().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
 security/tomoyo/securityfs_if.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/security/tomoyo/securityfs_if.c b/security/tomoyo/securityfs_if.c
index 9967c1c..e43d555 100644
--- a/security/tomoyo/securityfs_if.c
+++ b/security/tomoyo/securityfs_if.c
@@ -95,6 +95,7 @@ static const struct file_operations tomoyo_operations = {
 	.poll    = tomoyo_poll,
 	.read    = tomoyo_read,
 	.write   = tomoyo_write,
+	.llseek  = noop_llseek,
 };
 
 /**
-- 
1.6.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] vfs: make no_llseek the default
  2010-07-08 12:57       ` Tetsuo Handa
@ 2010-07-08 13:18         ` Arnd Bergmann
  2010-07-08 22:55         ` James Morris
  1 sibling, 0 replies; 6+ messages in thread
From: Arnd Bergmann @ 2010-07-08 13:18 UTC (permalink / raw)
  To: Tetsuo Handa
  Cc: jmorris, linux-kernel, linux-fsdevel, linux-security-module,
	John Kacur, Christoph Hellwig, Frederic Weisbecker, Ingo Molnar,
	Julia Lawall

On Thursday 08 July 2010, Tetsuo Handa wrote:
> I see. [PATCH 16/18] ( http://lkml.org/lkml/2010/7/7/258 ) contains a line
> 
>    security/tomoyo/common.c                      |    1 +
> 
> but no change in the patch. Patch was too large?

Yes, the total patch is almost 200kb, which I considered too large.
I explained this in the changelog.

In retrospect, I probably should have sent it all anyway, because the
changelog is already very long and a few other people did not realize
this either because they did only read the patch but not the changelog.

As I mentioned to Boaz Harrosh, the full patch is available on
http://git.kernel.org/?p=linux/kernel/git/arnd/bkl.git;a=patch;h=dc731e01d2a08eb66ae08c226c97aa0cb8cf7b7f
and I'll send it out completely if I send out the series again.

I first want to make sure we have consensus on the semantic patch though.
In particular, I want to be sure everyone agrees on the following questions:

- should we kill default_llseek in favour of a more generic generic_file_llseek
  that also covers special files?
- if not, should default_llseek get renamed to something else?
- should I bother adding .llseek=no_llseek if we make that the default in the
  next step anyway?
- should I drop all the automatically generated comments?
- Do I need to split this patch up into per-maintainer chunks and send them
  through the individual trees, or do we just apply the semantic patch treewide
  at the end of the merge window?

	Arnd

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 18/18] vfs: make no_llseek the default
  2010-07-08 12:57       ` Tetsuo Handa
  2010-07-08 13:18         ` Arnd Bergmann
@ 2010-07-08 22:55         ` James Morris
  1 sibling, 0 replies; 6+ messages in thread
From: James Morris @ 2010-07-08 22:55 UTC (permalink / raw)
  To: Tetsuo Handa; +Cc: arnd, linux-kernel, linux-fsdevel, linux-security-module

On Thu, 8 Jul 2010, Tetsuo Handa wrote:

> >From d0fdb09cdc8ef46151d330a9fc285de86306fa65 Mon Sep 17 00:00:00 2001
> From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> Date: Thu, 8 Jul 2010 21:38:05 +0900
> Subject: [PATCH] TOMOYO: Explicitly set file_operations->llseek pointer.
> 
> TOMOYO does not deal offset pointer. Thus seek operation makes
> no sense. Changing default seek operation from default_llseek()
> to no_llseek() might break some applications. Thus, explicitly
> set noop_llseek().
> 
> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>


Applied to
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6#next

-- 
James Morris
<jmorris@namei.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-07-08 22:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1278538820-1392-1-git-send-email-arnd@arndb.de>
2010-07-07 21:40 ` [PATCH 18/18] vfs: make no_llseek the default Arnd Bergmann
2010-07-08 11:25   ` Tetsuo Handa
2010-07-08 12:08     ` Arnd Bergmann
2010-07-08 12:57       ` Tetsuo Handa
2010-07-08 13:18         ` Arnd Bergmann
2010-07-08 22:55         ` James Morris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).