Commit b4642c10 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security

Pull seccomp fix from James Morris:
 "A fix for a regression in the seccomp code (it was supposed to be in
  the first pull req but I had it queued in the wrong branch)"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
  seccomp: Only dump core when single-threaded
parents a27fcb0c d7276e32
...@@ -643,11 +643,14 @@ static int __seccomp_filter(int this_syscall, const struct seccomp_data *sd, ...@@ -643,11 +643,14 @@ static int __seccomp_filter(int this_syscall, const struct seccomp_data *sd,
default: { default: {
siginfo_t info; siginfo_t info;
audit_seccomp(this_syscall, SIGSYS, action); audit_seccomp(this_syscall, SIGSYS, action);
/* Dump core only if this is the last remaining thread. */
if (get_nr_threads(current) == 1) {
/* Show the original registers in the dump. */ /* Show the original registers in the dump. */
syscall_rollback(current, task_pt_regs(current)); syscall_rollback(current, task_pt_regs(current));
/* Trigger a manual coredump since do_exit skips it. */ /* Trigger a manual coredump since do_exit skips it. */
seccomp_init_siginfo(&info, this_syscall, data); seccomp_init_siginfo(&info, this_syscall, data);
do_coredump(&info); do_coredump(&info);
}
do_exit(SIGSYS); do_exit(SIGSYS);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment