From: Hugh Dickins <hugh@veritas.com>

default_llseek's use of BKL and not i_sem was recently exposed:
tmpfs should be using generic_file_llseek which guards with i_sem.



 mm/shmem.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN mm/shmem.c~tmpfs-3-user-generic_file_llseek mm/shmem.c
--- 25/mm/shmem.c~tmpfs-3-user-generic_file_llseek	2003-04-02 22:51:08.000000000 -0800
+++ 25-akpm/mm/shmem.c	2003-04-02 22:51:08.000000000 -0800
@@ -1749,6 +1749,7 @@ static struct address_space_operations s
 static struct file_operations shmem_file_operations = {
 	.mmap		= shmem_mmap,
 #ifdef CONFIG_TMPFS
+	.llseek		= generic_file_llseek,
 	.read		= shmem_file_read,
 	.write		= shmem_file_write,
 	.fsync		= simple_sync_file,

_