[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1258560457-15129-1-git-send-email-jblunck@suse.de>
Date: Wed, 18 Nov 2009 17:07:36 +0100
From: Jan Blunck <jblunck@...e.de>
To: linux-fsdevel@...r.kernel.org
Cc: Linux-Kernel Mailinglist <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>, jkacur@...hat.com,
Thomas Gleixner <tglx@...utronix.de>,
Jan Blunck <jblunck@...e.de>, Arnd Bergmann <arnd@...db.de>,
Christoph Hellwig <hch@...radead.org>,
Frédéric Weisbecker <fweisbec@...il.com>,
Alexander Viro <viro@...iv.linux.org.uk>
Subject: [PATCH 1/2] BKL: Remove BKL from default_llseek()
Using the BKL in llseek() does not protect the inode's i_size from
modification since the i_size is protected by a seqlock nowadays. Since
default_llseek() is already using the i_size_read() wrapper it is not the
BKL which is serializing the access here.
The access to file->f_pos is not protected by the BKL either since its
access in vfs_write()/vfs_read() is not protected by any lock. If the BKL
is not protecting anything here it can clearly get removed.
Signed-off-by: Jan Blunck <jblunck@...e.de>
Cc: Arnd Bergmann <arnd@...db.de>
Cc: Christoph Hellwig <hch@...radead.org>
Cc: Frédéric Weisbecker <fweisbec@...il.com>
Cc: John Kacur <jkacur@...hat.com>
---
fs/read_write.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/fs/read_write.c b/fs/read_write.c
index 3ac2898..0e491cc 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -107,7 +107,6 @@ loff_t default_llseek(struct file *file, loff_t offset, int origin)
{
loff_t retval;
- lock_kernel();
switch (origin) {
case SEEK_END:
offset += i_size_read(file->f_path.dentry->d_inode);
@@ -128,7 +127,6 @@ loff_t default_llseek(struct file *file, loff_t offset, int origin)
retval = offset;
}
out:
- unlock_kernel();
return retval;
}
EXPORT_SYMBOL(default_llseek);
--
1.6.4.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists