.. oh, and I suspect it should have been marked for stable.
I added Oleg's ack (implicit in an earlier thread), but didn't add a stable tag.
It's commit b4e00444cab4 ("fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent") in my tree.
I'm not sure how serious it is. Yeah, the race can cause the wrong exit signal in theory, but I think you almost have to do it with cooperating processes, at which point you could have just done it intentionally in the first place.
But it does look like a real data race, and the fix looks small and obvious enough that I think it's stable material.
Oleg?
Linus
On Sun, Nov 8, 2020 at 11:19 AM Linus Torvalds torvalds@linux-foundation.org wrote:
On Fri, Nov 6, 2020 at 10:47 PM Eddy Wu itseddy0402@gmail.com wrote:
current->group_leader->exit_signal may change during copy_process() if current->real_parent exits, move the assignment inside tasklist_lock to avoid the race.
Applied. Thanks,
Linus