From: William Lee Irwin III Bad bug. 25-akpm/fs/file_table.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/file_table.c~fget_light-fix fs/file_table.c --- 25/fs/file_table.c~fget_light-fix Mon May 5 14:05:28 2003 +++ 25-akpm/fs/file_table.c Mon May 5 14:05:28 2003 @@ -206,13 +206,13 @@ struct file *fget_light(unsigned int fd, if (likely((atomic_read(&files->count) == 1))) { file = fcheck(fd); } else { - read_lock(&files->file_lock); + spin_lock(&files->file_lock); file = fcheck(fd); if (file) { get_file(file); *fput_needed = 1; } - read_unlock(&files->file_lock); + spin_unlock(&files->file_lock); } return file; } _