packages (LINUX_2_6_37): kernel/kernel.spec, kernel/kernel-unionfs.patch - ...
arekm
arekm at pld-linux.org
Wed Mar 23 18:06:40 CET 2011
Author: arekm Date: Wed Mar 23 17:06:40 2011 GMT
Module: packages Tag: LINUX_2_6_37
---- Log message:
- update unionfs to http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.37.2.diff.gz
---- Files affected:
packages/kernel:
kernel.spec (1.888.2.2 -> 1.888.2.3) , kernel-unionfs.patch (1.11 -> 1.11.2.1)
---- Diffs:
================================================================
Index: packages/kernel/kernel.spec
diff -u packages/kernel/kernel.spec:1.888.2.2 packages/kernel/kernel.spec:1.888.2.3
--- packages/kernel/kernel.spec:1.888.2.2 Wed Mar 23 18:00:28 2011
+++ packages/kernel/kernel.spec Wed Mar 23 18:06:34 2011
@@ -246,7 +246,7 @@
# from patches.fixes/tiocgdev
Patch131: kernel-TIOCGDEV.patch
-# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.7_for_2.6.36.diff.gz
+# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.37.2.diff.gz
Patch140: kernel-unionfs.patch
# http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
@@ -1538,6 +1538,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.888.2.3 2011/03/23 17:06:34 arekm
+- update unionfs to http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.8_for_2.6.37.2.diff.gz
+
Revision 1.888.2.2 2011/03/23 17:00:28 arekm
- up to http://www.grsecurity.net/~spender/grsecurity-2.2.1-2.6.37.4-201103211735.patch
================================================================
Index: packages/kernel/kernel-unionfs.patch
diff -u packages/kernel/kernel-unionfs.patch:1.11 packages/kernel/kernel-unionfs.patch:1.11.2.1
--- packages/kernel/kernel-unionfs.patch:1.11 Sun Nov 7 11:19:06 2010
+++ packages/kernel/kernel-unionfs.patch Wed Mar 23 18:06:34 2011
@@ -1,8 +1,8 @@
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX
-index 4303614..5ade4a8 100644
+index 8c624a1..4aa288b 100644
--- a/Documentation/filesystems/00-INDEX
+++ b/Documentation/filesystems/00-INDEX
-@@ -112,6 +112,8 @@ udf.txt
+@@ -110,6 +110,8 @@ udf.txt
- info and mount options for the UDF filesystem.
ufs.txt
- info on the ufs filesystem.
@@ -532,10 +532,10 @@
+
+For more information, see <http://unionfs.filesystems.org/>.
diff --git a/MAINTAINERS b/MAINTAINERS
-index f2a2b8e..11d7f45 100644
+index 7585e9d..3a2bc77 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -5917,6 +5917,14 @@ F: Documentation/cdrom/
+@@ -6030,6 +6030,14 @@ F: Documentation/cdrom/
F: drivers/cdrom/cdrom.c
F: include/linux/cdrom.h
@@ -551,10 +551,10 @@
M: Artem Bityutskiy <dedekind1 at gmail.com>
W: http://www.linux-mtd.infradead.org/
diff --git a/fs/Kconfig b/fs/Kconfig
-index 3d18530..65b6aa1 100644
+index 771f457..5d4c8c6 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -169,6 +169,7 @@ if MISC_FILESYSTEMS
+@@ -171,6 +171,7 @@ if MISC_FILESYSTEMS
source "fs/adfs/Kconfig"
source "fs/affs/Kconfig"
source "fs/ecryptfs/Kconfig"
@@ -563,10 +563,10 @@
source "fs/hfsplus/Kconfig"
source "fs/befs/Kconfig"
diff --git a/fs/Makefile b/fs/Makefile
-index e6ec1d3..787332e 100644
+index a7f7cef..672664b 100644
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -84,6 +84,7 @@ obj-$(CONFIG_ISO9660_FS) += isofs/
+@@ -81,6 +81,7 @@ obj-$(CONFIG_ISO9660_FS) += isofs/
obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+
obj-$(CONFIG_HFS_FS) += hfs/
obj-$(CONFIG_ECRYPT_FS) += ecryptfs/
@@ -575,7 +575,7 @@
obj-$(CONFIG_NFS_FS) += nfs/
obj-$(CONFIG_EXPORTFS) += exportfs/
diff --git a/fs/namei.c b/fs/namei.c
-index 24896e8..db22420 100644
+index 4ff7ca5..24f1f62 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -385,6 +385,7 @@ void release_open_intent(struct nameidata *nd)
@@ -587,7 +587,7 @@
static inline struct dentry *
do_revalidate(struct dentry *dentry, struct nameidata *nd)
diff --git a/fs/splice.c b/fs/splice.c
-index 8f1dfae..7a57fab 100644
+index ce2f025..00ae6d9 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1092,8 +1092,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
@@ -647,7 +647,7 @@
}
/**
-@@ -1368,7 +1370,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
+@@ -1356,7 +1358,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
} else
off = &out->f_pos;
@@ -656,7 +656,7 @@
if (off_out && copy_to_user(off_out, off, sizeof(loff_t)))
ret = -EFAULT;
-@@ -1388,7 +1390,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
+@@ -1376,7 +1378,7 @@ static long do_splice(struct file *in, loff_t __user *off_in,
} else
off = &in->f_pos;
@@ -723,11 +723,11 @@
+ If you say Y here, you can turn on debugging output from Unionfs.
diff --git a/fs/unionfs/Makefile b/fs/unionfs/Makefile
new file mode 100644
-index 0000000..86c32ba
+index 0000000..2ae32e5
--- /dev/null
+++ b/fs/unionfs/Makefile
@@ -0,0 +1,17 @@
-+UNIONFS_VERSION="2.5.7 (for 2.6.36)"
++UNIONFS_VERSION="2.5.8 (for 2.6.37.2)"
+
+EXTRA_CFLAGS += -DUNIONFS_VERSION=\"$(UNIONFS_VERSION)\"
+
@@ -1492,9 +1492,9 @@
+ if (lower_file->f_op->unlocked_ioctl) {
+ err = lower_file->f_op->unlocked_ioctl(lower_file, cmd, arg);
+#ifdef CONFIG_COMPAT
-+ } else if (lower_file->f_op->compat_ioctl) {
++ } else if (lower_file->f_op->ioctl) {
+ err = lower_file->f_op->compat_ioctl(
-+
++ lower_file->f_path.dentry->d_inode,
+ lower_file, cmd, arg);
+#endif
+ }
@@ -4764,10 +4764,10 @@
+};
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
new file mode 100644
-index 0000000..4c36f16
+index 0000000..cc994bd
--- /dev/null
+++ b/fs/unionfs/inode.c
-@@ -0,0 +1,1061 @@
+@@ -0,0 +1,1074 @@
+/*
+ * Copyright (c) 2003-2010 Erez Zadok
+ * Copyright (c) 2003-2006 Charles P. Wright
@@ -5671,6 +5671,12 @@
+ struct inode *lower_inode;
+ int bstart, bend, bindex;
+ loff_t size;
++ struct iattr lower_ia;
++
++ /* check if user has permission to change inode */
++ err = inode_change_ok(dentry->d_inode, ia);
++ if (err)
++ goto out_err;
+
+ unionfs_read_lock(dentry->d_sb, UNIONFS_SMUTEX_CHILD);
+ parent = unionfs_lock_parent(dentry, UNIONFS_DMUTEX_PARENT);
@@ -5758,8 +5764,15 @@
+ * unlinked (no inode->i_sb and i_ino==0. This happens if someone
+ * tries to open(), unlink(), then ftruncate() a file.
+ */
++ /* prepare our own lower struct iattr (with our own lower file) */
++ memcpy(&lower_ia, ia, sizeof(lower_ia));
++ if (ia->ia_valid & ATTR_FILE) {
++ lower_ia.ia_file = unionfs_lower_file(ia->ia_file);
++ BUG_ON(!lower_ia.ia_file); // XXX?
++ }
++
+ mutex_lock(&lower_dentry->d_inode->i_mutex);
-+ err = notify_change(lower_dentry, ia);
++ err = notify_change(lower_dentry, &lower_ia);
+ mutex_unlock(&lower_dentry->d_inode->i_mutex);
+ if (err)
+ goto out;
@@ -5787,7 +5800,7 @@
+ unionfs_unlock_dentry(dentry);
+ unionfs_unlock_parent(dentry, parent);
+ unionfs_read_unlock(dentry->d_sb);
-+
++out_err:
+ return err;
+}
+
@@ -6406,10 +6419,10 @@
+}
diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
new file mode 100644
-index 0000000..258386e
+index 0000000..9ee58eb
--- /dev/null
+++ b/fs/unionfs/main.c
-@@ -0,0 +1,758 @@
+@@ -0,0 +1,762 @@
+/*
+ * Copyright (c) 2003-2010 Erez Zadok
+ * Copyright (c) 2003-2006 Charles P. Wright
@@ -6699,7 +6712,7 @@
+ if (options[0] == '\0') {
+ printk(KERN_ERR "unionfs: no branches specified\n");
+ err = -EINVAL;
-+ goto out;
++ goto out_return;
+ }
+
+ /*
@@ -6715,14 +6728,17 @@
+ kcalloc(branches, sizeof(struct unionfs_data), GFP_KERNEL);
+ if (unlikely(!UNIONFS_SB(sb)->data)) {
+ err = -ENOMEM;
-+ goto out;
++ goto out_return;
+ }
+
+ lower_root_info->lower_paths =
+ kcalloc(branches, sizeof(struct path), GFP_KERNEL);
+ if (unlikely(!lower_root_info->lower_paths)) {
+ err = -ENOMEM;
-+ goto out;
++ /* free the underlying pointer array */
++ kfree(UNIONFS_SB(sb)->data);
++ UNIONFS_SB(sb)->data = NULL;
++ goto out_return;
+ }
+
+ /* now parsing a string such as "b1:b2=rw:b3=ro:b4" */
@@ -6839,6 +6855,7 @@
+ lower_root_info->lower_paths = NULL;
+ UNIONFS_SB(sb)->data = NULL;
+ }
++out_return:
+ return err;
+}
+
@@ -11171,7 +11188,7 @@
*/
diff --git a/include/linux/magic.h b/include/linux/magic.h
-index eb9800f..9770154 100644
+index ff690d0..37452a3 100644
--- a/include/linux/magic.h
+++ b/include/linux/magic.h
@@ -47,6 +47,8 @@
@@ -11240,10 +11257,10 @@
+#endif /* _LINUX_UNIONFS_H */
+
diff --git a/security/security.c b/security/security.c
-index c53949f..eb71394 100644
+index 8d57dbb..950a998 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -528,6 +528,7 @@ int security_inode_permission(struct inode *inode, int mask)
+@@ -511,6 +511,7 @@ int security_inode_permission(struct inode *inode, int mask)
return 0;
return security_ops->inode_permission(inode, mask);
}
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.888.2.2&r2=1.888.2.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-unionfs.patch?r1=1.11&r2=1.11.2.1&f=u
More information about the pld-cvs-commit
mailing list