* + mm-netfs-fscache-stop-read-optimisation-when-folio-removed-from-pagecache-fix.patch added to mm-nonmm-unstable branch
@ 2023-07-07 18:56 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2023-07-07 18:56 UTC (permalink / raw)
To: mm-commits, xiubli, willy, tytso, torvalds, sfrench, rohiths.msft,
nspmangalore, jefflexu, idryomov, dhowells, daire.byrne, asmadeus,
adilger.kernel, dwysocha, akpm
The patch titled
Subject: mm: call folio_mapping() inside folio_needs_release()
has been added to the -mm mm-nonmm-unstable branch. Its filename is
mm-netfs-fscache-stop-read-optimisation-when-folio-removed-from-pagecache-fix.patch
This patch will shortly appear at
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-netfs-fscache-stop-read-optimisation-when-folio-removed-from-pagecache-fix.patch
This patch will later appear in the mm-nonmm-unstable branch at
git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next via the mm-everything
branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there every 2-3 working days
------------------------------------------------------
From: Dave Wysochanski <dwysocha@redhat.com>
Subject: mm: call folio_mapping() inside folio_needs_release()
Date: Fri Jul 7 11:54:53 AM PDT 2023
We must call folio_mapping() inside folio_needs_release() or we will end
up oopsing on an anon page as follows:
RIP: 0010:filemap_release_folio+0x69/0x80
Code: 75 95 00 5d e9 58 7c 95 00 48 85 d2 74 f5 48 8b 8a 98 00 00 00 84 c9 79 ea 48 8b 0f 31 c0 80 e5 80 75 e0 48 8b 82 90 00 00 00 <48> 8b 40 48 48 85 c0 75 cb e8 19 69 15 00 5d e9 23 7c 95 00 0f 0b
RSP: 0018:ffffa89c4057b980 EFLAGS: 00010246
RAX: 0500000001251880 RBX: ffffa89c4057baa8 RCX: 0017ffffc0080005
RDX: ffff90c709bd3f71 RSI: 0000000000000cc0 RDI: ffffebcf45a6e800
RBP: ffffa89c4057b980 R08: ffff90c707f800c0 R09: ffffebcf45a6e808
R10: 0000000000000000 R11: 000000000000000c R12: ffffebcf45a6e800
R13: ffffa89c4057ba08 R14: ffffebcf45a6e808 R15: ffffa89c4057bdb0
FS: 0000000000000000(0000) GS:ffff91443fdc0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f4472634000 CR3: 0000000103d8a000 CR4: 0000000000350ee0
Call Trace:
<TASK>
shrink_folio_list+0x746/0xc80
evict_folios+0x272/0x5f0
try_to_shrink_lruvec+0x1f1/0x2d0
shrink_one+0x13b/0x1b0
lru_gen_shrink_node+0x1ee/0x3e0
shrink_node+0x68d/0x730
balance_pgdat+0x41e/0x8c0
kswapd+0x1f4/0x3b0
kthread+0xf9/0x130
ret_from_fork+0x2c/0x50
</TASK>
Link: https://github.com/DaveWysochanskiRH/kernel/commit/902c990e311120179fa5de99d68364b2947b79ec
Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Reported-by: Daire Byrne <daire.byrne@gmail.com>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: Dave Wysochanski <dwysocha@redhat.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Dominique Martinet <asmadeus@codewreck.org>
Cc: Ilya Dryomov <idryomov@gmail.com>
Cc: Jingbo Xu <jefflexu@linux.alibaba.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Rohith Surabattula <rohiths.msft@gmail.com>
Cc: Shyam Prasad N <nspmangalore@gmail.com>
Cc: Steve French <sfrench@samba.org>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/internal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/internal.h~mm-netfs-fscache-stop-read-optimisation-when-folio-removed-from-pagecache-fix
+++ a/mm/internal.h
@@ -181,7 +181,7 @@ static inline void set_page_refcounted(s
*/
static inline bool folio_needs_release(struct folio *folio)
{
- struct address_space *mapping = folio->mapping;
+ struct address_space *mapping = folio_mapping(folio);
return folio_has_private(folio) ||
(mapping && mapping_release_always(mapping));
_
Patches currently in -mm which might be from dwysocha@redhat.com are
mm-netfs-fscache-stop-read-optimisation-when-folio-removed-from-pagecache-fix.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-07-07 18:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-07 18:56 + mm-netfs-fscache-stop-read-optimisation-when-folio-removed-from-pagecache-fix.patch added to mm-nonmm-unstable branch Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.