diff options
| -rw-r--r-- | fs/exec.c | 11 |
1 files changed, 5 insertions, 6 deletions
| @@ -1354,10 +1354,12 @@ void setup_new_exec(struct linux_binprm * bprm) | |||
| 1354 | 1354 | ||
| 1355 | current->sas_ss_sp = current->sas_ss_size = 0; | 1355 | current->sas_ss_sp = current->sas_ss_size = 0; |
| 1356 | 1356 | ||
| 1357 | if (!bprm->secureexec) | 1357 | /* Figure out dumpability. */ |
| 1358 | set_dumpable(current->mm, SUID_DUMP_USER); | 1358 | if (bprm->interp_flags & BINPRM_FLAGS_ENFORCE_NONDUMP || |
| 1359 | else | 1359 | bprm->secureexec) |
| 1360 | set_dumpable(current->mm, suid_dumpable); | 1360 | set_dumpable(current->mm, suid_dumpable); |
| 1361 | else | ||
| 1362 | set_dumpable(current->mm, SUID_DUMP_USER); | ||
| 1361 | 1363 | ||
| 1362 | arch_setup_new_exec(); | 1364 | arch_setup_new_exec(); |
| 1363 | perf_event_exec(); | 1365 | perf_event_exec(); |
| @@ -1371,9 +1373,6 @@ void setup_new_exec(struct linux_binprm * bprm) | |||
| 1371 | 1373 | ||
| 1372 | if (bprm->secureexec) { | 1374 | if (bprm->secureexec) { |
| 1373 | current->pdeath_signal = 0; | 1375 | current->pdeath_signal = 0; |
| 1374 | } else { | ||
| 1375 | if (bprm->interp_flags & BINPRM_FLAGS_ENFORCE_NONDUMP) | ||
| 1376 | set_dumpable(current->mm, suid_dumpable); | ||
| 1377 | } | 1376 | } |
| 1378 | 1377 | ||
| 1379 | /* An exec changes our domain. We are no longer part of the thread | 1378 | /* An exec changes our domain. We are no longer part of the thread |
