On Sun, Oct 13, 2024 at 10:06:15AM -0700, Anjali Kulkarni wrote:
- if (unlikely(task->flags & PF_EXIT_NOTIFY)) {
task_lock(task);task->flags &= ~PF_EXIT_NOTIFY;task_unlock(task);
@@ -413,6 +440,15 @@ static void cn_proc_mcast_ctl(struct cn_msg *msg, if (msg->len == sizeof(*pinput)) { pinput = (struct proc_input *)msg->data; mc_op = pinput->mcast_op;
if (mc_op == PROC_CN_MCAST_NOTIFY) {pr_debug("%s: Received PROC_CN_MCAST_NOTIFY, pid %d\n",__func__, current->pid);task_lock(current);current->flags |= PF_EXIT_NOTIFY;task_unlock(current);err = cn_add_elem(pinput->uexit_code, current->pid);return;}
You seem to think that task_lock protects task->flags ? Why?