git.openpandora.org
/
pandora-kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
(from parent 1:
0bbf211
)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
author
Linus Torvalds
<torvalds@linux-foundation.org>
Wed, 16 Mar 2011 20:26:17 +0000
(13:26 -0700)
committer
Linus Torvalds
<torvalds@linux-foundation.org>
Wed, 16 Mar 2011 20:26:17 +0000
(13:26 -0700)
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
fix cdev leak on O_PATH final fput()
fs/file_table.c
patch
|
blob
|
history
diff --git
a/fs/file_table.c
b/fs/file_table.c
index
bfab973
..
01e4c1e
100644
(file)
--- a/
fs/file_table.c
+++ b/
fs/file_table.c
@@
-247,8
+247,10
@@
static void __fput(struct file *file)
file->f_op->release(inode, file);
security_file_free(file);
ima_file_free(file);
- if (unlikely(S_ISCHR(inode->i_mode) && inode->i_cdev != NULL))
+ if (unlikely(S_ISCHR(inode->i_mode) && inode->i_cdev != NULL &&
+ !(file->f_mode & FMODE_PATH))) {
cdev_put(inode->i_cdev);
+ }
fops_put(file->f_op);
put_pid(file->f_owner.pid);
file_sb_list_del(file);