summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorJosh Triplett <josh@freedesktop.org>2006-11-29 14:26:18 +0100
committerAdrian Bunk <bunk@stusta.de>2006-11-29 14:26:18 +0100
commit8e0a9377e5f04b0f2982b8f6afc38c80d828c250 (patch)
tree5cca96911a9e7589ba50a4b2d202fdd771c7b5f3 /fs
parente2d1cbdc705c8b9d66831c1b81cea8c2cfabca10 (diff)
downloadkernel-common-8e0a9377e5f04b0f2982b8f6afc38c80d828c250.tar.gz
kernel-common-8e0a9377e5f04b0f2982b8f6afc38c80d828c250.tar.bz2
kernel-common-8e0a9377e5f04b0f2982b8f6afc38c80d828c250.zip
freevxfs: Add missing lock_kernel() to vxfs_readdir
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@freedesktop.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/freevxfs/vxfs_lookup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/freevxfs/vxfs_lookup.c b/fs/freevxfs/vxfs_lookup.c
index 554eb455722c..140fa4288ea4 100644
--- a/fs/freevxfs/vxfs_lookup.c
+++ b/fs/freevxfs/vxfs_lookup.c
@@ -246,6 +246,8 @@ vxfs_readdir(struct file *fp, void *retp, filldir_t filler)
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)