diff --git a/kernel-patches/for-mainline/apparmor-audit.diff b/kernel-patches/for-mainline/apparmor-audit.diff index bb4a7e402..226b63bad 100644 --- a/kernel-patches/for-mainline/apparmor-audit.diff +++ b/kernel-patches/for-mainline/apparmor-audit.diff @@ -12,10 +12,10 @@ Patch is not in mainline -- pending AppArmor code submission to lkml kernel/audit.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) -Index: linux-2.6/include/linux/audit.h +Index: b/include/linux/audit.h =================================================================== ---- linux-2.6.orig/include/linux/audit.h -+++ linux-2.6/include/linux/audit.h +--- a/include/linux/audit.h ++++ b/include/linux/audit.h @@ -110,6 +110,8 @@ #define AUDIT_LAST_KERN_ANOM_MSG 1799 #define AUDIT_ANOM_PROMISCUOUS 1700 /* Device changed promiscuous mode */ @@ -35,10 +35,10 @@ Index: linux-2.6/include/linux/audit.h extern void audit_log_format(struct audit_buffer *ab, const char *fmt, ...) __attribute__((format(printf,2,3))); -Index: linux-2.6/kernel/audit.c +Index: b/kernel/audit.c =================================================================== ---- linux-2.6.orig/kernel/audit.c -+++ linux-2.6/kernel/audit.c +--- a/kernel/audit.c ++++ b/kernel/audit.c @@ -956,8 +956,7 @@ static inline int audit_expand(struct au * will be called a second time. Currently, we assume that a printk * can't format message larger than 1024 bytes, so we don't either. diff --git a/kernel-patches/for-mainline/no-unreachable-paths.diff b/kernel-patches/for-mainline/no-unreachable-paths.diff index 09ecda30a..38c6a232c 100644 --- a/kernel-patches/for-mainline/no-unreachable-paths.diff +++ b/kernel-patches/for-mainline/no-unreachable-paths.diff @@ -81,7 +81,7 @@ Index: b/fs/proc/base.c =================================================================== --- a/fs/proc/base.c +++ b/fs/proc/base.c -@@ -356,13 +356,16 @@ static const struct inode_operations pro +@@ -353,13 +353,16 @@ static const struct inode_operations pro .setattr = proc_setattr, }; @@ -99,7 +99,7 @@ Index: b/fs/proc/base.c { struct task_struct *task = get_proc_task(inode); struct mnt_namespace *ns = NULL; -@@ -385,12 +388,16 @@ static int mounts_open(struct inode *ino +@@ -382,12 +385,16 @@ static int mounts_open(struct inode *ino p = kmalloc(sizeof(struct proc_mounts), GFP_KERNEL); if (p) { file->private_data = &p->m; @@ -117,7 +117,7 @@ Index: b/fs/proc/base.c kfree(p); } put_mnt_ns(ns); -@@ -398,17 +405,25 @@ static int mounts_open(struct inode *ino +@@ -395,17 +402,25 @@ static int mounts_open(struct inode *ino return ret; } @@ -146,7 +146,7 @@ Index: b/fs/proc/base.c struct mnt_namespace *ns = p->m.private; unsigned res = 0; -@@ -435,31 +450,7 @@ static const struct file_operations proc +@@ -432,31 +447,7 @@ static const struct file_operations proc extern struct seq_operations mountstats_op; static int mountstats_open(struct inode *inode, struct file *file) { diff --git a/kernel-patches/for-mainline/proc_sys_setattr.diff b/kernel-patches/for-mainline/proc_sys_setattr.diff new file mode 100644 index 000000000..18f691608 --- /dev/null +++ b/kernel-patches/for-mainline/proc_sys_setattr.diff @@ -0,0 +1,29 @@ +Remove redundant check from proc_sys_setattr(), similar to recent fixup +in proc_setattr(). + +notify_change() already calls security_inode_setattr() before +calling iop->setattr. + +Signed-off-by: Steve Beattie +--- + fs/proc/proc_sysctl.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +Index: b/fs/proc/proc_sysctl.c +=================================================================== +--- a/fs/proc/proc_sysctl.c ++++ b/fs/proc/proc_sysctl.c +@@ -429,11 +429,8 @@ static int proc_sys_setattr(struct dentr + return -EPERM; + + error = inode_change_ok(inode, attr); +- if (!error) { +- error = security_inode_setattr(dentry, attr); +- if (!error) +- error = inode_setattr(inode, attr); +- } ++ if (!error) ++ error = inode_setattr(inode, attr); + + return error; + } diff --git a/kernel-patches/for-mainline/remove_suid.diff b/kernel-patches/for-mainline/remove_suid.diff index ffec3341b..7a50c1330 100644 --- a/kernel-patches/for-mainline/remove_suid.diff +++ b/kernel-patches/for-mainline/remove_suid.diff @@ -11,7 +11,7 @@ Index: b/mm/filemap.c =================================================================== --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -1869,9 +1869,9 @@ repeat: +@@ -1849,9 +1849,9 @@ repeat: * if suid or (sgid and xgrp) * remove privs */ @@ -23,7 +23,7 @@ Index: b/mm/filemap.c int kill = 0; /* suid always must be killed */ -@@ -1892,20 +1892,20 @@ int should_remove_suid(struct dentry *de +@@ -1872,20 +1872,20 @@ int should_remove_suid(struct dentry *de } EXPORT_SYMBOL(should_remove_suid); @@ -49,7 +49,7 @@ Index: b/mm/filemap.c return 0; } -@@ -2266,7 +2266,7 @@ __generic_file_aio_write_nolock(struct k +@@ -2246,7 +2246,7 @@ __generic_file_aio_write_nolock(struct k if (count == 0) goto out; @@ -114,7 +114,7 @@ Index: b/fs/xfs/linux-2.6/xfs_lrw.c =================================================================== --- a/fs/xfs/linux-2.6/xfs_lrw.c +++ b/fs/xfs/linux-2.6/xfs_lrw.c -@@ -805,7 +805,7 @@ start: +@@ -799,7 +799,7 @@ start: !capable(CAP_FSETID)) { error = xfs_write_clear_setuid(xip); if (likely(!error)) @@ -127,7 +127,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1678,9 +1678,9 @@ extern void __iget(struct inode * inode) +@@ -1685,9 +1685,9 @@ extern void __iget(struct inode * inode) extern void clear_inode(struct inode *); extern void destroy_inode(struct inode *); extern struct inode *new_inode(struct super_block *); @@ -137,9 +137,9 @@ Index: b/include/linux/fs.h +extern int __remove_suid(struct path *, int); +extern int should_remove_suid(struct path *); +extern int remove_suid(struct path *); - extern void remove_dquot_ref(struct super_block *, int, struct list_head *); extern void __insert_inode_hash(struct inode *, unsigned long hashval); + extern void remove_inode_hash(struct inode *); Index: b/mm/filemap_xip.c =================================================================== --- a/mm/filemap_xip.c diff --git a/kernel-patches/for-mainline/security-create.diff b/kernel-patches/for-mainline/security-create.diff index 006cd9d1b..3bc95f16c 100644 --- a/kernel-patches/for-mainline/security-create.diff +++ b/kernel-patches/for-mainline/security-create.diff @@ -78,7 +78,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2135,7 +2135,8 @@ static int selinux_inode_init_security(s +@@ -2178,7 +2178,8 @@ static int selinux_inode_init_security(s return 0; } diff --git a/kernel-patches/for-mainline/security-getxattr.diff b/kernel-patches/for-mainline/security-getxattr.diff index 0c6382582..6002c8481 100644 --- a/kernel-patches/for-mainline/security-getxattr.diff +++ b/kernel-patches/for-mainline/security-getxattr.diff @@ -82,7 +82,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2352,7 +2352,8 @@ static void selinux_inode_post_setxattr( +@@ -2395,7 +2395,8 @@ static void selinux_inode_post_setxattr( return; } diff --git a/kernel-patches/for-mainline/security-link.diff b/kernel-patches/for-mainline/security-link.diff index b97033620..7df021a57 100644 --- a/kernel-patches/for-mainline/security-link.diff +++ b/kernel-patches/for-mainline/security-link.diff @@ -95,7 +95,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2141,11 +2141,16 @@ static int selinux_inode_create(struct i +@@ -2184,11 +2184,16 @@ static int selinux_inode_create(struct i return may_create(dir, dentry, SECCLASS_FILE); } diff --git a/kernel-patches/for-mainline/security-listxattr.diff b/kernel-patches/for-mainline/security-listxattr.diff index d19b506e1..7bbf18e7c 100644 --- a/kernel-patches/for-mainline/security-listxattr.diff +++ b/kernel-patches/for-mainline/security-listxattr.diff @@ -80,7 +80,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2358,7 +2358,7 @@ static int selinux_inode_getxattr (struc +@@ -2401,7 +2401,7 @@ static int selinux_inode_getxattr (struc return dentry_has_perm(current, NULL, dentry, FILE__GETATTR); } diff --git a/kernel-patches/for-mainline/security-mkdir.diff b/kernel-patches/for-mainline/security-mkdir.diff index 3f276c400..48aba1253 100644 --- a/kernel-patches/for-mainline/security-mkdir.diff +++ b/kernel-patches/for-mainline/security-mkdir.diff @@ -77,7 +77,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2166,7 +2166,8 @@ static int selinux_inode_symlink(struct +@@ -2209,7 +2209,8 @@ static int selinux_inode_symlink(struct return may_create(dir, dentry, SECCLASS_LNK_FILE); } diff --git a/kernel-patches/for-mainline/security-mknod.diff b/kernel-patches/for-mainline/security-mknod.diff index 78dbce38c..525061019 100644 --- a/kernel-patches/for-mainline/security-mknod.diff +++ b/kernel-patches/for-mainline/security-mknod.diff @@ -76,7 +76,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2177,11 +2177,12 @@ static int selinux_inode_rmdir(struct in +@@ -2220,11 +2220,12 @@ static int selinux_inode_rmdir(struct in return may_link(dir, dentry, MAY_RMDIR); } diff --git a/kernel-patches/for-mainline/security-readlink.diff b/kernel-patches/for-mainline/security-readlink.diff index 20c9e9014..6b18cb63a 100644 --- a/kernel-patches/for-mainline/security-readlink.diff +++ b/kernel-patches/for-mainline/security-readlink.diff @@ -79,7 +79,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2196,7 +2196,7 @@ static int selinux_inode_rename(struct i +@@ -2239,7 +2239,7 @@ static int selinux_inode_rename(struct i return may_rename(old_inode, old_dentry, new_inode, new_dentry); } diff --git a/kernel-patches/for-mainline/security-removexattr.diff b/kernel-patches/for-mainline/security-removexattr.diff index 2886137d3..f074ae2f9 100644 --- a/kernel-patches/for-mainline/security-removexattr.diff +++ b/kernel-patches/for-mainline/security-removexattr.diff @@ -99,7 +99,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2363,7 +2363,8 @@ static int selinux_inode_listxattr (stru +@@ -2406,7 +2406,8 @@ static int selinux_inode_listxattr (stru return dentry_has_perm(current, NULL, dentry, FILE__GETATTR); } diff --git a/kernel-patches/for-mainline/security-rename.diff b/kernel-patches/for-mainline/security-rename.diff index 51edfb4b6..778f8922a 100644 --- a/kernel-patches/for-mainline/security-rename.diff +++ b/kernel-patches/for-mainline/security-rename.diff @@ -105,7 +105,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2197,8 +2197,12 @@ static int selinux_inode_mknod(struct in +@@ -2240,8 +2240,12 @@ static int selinux_inode_mknod(struct in return may_create(dir, dentry, inode_mode_to_security_class(mode)); } diff --git a/kernel-patches/for-mainline/security-rmdir.diff b/kernel-patches/for-mainline/security-rmdir.diff index 1743b1771..490173f8f 100644 --- a/kernel-patches/for-mainline/security-rmdir.diff +++ b/kernel-patches/for-mainline/security-rmdir.diff @@ -81,7 +81,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2178,7 +2178,8 @@ static int selinux_inode_mkdir(struct in +@@ -2221,7 +2221,8 @@ static int selinux_inode_mkdir(struct in return may_create(dir, dentry, SECCLASS_DIR); } diff --git a/kernel-patches/for-mainline/security-setattr.diff b/kernel-patches/for-mainline/security-setattr.diff index 6db6ca2af..7efac75e6 100644 --- a/kernel-patches/for-mainline/security-setattr.diff +++ b/kernel-patches/for-mainline/security-setattr.diff @@ -85,7 +85,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2226,11 +2226,12 @@ static int selinux_inode_permission(stru +@@ -2269,11 +2269,12 @@ static int selinux_inode_permission(stru file_mask_to_av(inode->i_mode, mask), NULL); } diff --git a/kernel-patches/for-mainline/security-setxattr.diff b/kernel-patches/for-mainline/security-setxattr.diff index 4df74fcf7..1ca27fbf2 100644 --- a/kernel-patches/for-mainline/security-setxattr.diff +++ b/kernel-patches/for-mainline/security-setxattr.diff @@ -144,7 +144,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2264,7 +2264,9 @@ static int selinux_inode_getattr(struct +@@ -2307,7 +2307,9 @@ static int selinux_inode_getattr(struct return dentry_has_perm(current, mnt, dentry, FILE__GETATTR); } @@ -155,7 +155,7 @@ Index: b/security/selinux/hooks.c { struct task_security_struct *tsec = current->security; struct inode *inode = dentry->d_inode; -@@ -2324,7 +2326,9 @@ static int selinux_inode_setxattr(struct +@@ -2367,7 +2369,9 @@ static int selinux_inode_setxattr(struct &ad); } diff --git a/kernel-patches/for-mainline/security-symlink.diff b/kernel-patches/for-mainline/security-symlink.diff index a9f6f4fed..115718ab9 100644 --- a/kernel-patches/for-mainline/security-symlink.diff +++ b/kernel-patches/for-mainline/security-symlink.diff @@ -78,7 +78,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2161,7 +2161,8 @@ static int selinux_inode_unlink(struct i +@@ -2204,7 +2204,8 @@ static int selinux_inode_unlink(struct i return may_link(dir, dentry, MAY_UNLINK); } diff --git a/kernel-patches/for-mainline/security-unlink.diff b/kernel-patches/for-mainline/security-unlink.diff index 60af0ee5e..51a5f6198 100644 --- a/kernel-patches/for-mainline/security-unlink.diff +++ b/kernel-patches/for-mainline/security-unlink.diff @@ -81,7 +81,7 @@ Index: b/security/selinux/hooks.c =================================================================== --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c -@@ -2156,11 +2156,12 @@ static int selinux_inode_link(struct den +@@ -2199,11 +2199,12 @@ static int selinux_inode_link(struct den return may_link(dir, old_dentry, MAY_LINK); } diff --git a/kernel-patches/for-mainline/series b/kernel-patches/for-mainline/series index 8d56fdf6c..86101c6a6 100644 --- a/kernel-patches/for-mainline/series +++ b/kernel-patches/for-mainline/series @@ -1,5 +1,6 @@ security-create.diff proc_setattr.diff +proc_sys_setattr.diff remove_suid.diff vfs-notify_change.diff security-setattr.diff @@ -60,6 +61,7 @@ apparmor-d_namespace.diff alloc-pathnames.diff fix-change_hat.diff typo.diff +typo2.diff reintroduce-revalidation.diff remove-debug-flag.diff rename-profile-lock.diff diff --git a/kernel-patches/for-mainline/typo2.diff b/kernel-patches/for-mainline/typo2.diff new file mode 100644 index 000000000..a2ecf1673 --- /dev/null +++ b/kernel-patches/for-mainline/typo2.diff @@ -0,0 +1,17 @@ +--- + security/apparmor/inline.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: b/security/apparmor/inline.h +=================================================================== +--- a/security/apparmor/inline.h ++++ b/security/apparmor/inline.h +@@ -60,7 +60,7 @@ static inline struct aa_profile *aa_get_ + * profile. The cxt_lock must be held to ensure consistency against + * other writers. Some write paths (ex. aa_register) require + * cxt->profile not to change over several operations, so the calling +- * function is responsible for grabing the cxt_lock to meet its ++ * function is responsible for grabbing the cxt_lock to meet its + * consistency constraints before calling aa_switch_to_profile + */ + static inline void aa_switch_to_profile(struct aa_task_context *cxt, diff --git a/kernel-patches/for-mainline/vfs-getxattr.diff b/kernel-patches/for-mainline/vfs-getxattr.diff index 40e706c52..432baae37 100644 --- a/kernel-patches/for-mainline/vfs-getxattr.diff +++ b/kernel-patches/for-mainline/vfs-getxattr.diff @@ -148,7 +148,7 @@ Index: b/include/linux/xattr.h =================================================================== --- a/include/linux/xattr.h +++ b/include/linux/xattr.h -@@ -40,7 +40,8 @@ struct xattr_handler { +@@ -46,7 +46,8 @@ struct xattr_handler { size_t size, int flags); }; diff --git a/kernel-patches/for-mainline/vfs-link.diff b/kernel-patches/for-mainline/vfs-link.diff index 0787d4a22..7f2ceb001 100644 --- a/kernel-patches/for-mainline/vfs-link.diff +++ b/kernel-patches/for-mainline/vfs-link.diff @@ -30,7 +30,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -982,7 +982,7 @@ extern int vfs_create(struct inode *, st +@@ -983,7 +983,7 @@ extern int vfs_create(struct inode *, st extern int vfs_mkdir(struct inode *, struct dentry *, struct vfsmount *, int); extern int vfs_mknod(struct inode *, struct dentry *, struct vfsmount *, int, dev_t); extern int vfs_symlink(struct inode *, struct dentry *, struct vfsmount *, const char *, int); @@ -43,7 +43,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -403,19 +403,24 @@ static int ecryptfs_link(struct dentry * +@@ -414,19 +414,24 @@ static int ecryptfs_link(struct dentry * struct dentry *new_dentry) { struct dentry *lower_old_dentry; diff --git a/kernel-patches/for-mainline/vfs-listxattr.diff b/kernel-patches/for-mainline/vfs-listxattr.diff index a1f10ed28..5aa3ff7e2 100644 --- a/kernel-patches/for-mainline/vfs-listxattr.diff +++ b/kernel-patches/for-mainline/vfs-listxattr.diff @@ -84,7 +84,7 @@ Index: b/include/linux/xattr.h =================================================================== --- a/include/linux/xattr.h +++ b/include/linux/xattr.h -@@ -42,7 +42,8 @@ struct xattr_handler { +@@ -48,7 +48,8 @@ struct xattr_handler { ssize_t vfs_getxattr(struct dentry *, struct vfsmount *, char *, void *, size_t); diff --git a/kernel-patches/for-mainline/vfs-mkdir.diff b/kernel-patches/for-mainline/vfs-mkdir.diff index 370d1ee5e..7248908c4 100644 --- a/kernel-patches/for-mainline/vfs-mkdir.diff +++ b/kernel-patches/for-mainline/vfs-mkdir.diff @@ -7,7 +7,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -501,11 +501,14 @@ static int ecryptfs_mkdir(struct inode * +@@ -512,11 +512,14 @@ static int ecryptfs_mkdir(struct inode * { int rc; struct dentry *lower_dentry; @@ -78,7 +78,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -979,7 +979,7 @@ extern void unlock_super(struct super_bl +@@ -980,7 +980,7 @@ extern void unlock_super(struct super_bl */ extern int vfs_permission(struct nameidata *, int); extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *); diff --git a/kernel-patches/for-mainline/vfs-mknod.diff b/kernel-patches/for-mainline/vfs-mknod.diff index 0fea0552f..bd8e06bea 100644 --- a/kernel-patches/for-mainline/vfs-mknod.diff +++ b/kernel-patches/for-mainline/vfs-mknod.diff @@ -7,7 +7,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -552,11 +552,14 @@ ecryptfs_mknod(struct inode *dir, struct +@@ -563,11 +563,14 @@ ecryptfs_mknod(struct inode *dir, struct { int rc; struct dentry *lower_dentry; @@ -71,7 +71,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -980,7 +980,7 @@ extern void unlock_super(struct super_bl +@@ -981,7 +981,7 @@ extern void unlock_super(struct super_bl extern int vfs_permission(struct nameidata *, int); extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *); extern int vfs_mkdir(struct inode *, struct dentry *, struct vfsmount *, int); diff --git a/kernel-patches/for-mainline/vfs-notify_change.diff b/kernel-patches/for-mainline/vfs-notify_change.diff index 1a4601410..1d656ecf0 100644 --- a/kernel-patches/for-mainline/vfs-notify_change.diff +++ b/kernel-patches/for-mainline/vfs-notify_change.diff @@ -31,7 +31,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1457,8 +1457,8 @@ static inline int break_lease(struct ino +@@ -1458,8 +1458,8 @@ static inline int break_lease(struct ino /* fs/open.c */ @@ -42,7 +42,7 @@ Index: b/include/linux/fs.h extern long do_sys_open(int fdf, const char __user *filename, int flags, int mode); extern struct file *filp_open(const char *, int, int); -@@ -1605,7 +1605,7 @@ extern int do_remount_sb(struct super_bl +@@ -1612,7 +1612,7 @@ extern int do_remount_sb(struct super_bl #ifdef CONFIG_BLOCK extern sector_t bmap(struct inode *, sector_t); #endif @@ -55,7 +55,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -856,12 +856,14 @@ static int ecryptfs_setattr(struct dentr +@@ -873,12 +873,14 @@ static int ecryptfs_setattr(struct dentr { int rc = 0; struct dentry *lower_dentry; @@ -70,7 +70,7 @@ Index: b/fs/ecryptfs/inode.c inode = dentry->d_inode; lower_inode = ecryptfs_inode_to_lower(inode); if (ia->ia_valid & ATTR_SIZE) { -@@ -876,7 +878,7 @@ static int ecryptfs_setattr(struct dentr +@@ -893,7 +895,7 @@ static int ecryptfs_setattr(struct dentr if (rc < 0) goto out; } @@ -294,7 +294,7 @@ Index: b/fs/sysfs/file.c =================================================================== --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c -@@ -526,7 +526,7 @@ int sysfs_chmod_file(struct kobject *kob +@@ -560,7 +560,7 @@ int sysfs_chmod_file(struct kobject *kob newattrs.ia_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO); newattrs.ia_valid = ATTR_MODE | ATTR_CTIME; @@ -329,7 +329,7 @@ Index: b/mm/filemap.c =================================================================== --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -1897,7 +1897,7 @@ int __remove_suid(struct path *path, int +@@ -1877,7 +1877,7 @@ int __remove_suid(struct path *path, int struct iattr newattrs; newattrs.ia_valid = ATTR_FORCE | kill; @@ -342,7 +342,7 @@ Index: b/fs/exec.c =================================================================== --- a/fs/exec.c +++ b/fs/exec.c -@@ -1534,7 +1534,8 @@ int do_coredump(long signr, int exit_cod +@@ -1532,7 +1532,8 @@ int do_coredump(long signr, int exit_cod goto close_fail; if (!file->f_op->write) goto close_fail; diff --git a/kernel-patches/for-mainline/vfs-removexattr.diff b/kernel-patches/for-mainline/vfs-removexattr.diff index 83c3ff82f..53167e4a8 100644 --- a/kernel-patches/for-mainline/vfs-removexattr.diff +++ b/kernel-patches/for-mainline/vfs-removexattr.diff @@ -79,7 +79,7 @@ Index: b/include/linux/xattr.h =================================================================== --- a/include/linux/xattr.h +++ b/include/linux/xattr.h -@@ -46,7 +46,7 @@ ssize_t vfs_listxattr(struct dentry *d, +@@ -52,7 +52,7 @@ ssize_t vfs_listxattr(struct dentry *d, size_t size); int vfs_setxattr(struct dentry *, struct vfsmount *, char *, void *, size_t, int); diff --git a/kernel-patches/for-mainline/vfs-rename.diff b/kernel-patches/for-mainline/vfs-rename.diff index 96dfdf96e..38ae72f3a 100644 --- a/kernel-patches/for-mainline/vfs-rename.diff +++ b/kernel-patches/for-mainline/vfs-rename.diff @@ -7,7 +7,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -590,19 +590,24 @@ ecryptfs_rename(struct inode *old_dir, s +@@ -601,19 +601,24 @@ ecryptfs_rename(struct inode *old_dir, s { int rc; struct dentry *lower_old_dentry; @@ -110,7 +110,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -985,7 +985,7 @@ extern int vfs_symlink(struct inode *, s +@@ -986,7 +986,7 @@ extern int vfs_symlink(struct inode *, s extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *); extern int vfs_rmdir(struct inode *, struct dentry *, struct vfsmount *); extern int vfs_unlink(struct inode *, struct dentry *, struct vfsmount *); diff --git a/kernel-patches/for-mainline/vfs-rmdir.diff b/kernel-patches/for-mainline/vfs-rmdir.diff index c8962e97e..ec5e749c7 100644 --- a/kernel-patches/for-mainline/vfs-rmdir.diff +++ b/kernel-patches/for-mainline/vfs-rmdir.diff @@ -7,7 +7,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -534,14 +534,16 @@ out: +@@ -545,14 +545,16 @@ out: static int ecryptfs_rmdir(struct inode *dir, struct dentry *dentry) { struct dentry *lower_dentry; @@ -90,7 +90,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -983,7 +983,7 @@ extern int vfs_mkdir(struct inode *, str +@@ -984,7 +984,7 @@ extern int vfs_mkdir(struct inode *, str extern int vfs_mknod(struct inode *, struct dentry *, struct vfsmount *, int, dev_t); extern int vfs_symlink(struct inode *, struct dentry *, struct vfsmount *, const char *, int); extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *); diff --git a/kernel-patches/for-mainline/vfs-setxattr.diff b/kernel-patches/for-mainline/vfs-setxattr.diff index b9fa9487a..e60445de1 100644 --- a/kernel-patches/for-mainline/vfs-setxattr.diff +++ b/kernel-patches/for-mainline/vfs-setxattr.diff @@ -135,7 +135,7 @@ Index: b/include/linux/xattr.h =================================================================== --- a/include/linux/xattr.h +++ b/include/linux/xattr.h -@@ -42,7 +42,8 @@ struct xattr_handler { +@@ -48,7 +48,8 @@ struct xattr_handler { ssize_t vfs_getxattr(struct dentry *, char *, void *, size_t); ssize_t vfs_listxattr(struct dentry *d, char *list, size_t size); diff --git a/kernel-patches/for-mainline/vfs-symlink.diff b/kernel-patches/for-mainline/vfs-symlink.diff index e904bc5a8..9bc95aff1 100644 --- a/kernel-patches/for-mainline/vfs-symlink.diff +++ b/kernel-patches/for-mainline/vfs-symlink.diff @@ -7,7 +7,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -462,6 +462,7 @@ static int ecryptfs_symlink(struct inode +@@ -473,6 +473,7 @@ static int ecryptfs_symlink(struct inode { int rc; struct dentry *lower_dentry; @@ -15,7 +15,7 @@ Index: b/fs/ecryptfs/inode.c struct dentry *lower_dir_dentry; umode_t mode; char *encoded_symname; -@@ -470,6 +471,7 @@ static int ecryptfs_symlink(struct inode +@@ -481,6 +482,7 @@ static int ecryptfs_symlink(struct inode lower_dentry = ecryptfs_dentry_to_lower(dentry); dget(lower_dentry); @@ -23,7 +23,7 @@ Index: b/fs/ecryptfs/inode.c lower_dir_dentry = lock_parent(lower_dentry); mode = S_IALLUGO; encoded_symlen = ecryptfs_encode_filename(crypt_stat, symname, -@@ -479,7 +481,7 @@ static int ecryptfs_symlink(struct inode +@@ -490,7 +492,7 @@ static int ecryptfs_symlink(struct inode rc = encoded_symlen; goto out_lock; } @@ -95,7 +95,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -981,7 +981,7 @@ extern int vfs_permission(struct nameida +@@ -982,7 +982,7 @@ extern int vfs_permission(struct nameida extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *); extern int vfs_mkdir(struct inode *, struct dentry *, struct vfsmount *, int); extern int vfs_mknod(struct inode *, struct dentry *, struct vfsmount *, int, dev_t); diff --git a/kernel-patches/for-mainline/vfs-unlink.diff b/kernel-patches/for-mainline/vfs-unlink.diff index c7f649ff6..b2d78861e 100644 --- a/kernel-patches/for-mainline/vfs-unlink.diff +++ b/kernel-patches/for-mainline/vfs-unlink.diff @@ -7,7 +7,7 @@ Index: b/fs/ecryptfs/inode.c =================================================================== --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c -@@ -445,10 +445,11 @@ static int ecryptfs_unlink(struct inode +@@ -456,10 +456,11 @@ static int ecryptfs_unlink(struct inode { int rc = 0; struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry); @@ -72,7 +72,7 @@ Index: b/include/linux/fs.h =================================================================== --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -984,7 +984,7 @@ extern int vfs_mknod(struct inode *, str +@@ -985,7 +985,7 @@ extern int vfs_mknod(struct inode *, str extern int vfs_symlink(struct inode *, struct dentry *, struct vfsmount *, const char *, int); extern int vfs_link(struct dentry *, struct vfsmount *, struct inode *, struct dentry *, struct vfsmount *); extern int vfs_rmdir(struct inode *, struct dentry *, struct vfsmount *);