

lock_kernel() need not be held across truncate.


 mm/nommu.c |    5 +----
 1 files changed, 1 insertion(+), 4 deletions(-)

diff -puN mm/nommu.c~nommu-vmtruncate-no_lock_kernel mm/nommu.c
--- 25/mm/nommu.c~nommu-vmtruncate-no_lock_kernel	2003-06-28 02:04:30.000000000 -0700
+++ 25-akpm/mm/nommu.c	2003-06-28 02:04:30.000000000 -0700
@@ -62,11 +62,8 @@ do_expand:
 	inode->i_size = offset;
 
 out_truncate:
-	if (inode->i_op && inode->i_op->truncate) {
-		lock_kernel();
+	if (inode->i_op && inode->i_op->truncate)
 		inode->i_op->truncate(inode);
-		unlock_kernel();
-	}
 	return 0;
 out_sig:
 	send_sig(SIGXFSZ, current, 0);

_
