Messages in this thread Patch in this message | | | Date | Mon, 12 Jul 1999 12:54:37 -0400 (EDT) | From | Alexander Viro <> | Subject | [FIX] Re: 2.3.10: Bug with locks held in fs code |
| |
On Mon, 12 Jul 1999, Michael Matz wrote:
> Hi, > > By browsing in the latest (2.3.10) diff I observed the following strange > things:
[snip] > In the middle, the "goto out_putf" exits this function without unlocking > the &files->file_lock. > And similarly in linux/fs/file_table.c: [snip]
Ooops. Sorry, my fault. Patch follows:
diff -urN linux-2.3.10/fs/fcntl.c linux-bird.files/fs/fcntl.c --- linux-2.3.10/fs/fcntl.c Fri Jul 9 06:15:45 1999 +++ linux-bird.files/fs/fcntl.c Mon Jul 12 12:39:42 1999 @@ -31,6 +31,7 @@ return error; out_putf: + write_unlock(&files->file_lock); fput(file); goto out; } diff -urN linux-2.3.10/fs/file_table.c linux-bird.files/fs/file_table.c --- linux-2.3.10/fs/file_table.c Fri Jul 9 06:15:45 1999 +++ linux-bird.files/fs/file_table.c Mon Jul 12 12:38:31 1999 @@ -182,7 +182,7 @@ /* Writable file? */ if (S_ISREG(inode->i_mode) && (file->f_mode & FMODE_WRITE)) - return 0; + goto too_bad; } file_list_unlock(); return 1; /* Tis' cool bro. */
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |