|
@@ -2174,15 +2174,16 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
|
|
|
}
|
|
|
|
|
|
if (cprm.limit == 1) {
|
|
|
- /*
|
|
|
+ /* See umh_pipe_setup() which sets RLIMIT_CORE = 1.
|
|
|
+ *
|
|
|
* Normally core limits are irrelevant to pipes, since
|
|
|
* we're not writing to the file system, but we use
|
|
|
- * cprm.limit of 1 here as a speacial value. Any
|
|
|
- * non-1 limit gets set to RLIM_INFINITY below, but
|
|
|
- * a limit of 0 skips the dump. This is a consistent
|
|
|
- * way to catch recursive crashes. We can still crash
|
|
|
- * if the core_pattern binary sets RLIM_CORE = !1
|
|
|
- * but it runs as root, and can do lots of stupid things
|
|
|
+ * cprm.limit of 1 here as a speacial value, this is a
|
|
|
+ * consistent way to catch recursive crashes.
|
|
|
+ * We can still crash if the core_pattern binary sets
|
|
|
+ * RLIM_CORE = !1, but it runs as root, and can do
|
|
|
+ * lots of stupid things.
|
|
|
+ *
|
|
|
* Note that we use task_tgid_vnr here to grab the pid
|
|
|
* of the process group leader. That way we get the
|
|
|
* right pid if a thread in a multi-threaded
|