diff options
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> |
@@ -55,6 +55,8 @@ | |||
55 | #include <linux/fs_struct.h> | 55 | #include <linux/fs_struct.h> |
56 | #include <linux/pipe_fs_i.h> | 56 | #include <linux/pipe_fs_i.h> |
57 | 57 | ||
58 | #include <litmus/litmus.h> | ||
59 | |||
58 | #include <asm/uaccess.h> | 60 | #include <asm/uaccess.h> |
59 | #include <asm/mmu_context.h> | 61 | #include <asm/mmu_context.h> |
60 | #include <asm/tlb.h> | 62 | #include <asm/tlb.h> |
@@ -78,7 +80,7 @@ int __register_binfmt(struct linux_binfmt * fmt, int insert) | |||
78 | insert ? list_add(&fmt->lh, &formats) : | 80 | insert ? list_add(&fmt->lh, &formats) : |
79 | list_add_tail(&fmt->lh, &formats); | 81 | list_add_tail(&fmt->lh, &formats); |
80 | write_unlock(&binfmt_lock); | 82 | write_unlock(&binfmt_lock); |
81 | return 0; | 83 | return 0; |
82 | } | 84 | } |
83 | 85 | ||
84 | EXPORT_SYMBOL(__register_binfmt); | 86 | EXPORT_SYMBOL(__register_binfmt); |
@@ -1064,7 +1066,7 @@ void setup_new_exec(struct linux_binprm * bprm) | |||
1064 | group */ | 1066 | group */ |
1065 | 1067 | ||
1066 | current->self_exec_id++; | 1068 | current->self_exec_id++; |
1067 | 1069 | ||
1068 | flush_signal_handlers(current, 0); | 1070 | flush_signal_handlers(current, 0); |
1069 | flush_old_files(current->files); | 1071 | flush_old_files(current->files); |
1070 | } | 1072 | } |
@@ -1154,8 +1156,8 @@ int check_unsafe_exec(struct linux_binprm *bprm) | |||
1154 | return res; | 1156 | return res; |
1155 | } | 1157 | } |
1156 | 1158 | ||
1157 | /* | 1159 | /* |
1158 | * Fill the binprm structure from the inode. | 1160 | * Fill the binprm structure from the inode. |
1159 | * Check permissions, then read the first 128 (BINPRM_BUF_SIZE) bytes | 1161 | * Check permissions, then read the first 128 (BINPRM_BUF_SIZE) bytes |
1160 | * | 1162 | * |
1161 | * This may be called multiple times for binary chains (scripts for example). | 1163 | * This may be called multiple times for binary chains (scripts for example). |
@@ -1367,6 +1369,7 @@ int do_execve(const char * filename, | |||
1367 | goto out_unmark; | 1369 | goto out_unmark; |
1368 | 1370 | ||
1369 | sched_exec(); | 1371 | sched_exec(); |
1372 | litmus_exec(); | ||
1370 | 1373 | ||
1371 | bprm->file = file; | 1374 | bprm->file = file; |
1372 | bprm->filename = filename; | 1375 | bprm->filename = filename; |
diff --git a/fs/inode.c b/fs/inode.c index 86464332e590..d4fe9c031864 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -266,6 +266,8 @@ void inode_init_once(struct inode *inode) | |||
266 | #ifdef CONFIG_FSNOTIFY | 266 | #ifdef CONFIG_FSNOTIFY |
267 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); | 267 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); |
268 | #endif | 268 | #endif |
269 | INIT_LIST_HEAD(&inode->i_obj_list); | ||
270 | mutex_init(&inode->i_obj_mutex); | ||
269 | } | 271 | } |
270 | EXPORT_SYMBOL(inode_init_once); | 272 | EXPORT_SYMBOL(inode_init_once); |
271 | 273 | ||