2021-03-30 17:53:02

by Mike Rapoport

[permalink] [raw]
Subject: [PATCH] nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff

From: Mike Rapoport <[email protected]>

Commit cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
updated flush_dcache_page implementations on several architectures to use
page_mapping_file() in order to avoid races between page_mapping() and
swapoff().

This update missed arch/nds32 and there is a possibility of a race there.

Replace page_mapping() with page_mapping_file() in nds32 implementation of
flush_dcache_page().

Fixes: cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
Signed-off-by: Mike Rapoport <[email protected]>
---
arch/nds32/mm/cacheflush.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/nds32/mm/cacheflush.c b/arch/nds32/mm/cacheflush.c
index 6eb98a7ad27d..ad5344ef5d33 100644
--- a/arch/nds32/mm/cacheflush.c
+++ b/arch/nds32/mm/cacheflush.c
@@ -238,7 +238,7 @@ void flush_dcache_page(struct page *page)
{
struct address_space *mapping;

- mapping = page_mapping(page);
+ mapping = page_mapping_file(page);
if (mapping && !mapping_mapped(mapping))
set_bit(PG_dcache_dirty, &page->flags);
else {
--
2.28.0


2021-03-30 18:19:31

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH] nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff

On Tue, Mar 30, 2021 at 08:51:26PM +0300, Mike Rapoport wrote:
> From: Mike Rapoport <[email protected]>
>
> Commit cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
> updated flush_dcache_page implementations on several architectures to use
> page_mapping_file() in order to avoid races between page_mapping() and
> swapoff().
>
> This update missed arch/nds32 and there is a possibility of a race there.
>
> Replace page_mapping() with page_mapping_file() in nds32 implementation of
> flush_dcache_page().
>
> Fixes: cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
> Signed-off-by: Mike Rapoport <[email protected]>

Reviewed-by: Matthew Wilcox (Oracle) <[email protected]>

2021-03-31 07:32:05

by Greentime Hu

[permalink] [raw]
Subject: Re: [PATCH] nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff

Matthew Wilcox <[email protected]> 於 2021年3月31日 週三 上午2:14寫道:
>
> On Tue, Mar 30, 2021 at 08:51:26PM +0300, Mike Rapoport wrote:
> > From: Mike Rapoport <[email protected]>
> >
> > Commit cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
> > updated flush_dcache_page implementations on several architectures to use
> > page_mapping_file() in order to avoid races between page_mapping() and
> > swapoff().
> >
> > This update missed arch/nds32 and there is a possibility of a race there.
> >
> > Replace page_mapping() with page_mapping_file() in nds32 implementation of
> > flush_dcache_page().
> >
> > Fixes: cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
> > Signed-off-by: Mike Rapoport <[email protected]>
>
> Reviewed-by: Matthew Wilcox (Oracle) <[email protected]>

Acked-by: Greentiime Hu <[email protected]>

2021-03-31 07:33:10

by Greentime Hu

[permalink] [raw]
Subject: Re: [PATCH] nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff

Greentime Hu <[email protected]> 於 2021年3月31日 週三 下午3:30寫道:
>
> Matthew Wilcox <[email protected]> 於 2021年3月31日 週三 上午2:14寫道:
> >
> > On Tue, Mar 30, 2021 at 08:51:26PM +0300, Mike Rapoport wrote:
> > > From: Mike Rapoport <[email protected]>
> > >
> > > Commit cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
> > > updated flush_dcache_page implementations on several architectures to use
> > > page_mapping_file() in order to avoid races between page_mapping() and
> > > swapoff().
> > >
> > > This update missed arch/nds32 and there is a possibility of a race there.
> > >
> > > Replace page_mapping() with page_mapping_file() in nds32 implementation of
> > > flush_dcache_page().
> > >
> > > Fixes: cb9f753a3731 ("mm: fix races between swapoff and flush dcache")
> > > Signed-off-by: Mike Rapoport <[email protected]>
> >
> > Reviewed-by: Matthew Wilcox (Oracle) <[email protected]>
>
> Acked-by: Greentiime Hu <[email protected]>
Typo.
Acked-by: Greentime Hu <[email protected]>