summaryrefslogtreecommitdiff
path: root/include/linux/highmem.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2024-07-30 09:30:11 -1000
committerTejun Heo <tj@kernel.org>2024-07-30 09:30:11 -1000
commitc8faf11cd192214e231626c3ee973a35d8fc33f2 (patch)
tree4c3fcfddf4c7c311e1856dbf4dac1240564731f1 /include/linux/highmem.h
parent8bb30798fd6ee79e4041a32ca85b9f70345d8671 (diff)
parent8400291e289ee6b2bf9779ff1c83a291501f017b (diff)
Merge tag 'v6.11-rc1' into for-6.12
Linux 6.11-rc1
Diffstat (limited to 'include/linux/highmem.h')
-rw-r--r--include/linux/highmem.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index 00341b56d291..930a591b9b61 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -179,7 +179,7 @@ static inline void *kmap_local_folio(struct folio *folio, size_t offset);
static inline void *kmap_atomic(struct page *page);
/* Highmem related interfaces for management code */
-static inline unsigned int nr_free_highpages(void);
+static inline unsigned long nr_free_highpages(void);
static inline unsigned long totalhigh_pages(void);
#ifndef ARCH_HAS_FLUSH_ANON_PAGE
@@ -352,6 +352,9 @@ static inline int copy_mc_user_highpage(struct page *to, struct page *from,
kunmap_local(vto);
kunmap_local(vfrom);
+ if (ret)
+ memory_failure_queue(page_to_pfn(from), 0);
+
return ret;
}
@@ -368,6 +371,9 @@ static inline int copy_mc_highpage(struct page *to, struct page *from)
kunmap_local(vto);
kunmap_local(vfrom);
+ if (ret)
+ memory_failure_queue(page_to_pfn(from), 0);
+
return ret;
}
#else