Messages in this thread | | | Subject | Re: [PATCH v4] kernel/signal: Signal-based pre-coredump notification | From | Enke Chen <> | Date | Mon, 29 Oct 2018 14:08:34 -0700 |
| |
Hi, Oleg:
Yes, it should be the "real_parent" that is more interested in the notification. Will revert back.
+static void do_notify_parent_predump(void) +{ + struct task_struct *parent; + int sig; + + rcu_read_lock(); + parent = rcu_dereference(current->real_parent); + sig = parent->signal->predump_signal; + if (sig != 0) + do_send_sig_info(sig, SEND_SIG_NOINFO, parent, PIDTYPE_TGID); + rcu_read_unlock(); +}
Thanks. -- Enke
On 10/29/18 4:18 AM, Oleg Nesterov wrote: > Hi, > > On 10/26, Enke Chen wrote: >> >> This is really a good idea given that "parent" is declared as RCU-protected. >> Just a bit odd, though, that the "parent" has not been accessed this way in >> the code base. > > It is acccessed when possible, > >> So just to confirm: the revised code would look like the following: >> >> static void do_notify_parent_predump(void) >> { >> struct task_struct *parent; >> int sig; >> >> rcu_read_lock(); >> parent = rcu_dereference(current->parent); >> sig = parent->signal->predump_signal; >> if (sig != 0) >> do_send_sig_info(sig, SEND_SIG_NOINFO, parent, PIDTYPE_TGID); >> rcu_read_unlock(); >> } > > Yes, this is what I meant. > > But I still think do_notify_parent_predump() should notify ->real_parent, > not ->parent. > > Oleg. >
| |