summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNathan O <otternes@cs.unc.edu>2019-12-09 14:59:56 -0500
committerNathan O <otternes@cs.unc.edu>2019-12-09 14:59:56 -0500
commit3c4abebc788e9d92d776d7bc8b778f398cdb4010 (patch)
tree7392a57bb2d5e0e61cd3a03bae0e8ce79991f6d5 /fs
parent2627f203874e04500ea80f6e588cd659bec5866b (diff)
Initial attempt to "connect the wires"
- This is my first attempt to re-add all of the modifications on top of this version of the Linux kernel that were present in the previous version of LITMUS. - More notes on changes will follow after testing--no guarantees the code as it is now will compile or run correctly.
Diffstat (limited to 'fs')
-rw-r--r--fs/exec.c3
-rw-r--r--fs/inode.c2
-rw-r--r--fs/select.c6
3 files changed, 9 insertions, 2 deletions
diff --git a/fs/exec.c b/fs/exec.c
index 555e93c7dec8..49c8613d2510 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -64,6 +64,8 @@
64#include <linux/compat.h> 64#include <linux/compat.h>
65#include <linux/vmalloc.h> 65#include <linux/vmalloc.h>
66 66
67#include <litmus/litmus.h>
68
67#include <linux/uaccess.h> 69#include <linux/uaccess.h>
68#include <asm/mmu_context.h> 70#include <asm/mmu_context.h>
69#include <asm/tlb.h> 71#include <asm/tlb.h>
@@ -1765,6 +1767,7 @@ static int __do_execve_file(int fd, struct filename *filename,
1765 goto out_unmark; 1767 goto out_unmark;
1766 1768
1767 sched_exec(); 1769 sched_exec();
1770 litmus_exec();
1768 1771
1769 bprm->file = file; 1772 bprm->file = file;
1770 if (!filename) { 1773 if (!filename) {
diff --git a/fs/inode.c b/fs/inode.c
index fef457a42882..abf61717d9db 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -394,6 +394,8 @@ void inode_init_once(struct inode *inode)
394 INIT_LIST_HEAD(&inode->i_lru); 394 INIT_LIST_HEAD(&inode->i_lru);
395 __address_space_init_once(&inode->i_data); 395 __address_space_init_once(&inode->i_data);
396 i_size_ordered_init(inode); 396 i_size_ordered_init(inode);
397 INIT_LIST_HEAD(&inode->i_obj_list);
398 mutex_init(&inode->i_obj_mutex);
397} 399}
398EXPORT_SYMBOL(inode_init_once); 400EXPORT_SYMBOL(inode_init_once);
399 401
diff --git a/fs/select.c b/fs/select.c
index 53a0c149f528..7a3745f8d17f 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -32,6 +32,8 @@
32#include <net/busy_poll.h> 32#include <net/busy_poll.h>
33#include <linux/vmalloc.h> 33#include <linux/vmalloc.h>
34 34
35#include <litmus/litmus.h>
36
35#include <linux/uaccess.h> 37#include <linux/uaccess.h>
36 38
37 39
@@ -80,9 +82,9 @@ u64 select_estimate_accuracy(struct timespec64 *tv)
80 /* 82 /*
81 * Realtime tasks get a slack of 0 for obvious reasons. 83 * Realtime tasks get a slack of 0 for obvious reasons.
82 */ 84 */
83 85 if (rt_task(current) || is_realtime(current)) {
84 if (rt_task(current))
85 return 0; 86 return 0;
87 }
86 88
87 ktime_get_ts64(&now); 89 ktime_get_ts64(&now);
88 now = timespec64_sub(*tv, now); 90 now = timespec64_sub(*tv, now);