[kernel] r19297 - in dists/trunk/linux/debian: . patches/features/all/aufs3
Ben Hutchings
benh at alioth.debian.org
Wed Aug 1 03:09:39 UTC 2012
Author: benh
Date: Wed Aug 1 03:09:37 2012
New Revision: 19297
Log:
aufs: Update to aufs3.5-20120730
Modified:
dists/trunk/linux/debian/changelog
dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-add.patch
dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-base.patch
dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch
dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch
Modified: dists/trunk/linux/debian/changelog
==============================================================================
--- dists/trunk/linux/debian/changelog Fri Jul 27 02:27:16 2012 (r19296)
+++ dists/trunk/linux/debian/changelog Wed Aug 1 03:09:37 2012 (r19297)
@@ -4,7 +4,7 @@
[ Ben Hutchings ]
* net: Enable OPENVSWITCH as module (Closes: #675010)
- * aufs: Update to 3.x-rcN 20120618
+ * aufs: Update to aufs3.5-20120730
* rt: Disable until it is updated for Linux 3.5 or later
* debian/copyright: Convert to machine-readable format (fka DEP-5)
* debian/copyright: Add copyright notice for newly-added Unicode data
Modified: dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-add.patch
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-add.patch Fri Jul 27 02:27:16 2012 (r19296)
+++ dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-add.patch Wed Aug 1 03:09:37 2012 (r19297)
@@ -205,8 +205,8 @@
+ When aufs supports Magic SysRq, enabled automatically.
+endif
--- a/fs/aufs/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/Makefile 2012-07-22 01:31:00.130115298 +0100
-@@ -0,0 +1,45 @@
++++ b/fs/aufs/Makefile 2012-08-01 03:41:52.619414717 +0100
+@@ -0,0 +1,42 @@
+
+include ${src}/magic.mk
+ifeq (${CONFIG_AUFS_FS},m)
@@ -246,9 +246,6 @@
+aufs-$(CONFIG_AUFS_POLL) += poll.o
+aufs-$(CONFIG_AUFS_RDU) += rdu.o
+aufs-$(CONFIG_AUFS_SP_IATTR) += f_op_sp.o
-+ifdef CONFIG_MMU
-+aufs-$(CONFIG_SECURITY) += security.o
-+endif
+aufs-$(CONFIG_AUFS_BR_HFSPLUS) += hfsplus.o
+aufs-$(CONFIG_AUFS_DEBUG) += debug.o
+aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o
@@ -8382,8 +8379,8 @@
+ atomic_set(&sbinfo->si_xigen_next, u);
+}
--- a/fs/aufs/f_op.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/f_op.c 2012-07-22 01:31:00.162115458 +0100
-@@ -0,0 +1,692 @@
++++ b/fs/aufs/f_op.c 2012-08-01 03:41:52.619414717 +0100
+@@ -0,0 +1,727 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
+ *
@@ -8831,6 +8828,41 @@
+ * The similar scenario is applied to aufs_readlink() too.
+ */
+
++/* cf. linux/include/linux/mman.h: calc_vm_prot_bits() */
++#define AuConv_VM_PROT(f, b) _calc_vm_trans(f, VM_##b, PROT_##b)
++
++static unsigned long au_arch_prot_conv(unsigned long flags)
++{
++ /* currently ppc64 only */
++#ifdef CONFIG_PPC64
++ /* cf. linux/arch/powerpc/include/asm/mman.h */
++ AuDebugOn(arch_calc_vm_prot_bits(-1) != VM_SAO);
++ return AuConv_VM_PROT(flags, SAO);
++#else
++ AuDebugOn(arch_calc_vm_prot_bits(-1));
++ return 0;
++#endif
++}
++
++static unsigned long au_prot_conv(unsigned long flags)
++{
++ return AuConv_VM_PROT(flags, READ)
++ | AuConv_VM_PROT(flags, WRITE)
++ | AuConv_VM_PROT(flags, EXEC)
++ | au_arch_prot_conv(flags);
++}
++
++/* cf. linux/include/linux/mman.h: calc_vm_flag_bits() */
++#define AuConv_VM_MAP(f, b) _calc_vm_trans(f, VM_##b, MAP_##b)
++
++static unsigned long au_flag_conv(unsigned long flags)
++{
++ return AuConv_VM_MAP(flags, GROWSDOWN)
++ | AuConv_VM_MAP(flags, DENYWRITE)
++ | AuConv_VM_MAP(flags, EXECUTABLE)
++ | AuConv_VM_MAP(flags, LOCKED);
++}
++
+static int aufs_mmap(struct file *file, struct vm_area_struct *vma)
+{
+ int err;
@@ -8873,8 +8905,8 @@
+ lockdep_on();
+
+ au_vm_file_reset(vma, h_file);
-+ /* todo: bad approach, I am not sure this is really necessary */
-+ err = au_security_mmap_file(h_file, vma);
++ err = security_mmap_file(h_file, au_prot_conv(vma->vm_flags),
++ au_flag_conv(vma->vm_flags));
+ if (!err)
+ err = h_file->f_op->mmap(h_file, vma);
+ if (unlikely(err))
@@ -10054,8 +10086,8 @@
+#endif /* CONFIG_AUFS_DEBUG */
+};
--- a/fs/aufs/file.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/file.h 2012-07-22 01:31:00.162115458 +0100
-@@ -0,0 +1,306 @@
++++ b/fs/aufs/file.h 2012-08-01 03:41:52.619414717 +0100
+@@ -0,0 +1,298 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
+ *
@@ -10139,14 +10171,6 @@
+int au_do_flush(struct file *file, fl_owner_t id,
+ int (*flush)(struct file *file, fl_owner_t id));
+
-+#if defined(CONFIG_SECURITY) && defined(CONFIG_MMU)
-+/* security.c */
-+int au_security_mmap_file(struct file *h_file, struct vm_area_struct *vma);
-+#else
-+AuStubInt0(au_security_mmap_file, struct file *h_file,
-+ struct vm_area_struct *vma);
-+#endif
-+
+/* poll.c */
+#ifdef CONFIG_AUFS_POLL
+unsigned int aufs_poll(struct file *file, poll_table *wait);
@@ -12056,8 +12080,8 @@
+ au_hn_destroy_cache();
+}
--- a/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/i_op.c 2012-07-22 01:31:00.162115458 +0100
-@@ -0,0 +1,1014 @@
++++ b/fs/aufs/i_op.c 2012-08-01 03:41:52.619414717 +0100
+@@ -0,0 +1,1009 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
+ *
@@ -12266,18 +12290,13 @@
+ ret = d_splice_alias(inode, dentry);
+ if (unlikely(IS_ERR(ret) && inode)) {
+ ii_write_unlock(inode);
-+ lc_idx = AuLcNonDir_IIINFO;
-+ if (S_ISLNK(inode->i_mode))
-+ lc_idx = AuLcSymlink_IIINFO;
-+ else if (S_ISDIR(inode->i_mode))
-+ lc_idx = AuLcDir_IIINFO;
-+ au_rw_class(&au_ii(inode)->ii_rwsem, au_lc_key + lc_idx);
+ iput(inode);
++ inode = NULL;
+ }
+
+out_unlock:
+ di_write_unlock(dentry);
-+ if (unlikely(IS_ERR(ret) && inode)) {
++ if (inode) {
+ lc_idx = AuLcNonDir_DIINFO;
+ if (S_ISLNK(inode->i_mode))
+ lc_idx = AuLcSymlink_DIINFO;
@@ -15565,8 +15584,8 @@
+ AuRwDestroy(&iinfo->ii_rwsem);
+}
--- a/fs/aufs/inode.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/inode.c 2012-07-22 01:31:00.162115458 +0100
-@@ -0,0 +1,471 @@
++++ b/fs/aufs/inode.c 2012-08-01 04:08:08.827230713 +0100
+@@ -0,0 +1,478 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
+ *
@@ -15895,7 +15914,7 @@
+ struct super_block *sb;
+ struct mutex *mtx;
+ ino_t h_ino, ino;
-+ int err;
++ int err, lc_idx;
+ aufs_bindex_t bstart;
+
+ sb = dentry->d_sb;
@@ -15936,6 +15955,13 @@
+
+ AuDbg("%lx, new %d\n", inode->i_state, !!(inode->i_state & I_NEW));
+ if (inode->i_state & I_NEW) {
++ lc_idx = AuLcNonDir_IIINFO;
++ if (S_ISLNK(h_inode->i_mode))
++ lc_idx = AuLcSymlink_IIINFO;
++ else if (S_ISDIR(h_inode->i_mode))
++ lc_idx = AuLcDir_IIINFO;
++ au_rw_class(&au_ii(inode)->ii_rwsem, au_lc_key + lc_idx);
++
+ ii_write_lock_new_child(inode);
+ err = set_inode(inode, dentry);
+ if (!err) {
@@ -19246,7 +19272,7 @@
+#endif /* __KERNEL__ */
+#endif /* __AUFS_OPTS_H__ */
--- a/fs/aufs/plink.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/plink.c 2012-07-22 01:31:00.166115467 +0100
++++ b/fs/aufs/plink.c 2012-08-01 04:08:08.827230713 +0100
@@ -0,0 +1,511 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
@@ -20915,101 +20941,6 @@
+ p = radix_tree_delete(&sbinfo->au_si_pid.tree, current->pid);
+ spin_unlock(&sbinfo->au_si_pid.tree_lock);
+}
---- a/fs/aufs/security.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/security.c 2012-07-22 01:31:00.166115467 +0100
-@@ -0,0 +1,92 @@
-+/*
-+ * Copyright (C) 2012 Junjiro R. Okajima
-+ *
-+ * This program, aufs is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+/*
-+ * securityf_file_mmap
-+ */
-+
-+#include <linux/mman.h>
-+#include <linux/security.h>
-+#include "aufs.h"
-+
-+/* cf. linux/include/linux/mman.h: calc_vm_prot_bits() */
-+#define AuConv_VM_PROT(f, b) _calc_vm_trans(f, VM_##b, PROT_##b)
-+
-+static unsigned long au_arch_prot_conv(unsigned long flags)
-+{
-+ /* currently ppc64 only */
-+#ifdef CONFIG_PPC64
-+ /* cf. linux/arch/powerpc/include/asm/mman.h */
-+ AuDebugOn(arch_calc_vm_prot_bits(-1) != VM_SAO);
-+ return AuConv_VM_PROT(flags, SAO);
-+#else
-+ AuDebugOn(arch_calc_vm_prot_bits(-1));
-+ return 0;
-+#endif
-+}
-+
-+static unsigned long au_prot_conv(unsigned long flags)
-+{
-+ return AuConv_VM_PROT(flags, READ)
-+ | AuConv_VM_PROT(flags, WRITE)
-+ | AuConv_VM_PROT(flags, EXEC)
-+ | au_arch_prot_conv(flags);
-+}
-+
-+/* cf. linux/include/linux/mman.h: calc_vm_flag_bits() */
-+#define AuConv_VM_MAP(f, b) _calc_vm_trans(f, VM_##b, MAP_##b)
-+
-+static unsigned long au_flag_conv(unsigned long flags)
-+{
-+ return AuConv_VM_MAP(flags, GROWSDOWN)
-+ | AuConv_VM_MAP(flags, DENYWRITE)
-+ | AuConv_VM_MAP(flags, EXECUTABLE)
-+ | AuConv_VM_MAP(flags, LOCKED);
-+}
-+
-+struct au_security_mmap_file_args {
-+ int *errp;
-+ struct file *h_file;
-+ struct vm_area_struct *vma;
-+};
-+
-+/*
-+ * unnecessary to call security_mmap_file() since it doesn't have file as its
-+ * argument.
-+ */
-+static void au_call_security_mmap_file(void *args)
-+{
-+ struct au_security_mmap_file_args *a = args;
-+ *a->errp = security_mmap_file(a->h_file, au_prot_conv(a->vma->vm_flags),
-+ au_flag_conv(a->vma->vm_flags));
-+}
-+
-+int au_security_mmap_file(struct file *h_file, struct vm_area_struct *vma)
-+{
-+ int err, wkq_err;
-+ struct au_security_mmap_file_args args = {
-+ .errp = &err,
-+ .h_file = h_file,
-+ .vma = vma
-+ };
-+
-+ wkq_err = au_wkq_wait(au_call_security_mmap_file, &args);
-+ if (unlikely(wkq_err))
-+ err = wkq_err;
-+ return err;
-+}
--- a/fs/aufs/spl.h 1970-01-01 01:00:00.000000000 +0100
+++ b/fs/aufs/spl.h 2012-01-10 02:15:56.561456041 +0000
@@ -0,0 +1,62 @@
@@ -27032,7 +26963,7 @@
+#endif /* __KERNEL__ */
+#endif /* __AUFS_WHOUT_H__ */
--- a/fs/aufs/wkq.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/wkq.c 2012-07-22 01:31:00.166115467 +0100
++++ b/fs/aufs/wkq.c 2012-08-01 04:08:08.831230728 +0100
@@ -0,0 +1,214 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
@@ -28611,7 +28542,7 @@
+ return err;
+}
--- a/include/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100
-+++ b/include/linux/aufs_type.h 2012-07-22 01:31:00.166115467 +0100
++++ b/include/linux/aufs_type.h 2012-08-01 03:41:52.619414717 +0100
@@ -0,0 +1,233 @@
+/*
+ * Copyright (C) 2005-2012 Junjiro R. Okajima
@@ -28654,7 +28585,7 @@
+
+#include <linux/limits.h>
+
-+#define AUFS_VERSION "3.x-rcN-20120618"
++#define AUFS_VERSION "3.5-20120730"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
Modified: dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-base.patch
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-base.patch Fri Jul 27 02:27:16 2012 (r19296)
+++ dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-base.patch Wed Aug 1 03:09:37 2012 (r19297)
@@ -1,4 +1,4 @@
-aufs3.x-rcN base patch
+aufs3.5 base patch
diff --git a/fs/inode.c b/fs/inode.c
index c99163b..7f772fd 100644
@@ -27,10 +27,10 @@
return __lookup_hash(&nd->last, nd->path.dentry, nd);
}
diff --git a/fs/splice.c b/fs/splice.c
-index c9f1318..490239f 100644
+index 7bf08fa..e3c40b5 100644
--- a/fs/splice.c
+++ b/fs/splice.c
-@@ -1086,8 +1086,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
+@@ -1090,8 +1090,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
/*
* Attempt to initiate a splice from pipe to file.
*/
@@ -41,7 +41,7 @@
{
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int);
-@@ -1114,9 +1114,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1118,9 +1118,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.
*/
@@ -79,10 +79,10 @@
extern int follow_down_one(struct path *);
diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 26e5b61..3ffef2f 100644
+index 09a545a..1ac5727 100644
--- a/include/linux/splice.h
+++ b/include/linux/splice.h
-@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct pipe_inode_info *,
+@@ -91,4 +91,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *);
extern void spd_release_page(struct splice_pipe_desc *, unsigned int);
extern const struct pipe_buf_operations page_cache_pipe_buf_ops;
Modified: dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch Fri Jul 27 02:27:16 2012 (r19296)
+++ dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch Wed Aug 1 03:09:37 2012 (r19297)
@@ -1,4 +1,4 @@
-aufs3.x-rcN kbuild patch
+aufs3.5 kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
index f95ae3a..6d8a9a5 100644
Modified: dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch Fri Jul 27 02:27:16 2012 (r19296)
+++ dists/trunk/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch Wed Aug 1 03:09:37 2012 (r19297)
@@ -1,4 +1,4 @@
-aufs3.x-rcN standalone patch
+aufs3.5 standalone patch
diff --git a/fs/file_table.c b/fs/file_table.c
index a305d9e..6a768be 100644
@@ -135,7 +135,7 @@
static int fsnotify_mark_destroy(void *ignored)
{
diff --git a/fs/open.c b/fs/open.c
-index d6c79a0..9004a15 100644
+index 1540632..2463289 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
@@ -147,10 +147,10 @@
static long do_sys_truncate(const char __user *pathname, loff_t length)
{
diff --git a/fs/splice.c b/fs/splice.c
-index 490239f..701d34a 100644
+index e3c40b5..3afc547 100644
--- a/fs/splice.c
+++ b/fs/splice.c
-@@ -1110,6 +1110,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1114,6 +1114,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
return splice_write(pipe, out, ppos, len, flags);
}
@@ -158,7 +158,7 @@
/*
* Attempt to initiate a splice from a file to a pipe.
-@@ -1136,6 +1137,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
+@@ -1140,6 +1141,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
return splice_read(in, ppos, pipe, len, flags);
}
@@ -203,10 +203,10 @@
int devcgroup_inode_mknod(int mode, dev_t dev)
{
diff --git a/security/security.c b/security/security.c
-index 3efc9b1..c7afd35 100644
+index 860aeb3..ffb57bf 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -383,6 +383,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
+@@ -384,6 +384,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
return 0;
return security_ops->path_rmdir(dir, dentry);
}
@@ -214,7 +214,7 @@
int security_path_unlink(struct path *dir, struct dentry *dentry)
{
-@@ -399,6 +400,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
+@@ -400,6 +401,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
return 0;
return security_ops->path_symlink(dir, dentry, old_name);
}
@@ -222,7 +222,7 @@
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
struct dentry *new_dentry)
-@@ -407,6 +409,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
+@@ -408,6 +410,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
return 0;
return security_ops->path_link(old_dentry, new_dir, new_dentry);
}
@@ -230,7 +230,7 @@
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
struct path *new_dir, struct dentry *new_dentry)
-@@ -425,6 +428,7 @@ int security_path_truncate(struct path *path)
+@@ -426,6 +429,7 @@ int security_path_truncate(struct path *path)
return 0;
return security_ops->path_truncate(path);
}
@@ -238,7 +238,7 @@
int security_path_chmod(struct path *path, umode_t mode)
{
-@@ -432,6 +436,7 @@ int security_path_chmod(struct path *path, umode_t mode)
+@@ -433,6 +437,7 @@ int security_path_chmod(struct path *path, umode_t mode)
return 0;
return security_ops->path_chmod(path, mode);
}
@@ -246,7 +246,7 @@
int security_path_chown(struct path *path, uid_t uid, gid_t gid)
{
-@@ -439,6 +444,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
+@@ -440,6 +445,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
return 0;
return security_ops->path_chown(path, uid, gid);
}
@@ -254,7 +254,7 @@
int security_path_chroot(struct path *path)
{
-@@ -515,6 +521,7 @@ int security_inode_readlink(struct dentry *dentry)
+@@ -516,6 +522,7 @@ int security_inode_readlink(struct dentry *dentry)
return 0;
return security_ops->inode_readlink(dentry);
}
@@ -262,7 +262,7 @@
int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
{
-@@ -529,6 +536,7 @@ int security_inode_permission(struct inode *inode, int mask)
+@@ -530,6 +537,7 @@ int security_inode_permission(struct inode *inode, int mask)
return 0;
return security_ops->inode_permission(inode, mask);
}
@@ -270,7 +270,7 @@
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
-@@ -644,6 +652,7 @@ int security_file_permission(struct file *file, int mask)
+@@ -645,6 +653,7 @@ int security_file_permission(struct file *file, int mask)
return fsnotify_perm(file, mask);
}
@@ -278,7 +278,7 @@
int security_file_alloc(struct file *file)
{
-@@ -704,6 +713,7 @@ int security_mmap_file(struct file *file, unsigned long prot,
+@@ -705,6 +714,7 @@ int security_mmap_file(struct file *file, unsigned long prot,
return ret;
return ima_file_mmap(file, prot);
}
More information about the Kernel-svn-changes
mailing list