aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/exec.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/exec.c b/fs/exec.c
index 7a9288551d62..3006c1c24304 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -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