[Patch 5/7] integrity: mtime patch for mmap files

From: Mimi Zohar
Date: Fri Mar 23 2007 - 12:12:52 EST


mmaped files are hashed and hmac'ed properly by EVM after being modified
when the file's mtime is updated correctly. Peter Staubach's 'memory
mapped files not updating timestamps v2' patch properly updates the
mmapped file's mtime. In those cases when an application does not
first msync the file before calling munmap, the mtime is eventually
updated, but not before file_close is called. This patch forces the
mtime for mmaped files to be updated in a timely manner.

signed-off-by: Mimi Zohar <zohar@xxxxxxxxxx>
----
Index: linux-2.6.21-rc4-mm1/mm/mmap.c
===================================================================
--- linux-2.6.21-rc4-mm1.orig/mm/mmap.c
+++ linux-2.6.21-rc4-mm1/mm/mmap.c
@@ -1790,6 +1790,7 @@ int do_munmap(struct mm_struct *mm, unsi
{
unsigned long end;
struct vm_area_struct *vma, *prev, *last;
+ struct file *file;

if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start)
return -EINVAL;
@@ -1808,6 +1809,10 @@ int do_munmap(struct mm_struct *mm, unsi
if (vma->vm_start >= end)
return 0;

+ file = vma->vm_file;
+ if (file && test_and_clear_bit(AS_MCTIME, &file->f_mapping->flags))
+ file_update_time(file);
+
/*
* If we need to split any vma, do it now to save pain later.
*






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/