[kernel] r14739 - in dists/trunk/linux-2.6/debian: . patches/bugfix/all patches/features/all/aufs2 patches/series
Ben Hutchings
benh at alioth.debian.org
Sun Dec 6 16:11:27 UTC 2009
Author: benh
Date: Sun Dec 6 16:11:08 2009
New Revision: 14739
Log:
aufs2: Update to snapshot from 2009-11-29
Deleted:
dists/trunk/linux-2.6/debian/patches/bugfix/all/aufs2-remove-incorrect-static-assertion.patch
Modified:
dists/trunk/linux-2.6/debian/changelog
dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch
dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch
dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch
dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch
dists/trunk/linux-2.6/debian/patches/series/base
Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog Sat Dec 5 15:38:45 2009 (r14738)
+++ dists/trunk/linux-2.6/debian/changelog Sun Dec 6 16:11:08 2009 (r14739)
@@ -41,6 +41,7 @@
case they are also buggy
* usbnet: Set link down initially for drivers that update link state
(Closes: #444043)
+ * aufs2: Update to snapshot from 2009-11-29
[ dann frazier ]
* mac80211 (CVE-2009-4026, CVE-2009-4027):
Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch Sat Dec 5 15:38:45 2009 (r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-add.patch Sun Dec 6 16:11:08 2009 (r14739)
@@ -242,10 +242,10 @@
+#endif /* __AUFS_H__ */
diff --git a/fs/aufs/branch.c b/fs/aufs/branch.c
new file mode 100644
-index 0000000..102786d
+index 0000000..bb7ad86
--- /dev/null
+++ b/fs/aufs/branch.c
-@@ -0,0 +1,970 @@
+@@ -0,0 +1,988 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -269,6 +269,7 @@
+ */
+
+#include <linux/file.h>
++#include <linux/statfs.h>
+#include "aufs.h"
+
+/*
@@ -544,7 +545,9 @@
+ int perm, struct path *path)
+{
+ int err;
++ struct kstatfs kst;
+ struct au_wbr *wbr;
++ struct dentry *h_dentry;
+
+ wbr = br->br_wbr;
+ au_rw_init(&wbr->wbr_wh_rwsem);
@@ -552,8 +555,23 @@
+ atomic_set(&wbr->wbr_wh_running, 0);
+ wbr->wbr_bytes = 0;
+
-+ err = au_br_init_wh(sb, br, perm, path->dentry);
++ /*
++ * a limit for rmdir/rename a dir
++ * cf. AUFS_MAX_NAMELEN in include/linux/aufs_type.h
++ */
++ h_dentry = path->dentry;
++ err = vfs_statfs(h_dentry, &kst);
++ if (unlikely(err))
++ goto out;
++ err = -EINVAL;
++ if (kst.f_namelen >= NAME_MAX)
++ err = au_br_init_wh(sb, br, perm, h_dentry);
++ else
++ pr_err("%.*s(%s), unsupported namelen %ld\n",
++ AuDLNPair(h_dentry), au_sbtype(h_dentry->d_sb),
++ kst.f_namelen);
+
++ out:
+ return err;
+}
+
@@ -4032,10 +4050,10 @@
+#endif /* __AUFS_DEBUG_H__ */
diff --git a/fs/aufs/dentry.c b/fs/aufs/dentry.c
new file mode 100644
-index 0000000..8bf218b
+index 0000000..28525d4
--- /dev/null
+++ b/fs/aufs/dentry.c
-@@ -0,0 +1,879 @@
+@@ -0,0 +1,880 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -4108,6 +4126,7 @@
+ path_put(&h_nd.path);
+ }
+
++ AuTraceErrPtr(h_dentry);
+ return h_dentry;
+}
+
@@ -7011,10 +7030,10 @@
+}
diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
new file mode 100644
-index 0000000..1065559
+index 0000000..7601012
--- /dev/null
+++ b/fs/aufs/f_op.c
-@@ -0,0 +1,826 @@
+@@ -0,0 +1,827 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -7515,7 +7534,8 @@
+ if (unlikely(err))
+ goto out;
+
-+ vm_ops = vma->vm_ops;
++ /* oops, it became 'const' */
++ vm_ops = (struct vm_operations_struct *)vma->vm_ops;
+ err = do_munmap(current->mm, vma->vm_start,
+ vma->vm_end - vma->vm_start);
+ if (unlikely(err)) {
@@ -7843,10 +7863,10 @@
+};
diff --git a/fs/aufs/file.c b/fs/aufs/file.c
new file mode 100644
-index 0000000..5821834
+index 0000000..a4f33aa
--- /dev/null
+++ b/fs/aufs/file.c
-@@ -0,0 +1,587 @@
+@@ -0,0 +1,591 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -8412,6 +8432,9 @@
+ read_descriptor_t *desc,
+ unsigned long from)
+{ AuUnsupport(); return 0; }
++static int aufs_error_remove_page(struct address_space *mapping,
++ struct page *page)
++{ AuUnsupport(); return 0; }
+#endif /* CONFIG_AUFS_DEBUG */
+
+struct address_space_operations aufs_aop = {
@@ -8431,7 +8454,8 @@
+ .get_xip_mem = aufs_get_xip_mem, /* todo */
+ .migratepage = aufs_migratepage,
+ .launder_page = aufs_launder_page,
-+ .is_partially_uptodate = aufs_is_partially_uptodate
++ .is_partially_uptodate = aufs_is_partially_uptodate,
++ .error_remove_page = aufs_error_remove_page
+#endif /* CONFIG_AUFS_DEBUG */
+};
diff --git a/fs/aufs/file.h b/fs/aufs/file.h
@@ -10891,10 +10915,10 @@
+};
diff --git a/fs/aufs/i_op_add.c b/fs/aufs/i_op_add.c
new file mode 100644
-index 0000000..39b7a48
+index 0000000..813890f
--- /dev/null
+++ b/fs/aufs/i_op_add.c
-@@ -0,0 +1,649 @@
+@@ -0,0 +1,658 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -10990,6 +11014,10 @@
+ struct dentry *h_dentry;
+ struct inode *h_inode;
+
++ err = -ENAMETOOLONG;
++ if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN))
++ goto out;
++
+ h_dentry = au_h_dptr(dentry, bindex);
+ h_inode = h_dentry->d_inode;
+ if (!dentry->d_inode) {
@@ -11020,6 +11048,7 @@
+ err = 0;
+
+ out:
++ AuTraceErr(err);
+ return err;
+}
+
@@ -11040,6 +11069,8 @@
+ unsigned int udba;
+ aufs_bindex_t bcpup;
+
++ AuDbg("%.*s\n", AuDLNPair(dentry));
++
+ err = au_wr_dir(dentry, src_dentry, wr_dir_args);
+ bcpup = err;
+ wh_dentry = ERR_PTR(err);
@@ -11056,13 +11087,14 @@
+
+ h_parent = au_pinned_h_parent(pin);
+ if (udba != AuOpt_UDBA_NONE
-+ && au_dbstart(dentry) == bcpup) {
++ && au_dbstart(dentry) == bcpup)
+ err = au_may_add(dentry, bcpup, h_parent,
+ au_ftest_wrdir(wr_dir_args->flags, ISDIR));
-+ wh_dentry = ERR_PTR(err);
-+ if (unlikely(err))
-+ goto out_unpin;
-+ }
++ else if (unlikely(dentry->d_name.len > AUFS_MAX_NAMELEN))
++ err = -ENAMETOOLONG;
++ wh_dentry = ERR_PTR(err);
++ if (unlikely(err))
++ goto out_unpin;
+
+ br = au_sbr(sb, bcpup);
+ if (dt) {
@@ -11122,6 +11154,7 @@
+ .flags = AuWrDir_ADD_ENTRY
+ };
+
++ AuDbg("%.*s\n", AuDLNPair(dentry));
+ IMustLock(dir);
+
+ parent = dentry->d_parent; /* dir inode is locked */
@@ -11546,10 +11579,10 @@
+}
diff --git a/fs/aufs/i_op_del.c b/fs/aufs/i_op_del.c
new file mode 100644
-index 0000000..c0ee77d
+index 0000000..d47ddfb
--- /dev/null
+++ b/fs/aufs/i_op_del.c
-@@ -0,0 +1,468 @@
+@@ -0,0 +1,470 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -11801,6 +11834,7 @@
+ }
+
+ out:
++ AuTraceErr(err);
+ return err;
+}
+
@@ -12016,14 +12050,15 @@
+ out_unlock:
+ aufs_read_unlock(dentry, AuLock_DW);
+ out:
++ AuTraceErr(err);
+ return err;
+}
diff --git a/fs/aufs/i_op_ren.c b/fs/aufs/i_op_ren.c
new file mode 100644
-index 0000000..9a81ffb
+index 0000000..b107f93
--- /dev/null
+++ b/fs/aufs/i_op_ren.c
-@@ -0,0 +1,957 @@
+@@ -0,0 +1,961 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -12601,6 +12636,7 @@
+ out:
+ if (unlikely(err == -ENOENT || err == -EEXIST))
+ err = -EIO;
++ AuTraceErr(err);
+ return err;
+}
+
@@ -12849,6 +12885,7 @@
+ /* reduce stack space */
+ struct au_ren_args *a;
+
++ AuDbg("%.*s, %.*s\n", AuDLNPair(_src_dentry), AuDLNPair(_dst_dentry));
+ IMustLock(_src_dir);
+ IMustLock(_dst_dir);
+
@@ -12933,11 +12970,12 @@
+ if (unlikely(err))
+ goto out_children;
+
-+ if (!au_opt_test(au_mntflags(a->dst_dir->i_sb), UDBA_NONE)) {
++ if (!au_opt_test(au_mntflags(a->dst_dir->i_sb), UDBA_NONE))
+ err = au_may_ren(a);
-+ if (unlikely(err))
-+ goto out_hdir;
-+ }
++ else if (unlikely(a->dst_dentry->d_name.len > AUFS_MAX_NAMELEN))
++ err = -ENAMETOOLONG;
++ if (unlikely(err))
++ goto out_hdir;
+
+ /* store timestamps to be revertible */
+ au_ren_dt(a);
@@ -12979,6 +13017,7 @@
+ au_whtmp_rmdir_free(a->thargs);
+ kfree(a);
+ out:
++ AuTraceErr(err);
+ return err;
+}
diff --git a/fs/aufs/iinfo.c b/fs/aufs/iinfo.c
@@ -14366,10 +14405,10 @@
+#endif /* __AUFS_LOOP_H__ */
diff --git a/fs/aufs/magic.mk b/fs/aufs/magic.mk
new file mode 100644
-index 0000000..83d613c
+index 0000000..1e55221
--- /dev/null
+++ b/fs/aufs/magic.mk
-@@ -0,0 +1,52 @@
+@@ -0,0 +1,48 @@
+
+# defined in ${srctree}/fs/fuse/inode.c
+# tristate
@@ -14389,10 +14428,6 @@
+ccflags-y += -DDLMFS_MAGIC=0x76a9f425
+endif
+
-+# defined in ${srctree}/fs/ramfs/inode.c
-+# always true
-+ccflags-y += -DRAMFS_MAGIC=0x858458f6
-+
+# defined in ${srctree}/fs/cifs/cifsfs.c
+# tristate
+ifdef CONFIG_CIFS_FS
@@ -14688,10 +14723,10 @@
+#endif /* __AUFS_MODULE_H__ */
diff --git a/fs/aufs/opts.c b/fs/aufs/opts.c
new file mode 100644
-index 0000000..7e936b8
+index 0000000..4d9b60f
--- /dev/null
+++ b/fs/aufs/opts.c
-@@ -0,0 +1,1546 @@
+@@ -0,0 +1,1549 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -14877,7 +14912,7 @@
+ {AuBrPerm_RO, NULL}
+};
+
-+static int br_perm_val(char *perm)
++static int noinline_for_stack br_perm_val(char *perm)
+{
+ int val;
+ substring_t args[MAX_OPT_ARGS];
@@ -14902,7 +14937,7 @@
+ {-1, NULL}
+};
+
-+static int udba_val(char *str)
++static int noinline_for_stack udba_val(char *str)
+{
+ substring_t args[MAX_OPT_ARGS];
+
@@ -14939,7 +14974,8 @@
+ * gave up calling memparse() since it uses simple_strtoull() instead of
+ * strict_...().
+ */
-+static int au_match_ull(substring_t *s, unsigned long long *result)
++static int noinline_for_stack
++au_match_ull(substring_t *s, unsigned long long *result)
+{
+ int err;
+ unsigned int len;
@@ -14988,7 +15024,8 @@
+ return err;
+}
+
-+static int au_wbr_create_val(char *str, struct au_opt_wbr_create *create)
++static int noinline_for_stack
++au_wbr_create_val(char *str, struct au_opt_wbr_create *create)
+{
+ int err, e;
+ substring_t args[MAX_OPT_ARGS];
@@ -15040,7 +15077,7 @@
+ {-1, NULL}
+};
+
-+static int au_wbr_copyup_val(char *str)
++static int noinline_for_stack au_wbr_copyup_val(char *str)
+{
+ substring_t args[MAX_OPT_ARGS];
+
@@ -15335,7 +15372,8 @@
+}
+#endif
+
-+static int au_opts_parse_mod(struct au_opt_mod *mod, substring_t args[])
++static int noinline_for_stack
++au_opts_parse_mod(struct au_opt_mod *mod, substring_t args[])
+{
+ int err;
+ struct path path;
@@ -15418,10 +15456,10 @@
+ return err;
+}
+
-+static
-+int au_opts_parse_xino_itrunc_path(struct super_block *sb,
-+ struct au_opt_xino_itrunc *xino_itrunc,
-+ substring_t args[])
++static int noinline_for_stack
++au_opts_parse_xino_itrunc_path(struct super_block *sb,
++ struct au_opt_xino_itrunc *xino_itrunc,
++ substring_t args[])
+{
+ int err;
+ aufs_bindex_t bend, bindex;
@@ -17712,7 +17750,7 @@
+#endif /* __AUFS_SPL_H__ */
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
new file mode 100644
-index 0000000..6124d17
+index 0000000..10d30f2
--- /dev/null
+++ b/fs/aufs/super.c
@@ -0,0 +1,876 @@
@@ -18069,7 +18107,7 @@
+
+ if (!err) {
+ buf->f_type = AUFS_SUPER_MAGIC;
-+ buf->f_namelen -= AUFS_WH_PFX_LEN;
++ buf->f_namelen = AUFS_MAX_NAMELEN;
+ memset(&buf->f_fsid, 0, sizeof(buf->f_fsid));
+ }
+ /* buf->f_bsize = buf->f_blocks = buf->f_bfree = buf->f_bavail = -1; */
@@ -19596,10 +19634,10 @@
+}
diff --git a/fs/aufs/vdir.c b/fs/aufs/vdir.c
new file mode 100644
-index 0000000..99fd839
+index 0000000..50a3caf
--- /dev/null
+++ b/fs/aufs/vdir.c
-@@ -0,0 +1,879 @@
+@@ -0,0 +1,878 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -19627,7 +19665,6 @@
+
+static unsigned int calc_size(int nlen)
+{
-+ BUILD_BUG_ON(sizeof(ino_t) != sizeof(long));
+ return ALIGN(sizeof(struct au_vdir_de) + nlen, sizeof(ino_t));
+}
+
@@ -20481,10 +20518,10 @@
+}
diff --git a/fs/aufs/vfsub.c b/fs/aufs/vfsub.c
new file mode 100644
-index 0000000..ab0a419
+index 0000000..34c0d95
--- /dev/null
+++ b/fs/aufs/vfsub.c
-@@ -0,0 +1,751 @@
+@@ -0,0 +1,753 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -20593,6 +20630,7 @@
+ vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/
+
+ out:
++ AuTraceErrPtr(path.dentry);
+ return path.dentry;
+}
+
@@ -20608,6 +20646,7 @@
+ if (!IS_ERR(path.dentry) && path.dentry->d_inode)
+ vfsub_update_h_iattr(&path, /*did*/NULL); /*ignore*/
+
++ AuTraceErrPtr(path.dentry);
+ return path.dentry;
+}
+
@@ -22063,10 +22102,10 @@
+};
diff --git a/fs/aufs/whout.c b/fs/aufs/whout.c
new file mode 100644
-index 0000000..177e1dd
+index 0000000..b0ee925
--- /dev/null
+++ b/fs/aufs/whout.c
-@@ -0,0 +1,1053 @@
+@@ -0,0 +1,1056 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -22190,19 +22229,21 @@
+struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br,
+ struct qstr *prefix)
+{
-+#define HEX_LEN 4
+ struct dentry *dentry;
+ int i;
++ /* cf. AUFS_MAX_NAMELEN in include/linux/aufs_type.h */
+ char defname[AUFS_WH_PFX_LEN * 2 + DNAME_INLINE_LEN_MIN + 1
-+ + HEX_LEN + 1], *name, *p;
++ + AUFS_WH_TMP_LEN + 1], *name, *p;
+ static unsigned short cnt;
+ struct qstr qs;
+
++ BUILD_BUG_ON(sizeof(cnt) * 2 > AUFS_WH_TMP_LEN);
++
+ name = defname;
+ qs.len = sizeof(defname) - DNAME_INLINE_LEN_MIN + prefix->len - 1;
+ if (unlikely(prefix->len > DNAME_INLINE_LEN_MIN)) {
+ dentry = ERR_PTR(-ENAMETOOLONG);
-+ if (unlikely(qs.len >= PATH_MAX))
++ if (unlikely(qs.len > NAME_MAX))
+ goto out;
+ dentry = ERR_PTR(-ENOMEM);
+ name = kmalloc(qs.len + 1, GFP_NOFS);
@@ -22216,11 +22257,11 @@
+ memcpy(p, prefix->name, prefix->len);
+ p += prefix->len;
+ *p++ = '.';
-+ AuDebugOn(name + qs.len + 1 - p <= HEX_LEN);
++ AuDebugOn(name + qs.len + 1 - p <= AUFS_WH_TMP_LEN);
+
+ qs.name = name;
+ for (i = 0; i < 3; i++) {
-+ sprintf(p, "%.*d", HEX_LEN, cnt++);
++ sprintf(p, "%.*d", AUFS_WH_TMP_LEN, cnt++);
+ dentry = au_sio_lkup_one(&qs, h_parent, br);
+ if (IS_ERR(dentry) || !dentry->d_inode)
+ goto out_name;
@@ -22235,8 +22276,8 @@
+ if (name != defname)
+ kfree(name);
+ out:
++ AuTraceErrPtr(dentry);
+ return dentry;
-+#undef HEX_LEN
+}
+
+/*
@@ -22266,6 +22307,7 @@
+ dput(h_path.dentry);
+
+ out:
++ AuTraceErr(err);
+ return err;
+}
+
@@ -24778,10 +24820,10 @@
+}
diff --git a/include/linux/aufs_type.h b/include/linux/aufs_type.h
new file mode 100644
-index 0000000..f34d9ed
+index 0000000..b4fee85
--- /dev/null
+++ b/include/linux/aufs_type.h
-@@ -0,0 +1,184 @@
+@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2005-2009 Junjiro R. Okajima
+ *
@@ -24804,9 +24846,10 @@
+#define __AUFS_TYPE_H__
+
+#include <linux/ioctl.h>
++#include <linux/limits.h>
+#include <linux/types.h>
+
-+#define AUFS_VERSION "2-standalone.tree-31-20091012"
++#define AUFS_VERSION "2-standalone.tree-20091130"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -24843,6 +24886,12 @@
+
+#define AUFS_WH_PFX ".wh."
+#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1)
++#define AUFS_WH_TMP_LEN 4
++/* a limit for rmdir/rename a dir */
++#define AUFS_MAX_NAMELEN (NAME_MAX \
++ - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\
++ - 1 /* dot */\
++ - AUFS_WH_TMP_LEN) /* hex */
+#define AUFS_XINO_FNAME "." AUFS_NAME ".xino"
+#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME
+#define AUFS_XINO_TRUNC_INIT 64 /* blocks */
Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch Sat Dec 5 15:38:45 2009 (r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-base.patch Sun Dec 6 16:11:08 2009 (r14739)
@@ -1,7 +1,7 @@
-aufs2 base patch for linux-2.6.31
+aufs2 base patch for linux-2.6.
diff --git a/fs/namei.c b/fs/namei.c
-index 1f13751..b49c2af 100644
+index d11f404..7d28f56 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1219,7 +1219,7 @@ out:
@@ -23,10 +23,10 @@
{
unsigned long hash;
diff --git a/fs/splice.c b/fs/splice.c
-index 73766d2..0cb8873 100644
+index 7394e9e..77184f0 100644
--- a/fs/splice.c
+++ b/fs/splice.c
-@@ -1057,8 +1057,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
+@@ -1051,8 +1051,8 @@ EXPORT_SYMBOL_GPL(generic_splice_sendpage);
/*
* Attempt to initiate a splice from pipe to file.
*/
@@ -37,7 +37,7 @@
{
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int);
-@@ -1084,9 +1084,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1078,9 +1078,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
/*
* Attempt to initiate a splice from a file to a pipe.
*/
@@ -51,7 +51,7 @@
ssize_t (*splice_read)(struct file *, loff_t *,
struct pipe_inode_info *, size_t, unsigned int);
diff --git a/include/linux/namei.h b/include/linux/namei.h
-index d870ae2..a49900e 100644
+index ec0f607..1438153 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -75,6 +75,9 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry
Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch Sat Dec 5 15:38:45 2009 (r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-kbuild.patch Sun Dec 6 16:11:08 2009 (r14739)
@@ -1,12 +1,10 @@
-aufs2 kbuild patch for linux-2.6.31
-
-Trivial update for 2.6.32 by Ben Hutchings <ben at decadent.org.uk>
+aufs2 kbuild patch for linux-2.6.
diff --git a/fs/Kconfig b/fs/Kconfig
-index 0e7da7b..a4194da 100644
+index 64d44ef..3e1f2f0 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -187,6 +187,7 @@ source "fs/sysv/Kconfig"
+@@ -188,6 +188,7 @@ source "fs/romfs/Kconfig"
source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"
source "fs/exofs/Kconfig"
@@ -24,7 +22,7 @@
obj-$(CONFIG_EXOFS_FS) += exofs/
+obj-$(CONFIG_AUFS_FS) += aufs/
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
-index 334a359..2a88f69 100644
+index 1feed71..4ceebc7 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -34,6 +34,7 @@ header-y += atmppp.h
Modified: dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch Sat Dec 5 15:38:45 2009 (r14738)
+++ dists/trunk/linux-2.6/debian/patches/features/all/aufs2/aufs2-standalone.patch Sun Dec 6 16:11:08 2009 (r14739)
@@ -1,12 +1,10 @@
-aufs2 standalone patch for linux-2.6.31
-
-Trivial update for 2.6.32 by Ben Hutchings <ben at decadent.org.uk>
+aufs2 standalone patch for linux-2.6.
diff --git a/fs/namei.c b/fs/namei.c
-index b49c2af..4521c70 100644
+index 7d28f56..0f6117c 100644
--- a/fs/namei.c
+++ b/fs/namei.c
-@@ -337,6 +337,7 @@ int deny_write_access(struct file * file)
+@@ -350,6 +350,7 @@ int deny_write_access(struct file * file)
return 0;
}
@@ -31,7 +29,7 @@
/**
* lookup_one_len - filesystem helper to lookup single pathname component
diff --git a/fs/namespace.c b/fs/namespace.c
-index 7230787..8269b66 100644
+index bdc3cb4..a2cadcf 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -39,6 +39,7 @@
@@ -43,10 +41,10 @@
static int event;
static DEFINE_IDA(mnt_id_ida);
diff --git a/fs/open.c b/fs/open.c
-index dd98e80..04b9aad 100644
+index 4f01e06..ef09031 100644
--- a/fs/open.c
+++ b/fs/open.c
-@@ -221,6 +221,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
+@@ -223,6 +223,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
mutex_unlock(&dentry->d_inode->i_mutex);
return ret;
}
@@ -55,10 +53,10 @@
static long do_sys_truncate(const char __user *pathname, loff_t length)
{
diff --git a/fs/splice.c b/fs/splice.c
-index 0cb8873..0e7b0b9 100644
+index 77184f0..8479d95 100644
--- a/fs/splice.c
+++ b/fs/splice.c
-@@ -1080,6 +1080,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1074,6 +1074,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
return splice_write(pipe, out, ppos, len, flags);
}
@@ -66,7 +64,7 @@
/*
* Attempt to initiate a splice from a file to a pipe.
-@@ -1105,6 +1106,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
+@@ -1099,6 +1100,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
return splice_read(in, ppos, pipe, len, flags);
}
@@ -75,10 +73,10 @@
/**
* splice_direct_to_actor - splices data directly between two non-pipes
diff --git a/security/device_cgroup.c b/security/device_cgroup.c
-index b8186ba..42208d8 100644
+index 6cf8fd2..008e0d8 100644
--- a/security/device_cgroup.c
+++ b/security/device_cgroup.c
-@@ -513,6 +513,7 @@ found:
+@@ -514,6 +514,7 @@ found:
return -EPERM;
}
@@ -99,7 +97,7 @@
/**
* ima_bprm_check - based on policy, collect/store measurement.
diff --git a/security/security.c b/security/security.c
-index dc7674f..b309f88 100644
+index c4c6732..854d15c 100644
--- a/security/security.c
+++ b/security/security.c
@@ -386,6 +386,7 @@ int security_path_mkdir(struct path *path, struct dentry *dentry, int mode)
Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base Sat Dec 5 15:38:45 2009 (r14738)
+++ dists/trunk/linux-2.6/debian/patches/series/base Sun Dec 6 16:11:08 2009 (r14739)
@@ -24,7 +24,6 @@
+ features/all/aufs2/aufs2-add.patch
# mark as staging/crap
+ features/all/aufs2/mark-as-staging.patch
-+ bugfix/all/aufs2-remove-incorrect-static-assertion.patch
# content of src/ from speakup package; generated with:
# diff -ur --unidirectional-new-file nonexistent src | filterdiff --strip=1 --addoldprefix=a/drivers/staging/speakup/ --addnewprefix=b/drivers/staging/speakup/
More information about the Kernel-svn-changes
mailing list