FAILED: patch "[PATCH] dax: Check page->mapping isn't NULL" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
c93db7bb6ef3251e0ea48ade311d3e9942748e1cMon Sep 17 00:00:00 2001
From: Matthew Wilcox <[email protected]>
Date: Tue, 27 Nov 2018 13:16:33 -0800
Subject: [PATCH] dax: Check page->mapping isn't NULL
If we race with inode destroy, it's possible for page->mapping to be NULL before we even enter this routine, as well as after having slept waiting for the dax entry to become unlocked.
fs/dax.c +1 -1
@@ -365,7 +365,7 @@ bool dax_lock_mapping_entry(struct page *page)struct address_space *mapping =READ_ONCE (page->mapping); locked = false; -if (!dax_mapping (mapping)) +if (!mapping || !dax_mapping (mapping))break ;/*
Quoted 7 lines · On Tue, Dec 11, 2018 at 03:00:15PM +0100, [email protected] wrote:
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.From
ebcfdf7933e1c72dbe581e64064bc6b8bb5d8694Mon Sep 17 00:00:00 2001
From: Matthew Wilcox <[email protected]>
Date: Tue, 11 Dec 2018 09:41:48 -0500
Subject: [PATCH 1/2] dax: Check page->mapping isn't NULL
commit c93db7bb6ef3251e0ea48ade311d3e9942748e1c upstream.
If we race with inode destroy, it's possible for page->mapping to be NULL before we even enter this routine, as well as after having slept waiting for the dax entry to become unlocked.
--- fs/dax.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/dax.c +1 -1
@@ -423,7 +423,7 @@ bool dax_lock_mapping_entry(struct page *page)for (;;) { mapping =READ_ONCE (page->mapping); -if (!dax_mapping (mapping)) +if (!mapping || !dax_mapping (mapping))break ;/*
Signature · 1 line
2.19.1
Greg KH
maintainerQuoted 25 lines · Matthew Wilcox
Quoted 7 lines · On Tue, Dec 11, 2018 at 03:00:15PM +0100, [email protected] wrote:
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.From
ebcfdf7933e1c72dbe581e64064bc6b8bb5d8694Mon Sep 17 00:00:00 2001From: Matthew Wilcox <[email protected]>
Date: Tue, 11 Dec 2018 09:41:48 -0500
Subject: [PATCH 1/2] dax: Checkpage->mappingisn't NULLcommit
c93db7bb6ef3251e0ea48ade311d3e9942748e1cupstream.If we race with inode destroy, it's possible for
page->mappingto be NULL before we even enter this routine, as well as after having slept waiting for the dax entry to become unlocked.Fixes c2a7d2a11552 ("filesystem-dax: Introduce dax_lock_mapping_entry()")Cc <[email protected]>Reported-by Jan Kara <[email protected]>Signed-off-by Matthew Wilcox <[email protected]>Reviewed-by Johannes Thumshirn <[email protected]>Reviewed-by Jan Kara <[email protected]>Signed-off-by Dan Williams <[email protected]>
Quoted 3 lines
--- fs/dax.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Now applied, thanks.
greg k-h