History

Merge branch 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull vfs stable fodder fixes from Al Viro: - acct_on() fix for deadlock caught by overlayfs folks - autofs RCU use-after-free SNAFU (->d_manage() can be called locklessly, so we need to RCU-delay freeing the objects it looks at) - (hopefully) the end of "do we need freeing this dentry RCU-delayed" whack-a-mole. * 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: autofs: fix use-after-free in lockless ->d_manage() dcache: sort the freeing-without-RCU-delay mess for good. acct_on(): don't mess with freeze protection

Linus Torvalds committed 7 years ago

Commit 78438ce2 parents 168e153 ce285c29 files · +26 −19Browse files

Showing the changes to include/linux (2 of 9 files). Show all

Unified · Split

2 files
  1. include/linux/dcache.h +1 −1
  2. include/linux/mount.h +2 −0
include/linux/dcache.h+1−1
@@ -176,7 +176,6 @@ struct dentry_operations { · 175 unmodified lines
176 * typically using d_splice_alias. */176 * typically using d_splice_alias. */
177 177
178#define DCACHE_REFERENCED 0x00000040 /* Recently used, don't discard. */178#define DCACHE_REFERENCED 0x00000040 /* Recently used, don't discard. */
179#define DCACHE_RCUACCESS 0x00000080 /* Entry has ever been RCU-visible */
180 179
181#define DCACHE_CANT_MOUNT 0x00000100180#define DCACHE_CANT_MOUNT 0x00000100
182#define DCACHE_GENOCIDE 0x00000200181#define DCACHE_GENOCIDE 0x00000200
@@ -217,6 +216,7 @@ struct dentry_operations { · 34 unmodified lines
217 216
218#define DCACHE_PAR_LOOKUP 0x10000000 /* being looked up (with parent locked shared) */217#define DCACHE_PAR_LOOKUP 0x10000000 /* being looked up (with parent locked shared) */
219#define DCACHE_DENTRY_CURSOR 0x20000000218#define DCACHE_DENTRY_CURSOR 0x20000000
219#define DCACHE_NORCU 0x40000000 /* No RCU delay for freeing */
220 220
221extern seqlock_t rename_lock;221extern seqlock_t rename_lock;
222 222
include/linux/mount.h+2−0
@@ -87,6 +87,8 @@ extern bool mnt_may_suid(struct vfsmount *mnt); · 86 unmodified lines
87 87
88struct path;88struct path;
89extern struct vfsmount *clone_private_mount(const struct path *path);89extern struct vfsmount *clone_private_mount(const struct path *path);
90extern int __mnt_want_write(struct vfsmount *);
91extern void __mnt_drop_write(struct vfsmount *);
90 92
91struct file_system_type;93struct file_system_type;
92extern struct vfsmount *fc_mount(struct fs_context *fc);94extern struct vfsmount *fc_mount(struct fs_context *fc);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t