lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87o77xinmt.fsf_-_@email.froward.int.ebiederm.org>
Date: Tue, 18 Jun 2024 23:04:42 -0500
From: "Eric W. Biederman" <ebiederm@...ssion.com>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,  Tejun Heo <tj@...nel.org>,
  linux-kernel@...r.kernel.org
Subject: [PATCH 0/17] exit: complete synchronize_group_exit


This patchset is against v6.10-rc3

A while ago I was working on the problem of how to allow signals that
trigger coredumps to support short circuit delivery.  Along the way I
wound up developing some code that would make ``process'' exits
triggered by signals, do_exit, or do_group_exit clean.  This patchset is
that code.

The highlights add enough bits to the task_struct to allow task exits to
be scheduled like signal group exits.

Add helpers schedule_task_exit_locked, and schedule_group_exit_locked
so the same code is not repeated in small variations in different parts
of the code, and allowing de_thread to be implemented cleanly.

Eric W. Biederman (17):
      signal: Make SIGKILL during coredumps an explicit special case
      signal: Compute the process exit_code in get_signal
      coredump: Consolidate the work to allow SIGKILL during coredumps
      signal: In get_signal call do_exit when it is unnecessary to shoot down threads
      signal: Bring down all threads when handling a non-coredump fatal signal
      signal: Add JOBCTL_WILL_EXIT to mark exiting tasks
      signal: Always set JOBCTL_WILL_EXIT for exiting tasks
      signal: Don't target tasks that are exiting
      signal: Test for process exit or de_thread using task_exit_pending
      signal: Only set JOBCTL_WILL_EXIT if it is not already set
      signal: Make individual tasks exiting a first class concept
      signal: Remove zap_other_threads
      signal: Stop skipping current in do_group_exit & get_signal
      signal: Factor out schedule_group_exit_locked
      ptrace: Separate task->ptrace_code out from task->exit_code
      signal: Record the exit_code when an exit is scheduled
      signal: Set SIGNAL_GROUP_EXIT when all tasks have decided to exit

 fs/coredump.c                |  25 +++-----
 fs/exec.c                    |  14 ++--
 fs/proc/array.c              |   3 +
 include/linux/sched.h        |   1 +
 include/linux/sched/jobctl.h |   2 +
 include/linux/sched/signal.h |  11 +++-
 kernel/exit.c                |  29 +++------
 kernel/ptrace.c              |  12 ++--
 kernel/signal.c              | 148 ++++++++++++++++++++++++-------------------
 9 files changed, 131 insertions(+), 114 deletions(-)

Eric

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ