diff options
| author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-04-19 17:31:52 -0400 |
|---|---|---|
| committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-04-19 17:31:52 -0400 |
| commit | f70a290e8a889caa905ab7650c696f2bb299be1a (patch) | |
| tree | 56f0886d839499e9f522f189999024b3e86f9be2 /fs | |
| parent | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (diff) | |
| parent | 7ef4a793a624c6e66c16ca1051847f75161f5bec (diff) | |
Merge branch 'wip-nested-locking' into tegra-nested-lockingwip-nested-locking
Conflicts:
Makefile
include/linux/fs.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); |
| @@ -1170,7 +1172,7 @@ void setup_new_exec(struct linux_binprm * bprm) | |||
| 1170 | group */ | 1172 | group */ |
| 1171 | 1173 | ||
| 1172 | current->self_exec_id++; | 1174 | current->self_exec_id++; |
| 1173 | 1175 | ||
| 1174 | flush_signal_handlers(current, 0); | 1176 | flush_signal_handlers(current, 0); |
| 1175 | flush_old_files(current->files); | 1177 | flush_old_files(current->files); |
| 1176 | } | 1178 | } |
| @@ -1265,8 +1267,8 @@ int check_unsafe_exec(struct linux_binprm *bprm) | |||
| 1265 | return res; | 1267 | return res; |
| 1266 | } | 1268 | } |
| 1267 | 1269 | ||
| 1268 | /* | 1270 | /* |
| 1269 | * Fill the binprm structure from the inode. | 1271 | * Fill the binprm structure from the inode. |
| 1270 | * Check permissions, then read the first 128 (BINPRM_BUF_SIZE) bytes | 1272 | * Check permissions, then read the first 128 (BINPRM_BUF_SIZE) bytes |
| 1271 | * | 1273 | * |
| 1272 | * This may be called multiple times for binary chains (scripts for example). | 1274 | * This may be called multiple times for binary chains (scripts for example). |
| @@ -1502,6 +1504,7 @@ static int do_execve_common(const char *filename, | |||
| 1502 | goto out_unmark; | 1504 | goto out_unmark; |
| 1503 | 1505 | ||
| 1504 | sched_exec(); | 1506 | sched_exec(); |
| 1507 | litmus_exec(); | ||
| 1505 | 1508 | ||
| 1506 | bprm->file = file; | 1509 | bprm->file = file; |
| 1507 | bprm->filename = filename; | 1510 | bprm->filename = filename; |
diff --git a/fs/inode.c b/fs/inode.c index ec7924696a1..d858c6b9823 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
| @@ -299,6 +299,8 @@ void inode_init_once(struct inode *inode) | |||
| 299 | #ifdef CONFIG_FSNOTIFY | 299 | #ifdef CONFIG_FSNOTIFY |
| 300 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); | 300 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); |
| 301 | #endif | 301 | #endif |
| 302 | INIT_LIST_HEAD(&inode->i_obj_list); | ||
| 303 | mutex_init(&inode->i_obj_mutex); | ||
| 302 | } | 304 | } |
| 303 | EXPORT_SYMBOL(inode_init_once); | 305 | EXPORT_SYMBOL(inode_init_once); |
| 304 | 306 | ||
