linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] swap: Check nrexceptional of swap cache before being freed
@ 2021-01-20  7:27 Huang Ying
  2021-01-20  7:46 ` Michal Hocko
  2021-01-21 18:44 ` Matthew Wilcox
  0 siblings, 2 replies; 6+ messages in thread
From: Huang Ying @ 2021-01-20  7:27 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-mm, linux-kernel, Huang Ying, Minchan Kim, Joonsoo Kim,
	Johannes Weiner, Vlastimil Babka, Mel Gorman, Michal Hocko,
	Dan Williams, Christoph Hellwig

To catch the error in updating the swap cache shadow entries or their count.

Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>,
Cc: Johannes Weiner <hannes@cmpxchg.org>,
Cc: Vlastimil Babka <vbabka@suse.cz>, Hugh Dickins <hughd@google.com>,
Cc: Mel Gorman <mgorman@techsingularity.net>,
Cc: Michal Hocko <mhocko@kernel.org>,
Cc: Dan Williams <dan.j.williams@intel.com>,
Cc: Christoph Hellwig <hch@lst.de>, Ilya Dryomov <idryomov@gmail.com>,
---
 mm/swap_state.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/mm/swap_state.c b/mm/swap_state.c
index d0d417efeecc..240a4f97594a 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -703,7 +703,12 @@ int init_swap_address_space(unsigned int type, unsigned long nr_pages)
 
 void exit_swap_address_space(unsigned int type)
 {
-	kvfree(swapper_spaces[type]);
+	int i;
+	struct address_space *spaces = swapper_spaces[type];
+
+	for (i = 0; i < nr_swapper_spaces[type]; i++)
+		VM_BUG_ON(spaces[i].nrexceptional);
+	kvfree(spaces);
 	nr_swapper_spaces[type] = 0;
 	swapper_spaces[type] = NULL;
 }
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-01-22  0:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-20  7:27 [PATCH] swap: Check nrexceptional of swap cache before being freed Huang Ying
2021-01-20  7:46 ` Michal Hocko
2021-01-20  7:54   ` Huang, Ying
2021-01-20  7:59     ` Michal Hocko
2021-01-21 18:44 ` Matthew Wilcox
2021-01-22  0:02   ` Huang, Ying

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).