Messages in this thread | | | Date | Tue, 22 Jun 2021 10:06:39 +0200 | From | Christian Brauner <> | Subject | Re: [PATCH] signal: Prevent sigqueue caching after task got released |
| |
On Tue, Jun 22, 2021 at 01:08:30AM +0200, Thomas Gleixner wrote: > syzbot reported a memory leak related to sigqueue caching. This happens > when a thread group leader with child tasks is reaped. > > The group leader's sigqueue_cache is correctly freed. The group leader then > reaps the child tasks and if any of them has a signal pending it caches > that signal. That's obviously bogus because nothing will free the cached > signal of the reaped group leader anymore. > > Prevent this by setting tsk::sigqueue_cache to an error pointer value in > exit_task_sigqueue_cache(). > > Add comments to all relevant places. > > Fixes: 4bad58ebc8bc ("signal: Allow tasks to cache one sigqueue struct") > Reported-by: syzbot+0bac5fec63d4f399ba98@syzkaller.appspotmail.com > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > ---
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
| |