2021-05-06 20:30:50

by Alexey Dobriyan

[permalink] [raw]
Subject: [PATCH] aio: add missing dcache flush

Ring page is mapped by kernel and updated so dcache must be flushed.

Signed-off-by: Alexey Dobriyan <[email protected]>
---

Not tested but the usage looks fishy.

fs/aio.c | 1 +
1 file changed, 1 insertion(+)

--- a/fs/aio.c
+++ b/fs/aio.c
@@ -653,6 +653,7 @@ static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm)
ring = kmap_atomic(ctx->ring_pages[0]);
ring->id = ctx->id;
kunmap_atomic(ring);
+ flush_dcache_page(ctx->ring_pages[0]);
return 0;
}


2021-05-19 20:20:50

by Jeff Moyer

[permalink] [raw]
Subject: Re: [PATCH] aio: add missing dcache flush

Alexey Dobriyan <[email protected]> writes:

> Ring page is mapped by kernel and updated so dcache must be flushed.
>
> Signed-off-by: Alexey Dobriyan <[email protected]>
> ---
>
> Not tested but the usage looks fishy.
>
> fs/aio.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --- a/fs/aio.c
> +++ b/fs/aio.c
> @@ -653,6 +653,7 @@ static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm)
> ring = kmap_atomic(ctx->ring_pages[0]);
> ring->id = ctx->id;
> kunmap_atomic(ring);
> + flush_dcache_page(ctx->ring_pages[0]);
> return 0;
> }
>
>

Sorry for the late review.

Reviewed-by: Jeff Moyer <[email protected]>