[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210622080639.nk5buzset4ucchnk@wittgenstein>
Date: Tue, 22 Jun 2021 10:06:39 +0200
From: Christian Brauner <christian.brauner@...ntu.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: syzbot <syzbot+0bac5fec63d4f399ba98@...kaller.appspotmail.com>,
axboe@...nel.dk, christian@...uner.io, ebiederm@...ssion.com,
elver@...gle.com, linux-kernel@...r.kernel.org, oleg@...hat.com,
pcc@...gle.com, peterz@...radead.org,
syzkaller-bugs@...glegroups.com
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@...kaller.appspotmail.com
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> ---
Acked-by: Christian Brauner <christian.brauner@...ntu.com>
Powered by blists - more mailing lists