wok-next annotate linux-libre/stuff/aufs2-standalone.patch @ rev 16567

Up: slitaz-boot-scripts + slitaz-tools (urgent bug fix)
author Christophe Lincoln <pankso@slitaz.org>
date Thu May 01 22:17:02 2014 +0200 (2014-05-01)
parents
children
rev   line source
gokhlayeh@9257 1 aufs2.1 standalone patch for linux-2.6.37
gokhlayeh@9257 2
gokhlayeh@9257 3 diff --git a/fs/file_table.c b/fs/file_table.c
gokhlayeh@9257 4 index c3dee38..f529e4d 100644
gokhlayeh@9257 5 --- a/fs/file_table.c
gokhlayeh@9257 6 +++ b/fs/file_table.c
gokhlayeh@9257 7 @@ -393,6 +393,8 @@ void file_sb_list_del(struct file *file)
gokhlayeh@9257 8 }
gokhlayeh@9257 9 }
gokhlayeh@9257 10
gokhlayeh@9257 11 +EXPORT_SYMBOL(file_sb_list_del);
gokhlayeh@9257 12 +
gokhlayeh@9257 13 #ifdef CONFIG_SMP
gokhlayeh@9257 14
gokhlayeh@9257 15 /*
gokhlayeh@9257 16 diff --git a/fs/inode.c b/fs/inode.c
gokhlayeh@9257 17 index ae2727a..2c8071a 100644
gokhlayeh@9257 18 --- a/fs/inode.c
gokhlayeh@9257 19 +++ b/fs/inode.c
gokhlayeh@9257 20 @@ -82,6 +82,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
gokhlayeh@9257 21 * the i_state of an inode while it is in use..
gokhlayeh@9257 22 */
gokhlayeh@9257 23 DEFINE_SPINLOCK(inode_lock);
gokhlayeh@9257 24 +EXPORT_SYMBOL(inode_lock);
gokhlayeh@9257 25
gokhlayeh@9257 26 /*
gokhlayeh@9257 27 * iprune_sem provides exclusion between the kswapd or try_to_free_pages
gokhlayeh@9257 28 diff --git a/fs/namei.c b/fs/namei.c
gokhlayeh@9257 29 index a8c583f..b020c45 100644
gokhlayeh@9257 30 --- a/fs/namei.c
gokhlayeh@9257 31 +++ b/fs/namei.c
gokhlayeh@9257 32 @@ -347,6 +347,7 @@ int deny_write_access(struct file * file)
gokhlayeh@9257 33
gokhlayeh@9257 34 return 0;
gokhlayeh@9257 35 }
gokhlayeh@9257 36 +EXPORT_SYMBOL(deny_write_access);
gokhlayeh@9257 37
gokhlayeh@9257 38 /**
gokhlayeh@9257 39 * path_get - get a reference to a path
gokhlayeh@9257 40 @@ -1165,6 +1166,7 @@ struct dentry *lookup_hash(struct nameidata *nd)
gokhlayeh@9257 41 {
gokhlayeh@9257 42 return __lookup_hash(&nd->last, nd->path.dentry, nd);
gokhlayeh@9257 43 }
gokhlayeh@9257 44 +EXPORT_SYMBOL(lookup_hash);
gokhlayeh@9257 45
gokhlayeh@9257 46 int __lookup_one_len(const char *name, struct qstr *this,
gokhlayeh@9257 47 struct dentry *base, int len)
gokhlayeh@9257 48 @@ -1187,6 +1189,7 @@ int __lookup_one_len(const char *name, struct qstr *this,
gokhlayeh@9257 49 this->hash = end_name_hash(hash);
gokhlayeh@9257 50 return 0;
gokhlayeh@9257 51 }
gokhlayeh@9257 52 +EXPORT_SYMBOL(__lookup_one_len);
gokhlayeh@9257 53
gokhlayeh@9257 54 /**
gokhlayeh@9257 55 * lookup_one_len - filesystem helper to lookup single pathname component
gokhlayeh@9257 56 diff --git a/fs/namespace.c b/fs/namespace.c
gokhlayeh@9257 57 index 3dbfc07..3998762 100644
gokhlayeh@9257 58 --- a/fs/namespace.c
gokhlayeh@9257 59 +++ b/fs/namespace.c
gokhlayeh@9257 60 @@ -1321,6 +1321,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
gokhlayeh@9257 61 }
gokhlayeh@9257 62 return 0;
gokhlayeh@9257 63 }
gokhlayeh@9257 64 +EXPORT_SYMBOL(iterate_mounts);
gokhlayeh@9257 65
gokhlayeh@9257 66 static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end)
gokhlayeh@9257 67 {
gokhlayeh@9257 68 diff --git a/fs/notify/group.c b/fs/notify/group.c
gokhlayeh@9257 69 index d309f38..f0e9568 100644
gokhlayeh@9257 70 --- a/fs/notify/group.c
gokhlayeh@9257 71 +++ b/fs/notify/group.c
gokhlayeh@9257 72 @@ -22,6 +22,7 @@
gokhlayeh@9257 73 #include <linux/srcu.h>
gokhlayeh@9257 74 #include <linux/rculist.h>
gokhlayeh@9257 75 #include <linux/wait.h>
gokhlayeh@9257 76 +#include <linux/module.h>
gokhlayeh@9257 77
gokhlayeh@9257 78 #include <linux/fsnotify_backend.h>
gokhlayeh@9257 79 #include "fsnotify.h"
gokhlayeh@9257 80 @@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
gokhlayeh@9257 81 if (atomic_dec_and_test(&group->refcnt))
gokhlayeh@9257 82 fsnotify_destroy_group(group);
gokhlayeh@9257 83 }
gokhlayeh@9257 84 +EXPORT_SYMBOL(fsnotify_put_group);
gokhlayeh@9257 85
gokhlayeh@9257 86 /*
gokhlayeh@9257 87 * Create a new fsnotify_group and hold a reference for the group returned.
gokhlayeh@9257 88 @@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
gokhlayeh@9257 89
gokhlayeh@9257 90 return group;
gokhlayeh@9257 91 }
gokhlayeh@9257 92 +EXPORT_SYMBOL(fsnotify_alloc_group);
gokhlayeh@9257 93 diff --git a/fs/notify/mark.c b/fs/notify/mark.c
gokhlayeh@9257 94 index 325185e..adede09 100644
gokhlayeh@9257 95 --- a/fs/notify/mark.c
gokhlayeh@9257 96 +++ b/fs/notify/mark.c
gokhlayeh@9257 97 @@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
gokhlayeh@9257 98 if (atomic_dec_and_test(&mark->refcnt))
gokhlayeh@9257 99 mark->free_mark(mark);
gokhlayeh@9257 100 }
gokhlayeh@9257 101 +EXPORT_SYMBOL(fsnotify_put_mark);
gokhlayeh@9257 102
gokhlayeh@9257 103 /*
gokhlayeh@9257 104 * Any time a mark is getting freed we end up here.
gokhlayeh@9257 105 @@ -190,6 +191,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark)
gokhlayeh@9257 106 if (unlikely(atomic_dec_and_test(&group->num_marks)))
gokhlayeh@9257 107 fsnotify_final_destroy_group(group);
gokhlayeh@9257 108 }
gokhlayeh@9257 109 +EXPORT_SYMBOL(fsnotify_destroy_mark);
gokhlayeh@9257 110
gokhlayeh@9257 111 void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask)
gokhlayeh@9257 112 {
gokhlayeh@9257 113 @@ -277,6 +279,7 @@ err:
gokhlayeh@9257 114
gokhlayeh@9257 115 return ret;
gokhlayeh@9257 116 }
gokhlayeh@9257 117 +EXPORT_SYMBOL(fsnotify_add_mark);
gokhlayeh@9257 118
gokhlayeh@9257 119 /*
gokhlayeh@9257 120 * clear any marks in a group in which mark->flags & flags is true
gokhlayeh@9257 121 @@ -332,6 +335,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark,
gokhlayeh@9257 122 atomic_set(&mark->refcnt, 1);
gokhlayeh@9257 123 mark->free_mark = free_mark;
gokhlayeh@9257 124 }
gokhlayeh@9257 125 +EXPORT_SYMBOL(fsnotify_init_mark);
gokhlayeh@9257 126
gokhlayeh@9257 127 static int fsnotify_mark_destroy(void *ignored)
gokhlayeh@9257 128 {
gokhlayeh@9257 129 diff --git a/fs/open.c b/fs/open.c
gokhlayeh@9257 130 index 4197b9e..912817a 100644
gokhlayeh@9257 131 --- a/fs/open.c
gokhlayeh@9257 132 +++ b/fs/open.c
gokhlayeh@9257 133 @@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
gokhlayeh@9257 134 mutex_unlock(&dentry->d_inode->i_mutex);
gokhlayeh@9257 135 return ret;
gokhlayeh@9257 136 }
gokhlayeh@9257 137 +EXPORT_SYMBOL(do_truncate);
gokhlayeh@9257 138
gokhlayeh@9257 139 static long do_sys_truncate(const char __user *pathname, loff_t length)
gokhlayeh@9257 140 {
gokhlayeh@9257 141 diff --git a/fs/splice.c b/fs/splice.c
gokhlayeh@9257 142 index ff0ae69..1c9e9b0 100644
gokhlayeh@9257 143 --- a/fs/splice.c
gokhlayeh@9257 144 +++ b/fs/splice.c
gokhlayeh@9257 145 @@ -1116,6 +1116,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
gokhlayeh@9257 146
gokhlayeh@9257 147 return splice_write(pipe, out, ppos, len, flags);
gokhlayeh@9257 148 }
gokhlayeh@9257 149 +EXPORT_SYMBOL(do_splice_from);
gokhlayeh@9257 150
gokhlayeh@9257 151 /*
gokhlayeh@9257 152 * Attempt to initiate a splice from a file to a pipe.
gokhlayeh@9257 153 @@ -1142,6 +1143,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
gokhlayeh@9257 154
gokhlayeh@9257 155 return splice_read(in, ppos, pipe, len, flags);
gokhlayeh@9257 156 }
gokhlayeh@9257 157 +EXPORT_SYMBOL(do_splice_to);
gokhlayeh@9257 158
gokhlayeh@9257 159 /**
gokhlayeh@9257 160 * splice_direct_to_actor - splices data directly between two non-pipes
gokhlayeh@9257 161 diff --git a/security/commoncap.c b/security/commoncap.c
gokhlayeh@9257 162 index 64c2ed9..e58b5d8 100644
gokhlayeh@9257 163 --- a/security/commoncap.c
gokhlayeh@9257 164 +++ b/security/commoncap.c
gokhlayeh@9257 165 @@ -929,3 +929,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
gokhlayeh@9257 166 }
gokhlayeh@9257 167 return ret;
gokhlayeh@9257 168 }
gokhlayeh@9257 169 +EXPORT_SYMBOL(cap_file_mmap);
gokhlayeh@9257 170 diff --git a/security/device_cgroup.c b/security/device_cgroup.c
gokhlayeh@9257 171 index 8d9c48f..29108aa 100644
gokhlayeh@9257 172 --- a/security/device_cgroup.c
gokhlayeh@9257 173 +++ b/security/device_cgroup.c
gokhlayeh@9257 174 @@ -515,6 +515,7 @@ found:
gokhlayeh@9257 175
gokhlayeh@9257 176 return -EPERM;
gokhlayeh@9257 177 }
gokhlayeh@9257 178 +EXPORT_SYMBOL(devcgroup_inode_permission);
gokhlayeh@9257 179
gokhlayeh@9257 180 int devcgroup_inode_mknod(int mode, dev_t dev)
gokhlayeh@9257 181 {
gokhlayeh@9257 182 diff --git a/security/security.c b/security/security.c
gokhlayeh@9257 183 index 1b798d3..3b7d2ca 100644
gokhlayeh@9257 184 --- a/security/security.c
gokhlayeh@9257 185 +++ b/security/security.c
gokhlayeh@9257 186 @@ -360,6 +360,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode)
gokhlayeh@9257 187 return 0;
gokhlayeh@9257 188 return security_ops->path_mkdir(dir, dentry, mode);
gokhlayeh@9257 189 }
gokhlayeh@9257 190 +EXPORT_SYMBOL(security_path_mkdir);
gokhlayeh@9257 191
gokhlayeh@9257 192 int security_path_rmdir(struct path *dir, struct dentry *dentry)
gokhlayeh@9257 193 {
gokhlayeh@9257 194 @@ -367,6 +368,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
gokhlayeh@9257 195 return 0;
gokhlayeh@9257 196 return security_ops->path_rmdir(dir, dentry);
gokhlayeh@9257 197 }
gokhlayeh@9257 198 +EXPORT_SYMBOL(security_path_rmdir);
gokhlayeh@9257 199
gokhlayeh@9257 200 int security_path_unlink(struct path *dir, struct dentry *dentry)
gokhlayeh@9257 201 {
gokhlayeh@9257 202 @@ -374,6 +376,7 @@ int security_path_unlink(struct path *dir, struct dentry *dentry)
gokhlayeh@9257 203 return 0;
gokhlayeh@9257 204 return security_ops->path_unlink(dir, dentry);
gokhlayeh@9257 205 }
gokhlayeh@9257 206 +EXPORT_SYMBOL(security_path_unlink);
gokhlayeh@9257 207
gokhlayeh@9257 208 int security_path_symlink(struct path *dir, struct dentry *dentry,
gokhlayeh@9257 209 const char *old_name)
gokhlayeh@9257 210 @@ -382,6 +385,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
gokhlayeh@9257 211 return 0;
gokhlayeh@9257 212 return security_ops->path_symlink(dir, dentry, old_name);
gokhlayeh@9257 213 }
gokhlayeh@9257 214 +EXPORT_SYMBOL(security_path_symlink);
gokhlayeh@9257 215
gokhlayeh@9257 216 int security_path_link(struct dentry *old_dentry, struct path *new_dir,
gokhlayeh@9257 217 struct dentry *new_dentry)
gokhlayeh@9257 218 @@ -390,6 +394,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
gokhlayeh@9257 219 return 0;
gokhlayeh@9257 220 return security_ops->path_link(old_dentry, new_dir, new_dentry);
gokhlayeh@9257 221 }
gokhlayeh@9257 222 +EXPORT_SYMBOL(security_path_link);
gokhlayeh@9257 223
gokhlayeh@9257 224 int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
gokhlayeh@9257 225 struct path *new_dir, struct dentry *new_dentry)
gokhlayeh@9257 226 @@ -400,6 +405,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
gokhlayeh@9257 227 return security_ops->path_rename(old_dir, old_dentry, new_dir,
gokhlayeh@9257 228 new_dentry);
gokhlayeh@9257 229 }
gokhlayeh@9257 230 +EXPORT_SYMBOL(security_path_rename);
gokhlayeh@9257 231
gokhlayeh@9257 232 int security_path_truncate(struct path *path)
gokhlayeh@9257 233 {
gokhlayeh@9257 234 @@ -407,6 +413,7 @@ int security_path_truncate(struct path *path)
gokhlayeh@9257 235 return 0;
gokhlayeh@9257 236 return security_ops->path_truncate(path);
gokhlayeh@9257 237 }
gokhlayeh@9257 238 +EXPORT_SYMBOL(security_path_truncate);
gokhlayeh@9257 239
gokhlayeh@9257 240 int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
gokhlayeh@9257 241 mode_t mode)
gokhlayeh@9257 242 @@ -415,6 +422,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
gokhlayeh@9257 243 return 0;
gokhlayeh@9257 244 return security_ops->path_chmod(dentry, mnt, mode);
gokhlayeh@9257 245 }
gokhlayeh@9257 246 +EXPORT_SYMBOL(security_path_chmod);
gokhlayeh@9257 247
gokhlayeh@9257 248 int security_path_chown(struct path *path, uid_t uid, gid_t gid)
gokhlayeh@9257 249 {
gokhlayeh@9257 250 @@ -422,6 +430,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
gokhlayeh@9257 251 return 0;
gokhlayeh@9257 252 return security_ops->path_chown(path, uid, gid);
gokhlayeh@9257 253 }
gokhlayeh@9257 254 +EXPORT_SYMBOL(security_path_chown);
gokhlayeh@9257 255
gokhlayeh@9257 256 int security_path_chroot(struct path *path)
gokhlayeh@9257 257 {
gokhlayeh@9257 258 @@ -498,6 +507,7 @@ int security_inode_readlink(struct dentry *dentry)
gokhlayeh@9257 259 return 0;
gokhlayeh@9257 260 return security_ops->inode_readlink(dentry);
gokhlayeh@9257 261 }
gokhlayeh@9257 262 +EXPORT_SYMBOL(security_inode_readlink);
gokhlayeh@9257 263
gokhlayeh@9257 264 int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
gokhlayeh@9257 265 {
gokhlayeh@9257 266 @@ -512,6 +522,7 @@ int security_inode_permission(struct inode *inode, int mask)
gokhlayeh@9257 267 return 0;
gokhlayeh@9257 268 return security_ops->inode_permission(inode, mask);
gokhlayeh@9257 269 }
gokhlayeh@9257 270 +EXPORT_SYMBOL(security_inode_permission);
gokhlayeh@9257 271
gokhlayeh@9257 272 int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
gokhlayeh@9257 273 {
gokhlayeh@9257 274 @@ -611,6 +622,7 @@ int security_file_permission(struct file *file, int mask)
gokhlayeh@9257 275
gokhlayeh@9257 276 return fsnotify_perm(file, mask);
gokhlayeh@9257 277 }
gokhlayeh@9257 278 +EXPORT_SYMBOL(security_file_permission);
gokhlayeh@9257 279
gokhlayeh@9257 280 int security_file_alloc(struct file *file)
gokhlayeh@9257 281 {
gokhlayeh@9257 282 @@ -638,6 +650,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot,
gokhlayeh@9257 283 return ret;
gokhlayeh@9257 284 return ima_file_mmap(file, prot);
gokhlayeh@9257 285 }
gokhlayeh@9257 286 +EXPORT_SYMBOL(security_file_mmap);
gokhlayeh@9257 287
gokhlayeh@9257 288 int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
gokhlayeh@9257 289 unsigned long prot)