diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 22:02:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 22:02:39 -0400 |
commit | bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff (patch) | |
tree | 12b2bb4202b05f6ae6a43c6ce830a0472043dbe5 /kernel | |
parent | 8e204874db000928e37199c2db82b7eb8966cc3c (diff) | |
parent | 5a9a43646cf709312d71eca71cef90ad802f28f9 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)
vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp
isofs: Remove global fs lock
jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory
fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.
mm/truncate.c: fix build for CONFIG_BLOCK not enabled
fs:update the NOTE of the file_operations structure
Remove dead code in dget_parent()
AFS: Fix silly characters in a comment
switch d_add_ci() to d_splice_alias() in "found negative" case as well
simplify gfs2_lookup()
jfs_lookup(): don't bother with . or ..
get rid of useless dget_parent() in btrfs rename() and link()
get rid of useless dget_parent() in fs/btrfs/ioctl.c
fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers
drivers: fix up various ->llseek() implementations
fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own llseek
Ext4: handle SEEK_HOLE/SEEK_DATA generically
Btrfs: implement our own ->llseek
fs: add SEEK_HOLE and SEEK_DATA flags
reiserfs: make reiserfs default to barrier=flush
...
Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new
shrinker callout for the inode cache, that clashed with the xfs code to
start the periodic workers later.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/cgroup.c | 3 | ||||
-rw-r--r-- | kernel/fork.c | 1 | ||||
-rw-r--r-- | kernel/nsproxy.c | 4 | ||||
-rw-r--r-- | kernel/rwsem.c | 16 |
4 files changed, 4 insertions, 20 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 2731d115d725..e1c72c0f512b 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -3542,7 +3542,8 @@ static int cgroup_write_event_control(struct cgroup *cgrp, struct cftype *cft, | |||
3542 | } | 3542 | } |
3543 | 3543 | ||
3544 | /* the process need read permission on control file */ | 3544 | /* the process need read permission on control file */ |
3545 | ret = file_permission(cfile, MAY_READ); | 3545 | /* AV: shouldn't we check that it's been opened for read instead? */ |
3546 | ret = inode_permission(cfile->f_path.dentry->d_inode, MAY_READ); | ||
3546 | if (ret < 0) | 3547 | if (ret < 0) |
3547 | goto fail; | 3548 | goto fail; |
3548 | 3549 | ||
diff --git a/kernel/fork.c b/kernel/fork.c index ca339c5c5819..aeae5b11b62e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1585,6 +1585,7 @@ void __init proc_caches_init(void) | |||
1585 | SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL); | 1585 | SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK, NULL); |
1586 | vm_area_cachep = KMEM_CACHE(vm_area_struct, SLAB_PANIC); | 1586 | vm_area_cachep = KMEM_CACHE(vm_area_struct, SLAB_PANIC); |
1587 | mmap_init(); | 1587 | mmap_init(); |
1588 | nsproxy_cache_init(); | ||
1588 | } | 1589 | } |
1589 | 1590 | ||
1590 | /* | 1591 | /* |
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index d6a00f3de15d..9aeab4b98c64 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c | |||
@@ -271,10 +271,8 @@ out: | |||
271 | return err; | 271 | return err; |
272 | } | 272 | } |
273 | 273 | ||
274 | static int __init nsproxy_cache_init(void) | 274 | int __init nsproxy_cache_init(void) |
275 | { | 275 | { |
276 | nsproxy_cachep = KMEM_CACHE(nsproxy, SLAB_PANIC); | 276 | nsproxy_cachep = KMEM_CACHE(nsproxy, SLAB_PANIC); |
277 | return 0; | 277 | return 0; |
278 | } | 278 | } |
279 | |||
280 | module_init(nsproxy_cache_init); | ||
diff --git a/kernel/rwsem.c b/kernel/rwsem.c index cae050b05f5e..176e5e56ffab 100644 --- a/kernel/rwsem.c +++ b/kernel/rwsem.c | |||
@@ -117,15 +117,6 @@ void down_read_nested(struct rw_semaphore *sem, int subclass) | |||
117 | 117 | ||
118 | EXPORT_SYMBOL(down_read_nested); | 118 | EXPORT_SYMBOL(down_read_nested); |
119 | 119 | ||
120 | void down_read_non_owner(struct rw_semaphore *sem) | ||
121 | { | ||
122 | might_sleep(); | ||
123 | |||
124 | __down_read(sem); | ||
125 | } | ||
126 | |||
127 | EXPORT_SYMBOL(down_read_non_owner); | ||
128 | |||
129 | void down_write_nested(struct rw_semaphore *sem, int subclass) | 120 | void down_write_nested(struct rw_semaphore *sem, int subclass) |
130 | { | 121 | { |
131 | might_sleep(); | 122 | might_sleep(); |
@@ -136,13 +127,6 @@ void down_write_nested(struct rw_semaphore *sem, int subclass) | |||
136 | 127 | ||
137 | EXPORT_SYMBOL(down_write_nested); | 128 | EXPORT_SYMBOL(down_write_nested); |
138 | 129 | ||
139 | void up_read_non_owner(struct rw_semaphore *sem) | ||
140 | { | ||
141 | __up_read(sem); | ||
142 | } | ||
143 | |||
144 | EXPORT_SYMBOL(up_read_non_owner); | ||
145 | |||
146 | #endif | 130 | #endif |
147 | 131 | ||
148 | 132 | ||