Re: [PATCH v2 3/3] kernel/watch_queue: Remove wqueue->defunct and use pipe for clear check

From: Siddh Raman Pant
Date: Fri Aug 05 2022 - 05:36:33 EST


On Fri, 05 Aug 2022 12:54:31 +0530 Eric Biggers wrote:
> Why is the READ_ONCE() needed? Doesn't wqueue->lock protect wqueue->pipe?

We are changing the pointer while a notification can be potentially waiting to
be posted to the pipe. So a barrier is needed to prevent compiler magic from
reloading the value.

This was remarked by David Howells here:
https://lore.kernel.org/lkml/3558070.1658933200@xxxxxxxxxxxxxxxxxxxxxx/

> This isn't the correct block comment format; it should look like:
>
> /*
> * This pipe will get freed by the caller free_pipe_info().
> * Removing this reference also prevents new notifications.
> */
>
> - Eric
>

Okay, will make the change.

Thanks,
Siddh