diff options
author | Christopher Kenna <cjk@cs.unc.edu> | 2012-09-29 16:50:30 -0400 |
---|---|---|
committer | Christopher Kenna <cjk@cs.unc.edu> | 2012-09-29 16:50:30 -0400 |
commit | fe23bc6b4d29552409354ed74a0b066a6fc647cb (patch) | |
tree | 36aa9a5e676196da3fa4bfbfb68489a84f9b3dbe /fs | |
parent | 611926edc62a15f77b891658ac70cb66e7a638f2 (diff) | |
parent | e6f51fb826ce98d436f445aae4eb9e9dba1f30e8 (diff) |
Merge LITMUS^RT staging (as of time of this commit).
Conflicts:
Makefile
include/linux/sched.h
Diffstat (limited to 'fs')
-rw-r--r-- | fs/exec.c | 13 | ||||
-rw-r--r-- | fs/inode.c | 2 |
2 files changed, 10 insertions, 5 deletions
@@ -19,7 +19,7 @@ | |||
19 | * current->executable is only used by the procfs. This allows a dispatch | 19 | * current->executable is only used by the procfs. This allows a dispatch |
20 | * table to check for several different types of binary formats. We keep | 20 | * table to check for several different types of binary formats. We keep |
21 | * trying until we recognize the file or we run out of supported binary | 21 | * trying until we recognize the file or we run out of supported binary |
22 | * formats. | 22 | * formats. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <linux/slab.h> | 25 | #include <linux/slab.h> |
@@ -56,6 +56,8 @@ | |||
56 | #include <linux/oom.h> | 56 | #include <linux/oom.h> |
57 | #include <linux/compat.h> | 57 | #include <linux/compat.h> |
58 | 58 | ||
59 | #include <litmus/litmus.h> | ||
60 | |||
59 | #include <asm/uaccess.h> | 61 | #include <asm/uaccess.h> |
60 | #include <asm/mmu_context.h> | 62 | #include <asm/mmu_context.h> |
61 | #include <asm/tlb.h> | 63 | #include <asm/tlb.h> |
@@ -85,7 +87,7 @@ int __register_binfmt(struct linux_binfmt * fmt, int insert) | |||
85 | insert ? list_add(&fmt->lh, &formats) : | 87 | insert ? list_add(&fmt->lh, &formats) : |
86 | list_add_tail(&fmt->lh, &formats); | 88 | list_add_tail(&fmt->lh, &formats); |
87 | write_unlock(&binfmt_lock); | 89 | write_unlock(&binfmt_lock); |
88 | return 0; | 90 | return 0; |
89 | } | 91 | } |
90 | 92 | ||
91 | EXPORT_SYMBOL(__register_binfmt); | 93 | EXPORT_SYMBOL(__register_binfmt); |
@@ -1160,7 +1162,7 @@ void setup_new_exec(struct linux_binprm * bprm) | |||
1160 | group */ | 1162 | group */ |
1161 | 1163 | ||
1162 | current->self_exec_id++; | 1164 | current->self_exec_id++; |
1163 | 1165 | ||
1164 | flush_signal_handlers(current, 0); | 1166 | flush_signal_handlers(current, 0); |
1165 | flush_old_files(current->files); | 1167 | flush_old_files(current->files); |
1166 | } | 1168 | } |
@@ -1250,8 +1252,8 @@ int check_unsafe_exec(struct linux_binprm *bprm) | |||
1250 | return res; | 1252 | return res; |
1251 | } | 1253 | } |
1252 | 1254 | ||
1253 | /* | 1255 | /* |
1254 | * Fill the binprm structure from the inode. | 1256 | * Fill the binprm structure from the inode. |
1255 | * Check permissions, then read the first 128 (BINPRM_BUF_SIZE) bytes | 1257 | * Check permissions, then read the first 128 (BINPRM_BUF_SIZE) bytes |
1256 | * | 1258 | * |
1257 | * This may be called multiple times for binary chains (scripts for example). | 1259 | * This may be called multiple times for binary chains (scripts for example). |
@@ -1461,6 +1463,7 @@ static int do_execve_common(const char *filename, | |||
1461 | goto out_unmark; | 1463 | goto out_unmark; |
1462 | 1464 | ||
1463 | sched_exec(); | 1465 | sched_exec(); |
1466 | litmus_exec(); | ||
1464 | 1467 | ||
1465 | bprm->file = file; | 1468 | bprm->file = file; |
1466 | bprm->filename = filename; | 1469 | bprm->filename = filename; |
diff --git a/fs/inode.c b/fs/inode.c index 09f334bf27d..7aa468a4b19 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -307,6 +307,8 @@ void inode_init_once(struct inode *inode) | |||
307 | #ifdef CONFIG_FSNOTIFY | 307 | #ifdef CONFIG_FSNOTIFY |
308 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); | 308 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); |
309 | #endif | 309 | #endif |
310 | INIT_LIST_HEAD(&inode->i_obj_list); | ||
311 | mutex_init(&inode->i_obj_mutex); | ||
310 | } | 312 | } |
311 | EXPORT_SYMBOL(inode_init_once); | 313 | EXPORT_SYMBOL(inode_init_once); |
312 | 314 | ||