Re: [PATCH v2] fs/pipe: Deinitialize the watch_queue when pipe is freed

From: Lee Jones
Date: Wed Jul 06 2022 - 05:40:57 EST


On Mon, 09 May 2022, Eric Biggers wrote:

> On Mon, May 09, 2022 at 09:17:26PM +0800, Haimin Zhang wrote:
> > From: Haimin Zhang <tcs_kernel@xxxxxxxxxxx>
> >
> > Add a new function call to deinitialize the watch_queue of a freed pipe.
> > When a pipe node is freed, it doesn't make pipe->watch_queue->pipe null.
> > Later when function post_one_notification is called, it will use this
> > field, but it has been freed and watch_queue->pipe is a dangling pointer.
> > It makes a uaf issue.
> > Check wqueu->defunct before pipe check since pipe becomes invalid once all
> > watch queues were cleared.
> >
> > Reported-by: TCS Robot <tcs_robot@xxxxxxxxxxx>
> > Signed-off-by: Haimin Zhang <tcs_kernel@xxxxxxxxxxx>
>
> Is this fixing something? If so it should have a "Fixes" tag.

It sure is.

Haimin, are you planning a v3?

--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog