diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-02-23 09:37:45 -0500 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-02-27 00:16:26 -0500 |
commit | 5bccda0ebc7c0331b81ac47d39e4b920b198b2cd (patch) | |
tree | 542363c187479df4124bed5441a7fc66bafc4065 /fs/jbd/checkpoint.c | |
parent | 6de2ce423157d06f73d570ef7044f08c2f8697da (diff) |
cifs: fix dentry refcount leak when opening a FIFO on lookup
The cifs code will attempt to open files on lookup under certain
circumstances. What happens though if we find that the file we opened
was actually a FIFO or other special file?
Currently, the open filehandle just ends up being leaked leading to
a dentry refcount mismatch and oops on umount. Fix this by having the
code close the filehandle on the server if it turns out not to be a
regular file. While we're at it, change this spaghetti if statement
into a switch too.
Cc: stable@vger.kernel.org
Reported-by: CAI Qian <caiqian@redhat.com>
Tested-by: CAI Qian <caiqian@redhat.com>
Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/jbd/checkpoint.c')
0 files changed, 0 insertions, 0 deletions