Add other fixes from Steve.

This commit is contained in:
Andreas Gruenbacher 2007-02-15 11:55:00 +00:00
parent 3982066011
commit 6de6de7bc3
32 changed files with 106 additions and 58 deletions

View file

@ -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.

View file

@ -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)
{

View file

@ -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 <sbeattie@suse.de>
---
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;
}

View file

@ -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

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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));
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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

View file

@ -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,

View file

@ -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);
};

View file

@ -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;

View file

@ -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);

View file

@ -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 *);

View file

@ -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);

View file

@ -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;

View file

@ -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);

View file

@ -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 *);

View file

@ -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 *);

View file

@ -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);

View file

@ -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);

View file

@ -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 *);