summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMimi Zohar <zohar@linux.vnet.ibm.com>2017-06-22 03:13:18 +0200
committerMimi Zohar <zohar@linux.vnet.ibm.com>2017-11-08 21:16:36 +0100
commitbb02b186d02f90f693bc573c392df843b024f4ef (patch)
treeb13e88ebb2cc873dd9ad72dc3cf9e3de69ecb32b
parentintegrity: use kernel_read_file_from_path() to read x509 certs (diff)
downloadlinux-bb02b186d02f90f693bc573c392df843b024f4ef.tar.xz
linux-bb02b186d02f90f693bc573c392df843b024f4ef.zip
ima: call ima_file_free() prior to calling fasync
The file hash is calculated and written out as an xattr after calling fasync(). In order for the file data and metadata to be written out to disk at the same time, this patch calculates the file hash and stores it as an xattr before calling fasync. Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
-rw-r--r--fs/file_table.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/file_table.c b/fs/file_table.c
index 61517f57f8ef..49e1f2f1a4cb 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -201,11 +201,11 @@ static void __fput(struct file *file)
eventpoll_release(file);
locks_remove_file(file);
+ ima_file_free(file);
if (unlikely(file->f_flags & FASYNC)) {
if (file->f_op->fasync)
file->f_op->fasync(-1, file, 0);
}
- ima_file_free(file);
if (file->f_op->release)
file->f_op->release(inode, file);
security_file_free(file);