diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-06 16:07:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-05-06 16:07:41 -0400 |
commit | 38583f095c5a8138ae2a1c9173d0fd8a9f10e8aa (patch) | |
tree | 7ff369517a57ee59be45ecccd375d22d6157c786 /fs | |
parent | 8169d3005e3bae9bff40349d7caeac5938682297 (diff) | |
parent | 3ca9e5d36afb5c0a6ee6ceee69e507370beb59c6 (diff) |
Merge branch 'akpm' (incoming from Andrew)
Merge misc fixes from Andrew Morton:
"13 fixes"
* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
agp: info leak in agpioc_info_wrap()
fs/affs/super.c: bugfix / double free
fanotify: fix -EOVERFLOW with large files on 64-bit
slub: use sysfs'es release mechanism for kmem_cache
revert "mm: vmscan: do not swap anon pages just because free+file is low"
autofs: fix lockref lookup
mm: filemap: update find_get_pages_tag() to deal with shadow entries
mm/compaction: make isolate_freepages start at pageblock boundary
MAINTAINERS: zswap/zbud: change maintainer email address
mm/page-writeback.c: fix divide by zero in pos_ratio_polynom
hugetlb: ensure hugepage access is denied if hugepages are not supported
slub: fix memcg_propagate_slab_attrs
drivers/rtc/rtc-pcf8523.c: fix month definition
Diffstat (limited to 'fs')
-rw-r--r-- | fs/affs/super.c | 2 | ||||
-rw-r--r-- | fs/autofs4/root.c | 4 | ||||
-rw-r--r-- | fs/hugetlbfs/inode.c | 5 | ||||
-rw-r--r-- | fs/notify/fanotify/fanotify_user.c | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/fs/affs/super.c b/fs/affs/super.c index 6d589f28bf9b..895ac7dc9dbf 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c | |||
@@ -340,8 +340,6 @@ static int affs_fill_super(struct super_block *sb, void *data, int silent) | |||
340 | &blocksize,&sbi->s_prefix, | 340 | &blocksize,&sbi->s_prefix, |
341 | sbi->s_volume, &mount_flags)) { | 341 | sbi->s_volume, &mount_flags)) { |
342 | printk(KERN_ERR "AFFS: Error parsing options\n"); | 342 | printk(KERN_ERR "AFFS: Error parsing options\n"); |
343 | kfree(sbi->s_prefix); | ||
344 | kfree(sbi); | ||
345 | return -EINVAL; | 343 | return -EINVAL; |
346 | } | 344 | } |
347 | /* N.B. after this point s_prefix must be released */ | 345 | /* N.B. after this point s_prefix must be released */ |
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c index 2caf36ac3e93..cc87c1abac97 100644 --- a/fs/autofs4/root.c +++ b/fs/autofs4/root.c | |||
@@ -179,7 +179,7 @@ static struct dentry *autofs4_lookup_active(struct dentry *dentry) | |||
179 | spin_lock(&active->d_lock); | 179 | spin_lock(&active->d_lock); |
180 | 180 | ||
181 | /* Already gone? */ | 181 | /* Already gone? */ |
182 | if (!d_count(active)) | 182 | if ((int) d_count(active) <= 0) |
183 | goto next; | 183 | goto next; |
184 | 184 | ||
185 | qstr = &active->d_name; | 185 | qstr = &active->d_name; |
@@ -230,7 +230,7 @@ static struct dentry *autofs4_lookup_expiring(struct dentry *dentry) | |||
230 | 230 | ||
231 | spin_lock(&expiring->d_lock); | 231 | spin_lock(&expiring->d_lock); |
232 | 232 | ||
233 | /* Bad luck, we've already been dentry_iput */ | 233 | /* We've already been dentry_iput or unlinked */ |
234 | if (!expiring->d_inode) | 234 | if (!expiring->d_inode) |
235 | goto next; | 235 | goto next; |
236 | 236 | ||
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 204027520937..e19d4c0cacae 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c | |||
@@ -1030,6 +1030,11 @@ static int __init init_hugetlbfs_fs(void) | |||
1030 | int error; | 1030 | int error; |
1031 | int i; | 1031 | int i; |
1032 | 1032 | ||
1033 | if (!hugepages_supported()) { | ||
1034 | pr_info("hugetlbfs: disabling because there are no supported hugepage sizes\n"); | ||
1035 | return -ENOTSUPP; | ||
1036 | } | ||
1037 | |||
1033 | error = bdi_init(&hugetlbfs_backing_dev_info); | 1038 | error = bdi_init(&hugetlbfs_backing_dev_info); |
1034 | if (error) | 1039 | if (error) |
1035 | return error; | 1040 | return error; |
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index 4e565c814309..732648b270dc 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c | |||
@@ -698,6 +698,8 @@ SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags) | |||
698 | } | 698 | } |
699 | group->overflow_event = &oevent->fse; | 699 | group->overflow_event = &oevent->fse; |
700 | 700 | ||
701 | if (force_o_largefile()) | ||
702 | event_f_flags |= O_LARGEFILE; | ||
701 | group->fanotify_data.f_flags = event_f_flags; | 703 | group->fanotify_data.f_flags = event_f_flags; |
702 | #ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS | 704 | #ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS |
703 | spin_lock_init(&group->fanotify_data.access_lock); | 705 | spin_lock_init(&group->fanotify_data.access_lock); |