diff options
| author | Chris Zankel <chris@zankel.net> | 2009-04-03 05:29:05 -0400 |
|---|---|---|
| committer | Chris Zankel <chris@zankel.net> | 2009-04-03 05:29:05 -0400 |
| commit | 65127d28e312bb6b38ce84a7bb71d762ef63ad4c (patch) | |
| tree | d5fdf52a2d0731f7fab0ce0ed394faac50b04fbc /kernel/exec_domain.c | |
| parent | b8bb76713ec50df2f11efee386e16f93d51e1076 (diff) | |
| parent | 8fe74cf053de7ad2124a894996f84fa890a81093 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into merge
Diffstat (limited to 'kernel/exec_domain.c')
| -rw-r--r-- | kernel/exec_domain.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/kernel/exec_domain.c b/kernel/exec_domain.c index 667c841c295..c35452cadde 100644 --- a/kernel/exec_domain.c +++ b/kernel/exec_domain.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #include <linux/syscalls.h> | 18 | #include <linux/syscalls.h> |
| 19 | #include <linux/sysctl.h> | 19 | #include <linux/sysctl.h> |
| 20 | #include <linux/types.h> | 20 | #include <linux/types.h> |
| 21 | #include <linux/fs_struct.h> | ||
| 21 | 22 | ||
| 22 | 23 | ||
| 23 | static void default_handler(int, struct pt_regs *); | 24 | static void default_handler(int, struct pt_regs *); |
| @@ -145,28 +146,6 @@ __set_personality(u_long personality) | |||
| 145 | return 0; | 146 | return 0; |
| 146 | } | 147 | } |
| 147 | 148 | ||
| 148 | if (atomic_read(¤t->fs->count) != 1) { | ||
| 149 | struct fs_struct *fsp, *ofsp; | ||
| 150 | |||
| 151 | fsp = copy_fs_struct(current->fs); | ||
| 152 | if (fsp == NULL) { | ||
| 153 | module_put(ep->module); | ||
| 154 | return -ENOMEM; | ||
| 155 | } | ||
| 156 | |||
| 157 | task_lock(current); | ||
| 158 | ofsp = current->fs; | ||
| 159 | current->fs = fsp; | ||
| 160 | task_unlock(current); | ||
| 161 | |||
| 162 | put_fs_struct(ofsp); | ||
| 163 | } | ||
| 164 | |||
| 165 | /* | ||
| 166 | * At that point we are guaranteed to be the sole owner of | ||
| 167 | * current->fs. | ||
| 168 | */ | ||
| 169 | |||
| 170 | current->personality = personality; | 149 | current->personality = personality; |
| 171 | oep = current_thread_info()->exec_domain; | 150 | oep = current_thread_info()->exec_domain; |
| 172 | current_thread_info()->exec_domain = ep; | 151 | current_thread_info()->exec_domain = ep; |
