[PATCH] freevxfs: Add missing lock_kernel() to vxfs_readdir

From: Josh Triplett
Date: Thu Jul 27 2006 - 12:04:36 EST


Commit 7b2fd697427e73c81d5fa659efd91bd07d303b0e in the historical GIT tree
stopped calling the readdir member of a file_operations struct with the big
kernel lock held, and fixed up all the readdir functions to do their own
locking. However, that change added calls to unlock_kernel() in vxfs_readdir,
but no call to lock_kernel(). Fix this by adding a call to lock_kernel().

Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxx>
---
fs/freevxfs/vxfs_lookup.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fs/freevxfs/vxfs_lookup.c b/fs/freevxfs/vxfs_lookup.c
index 29cce45..78deaa5 100644
--- a/fs/freevxfs/vxfs_lookup.c
+++ b/fs/freevxfs/vxfs_lookup.c
@@ -246,6 +246,8 @@ vxfs_readdir(struct file *fp, void *retp
u_long page, npages, block, pblocks, nblocks, offset;
loff_t pos;

+ lock_kernel();
+
switch ((long)fp->f_pos) {
case 0:
if (filler(retp, ".", 1, fp->f_pos, ip->i_ino, DT_DIR) < 0)


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/