[PATCH v2 09/13] mm/gup: Cache *pudp in follow_pud_mask()
Jason Gunthorpe
jgg at nvidia.com
Mon Jan 15 10:41:02 PST 2024
On Wed, Jan 03, 2024 at 05:14:19PM +0800, peterx at redhat.com wrote:
> From: Peter Xu <peterx at redhat.com>
>
> Introduce "pud_t pud" in the function, so the code won't dereference *pudp
> multiple time. Not only because that looks less straightforward, but also
> because if the dereference really happened, it's not clear whether there
> can be race to see different *pudp values if it's being modified at the
> same time.
>
> Acked-by: James Houghton <jthoughton at google.com>
> Signed-off-by: Peter Xu <peterx at redhat.com>
> ---
> mm/gup.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
I think we have several more case like this, and I ceratinly agree
code should not access a READ_ONCE variable more than once :(
Reviewed-by: Jason Gunthorpe <jgg at nvidia.com>
Jason
More information about the linux-riscv
mailing list