Skip to content

Commit ae13bd2

Browse files
committed
Merge tag 'mm-nonmm-stable-2025-10-10-15-03' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull more updates from Andrew Morton: "Just one series here - Mike Rappoport has taught KEXEC handover to preserve vmalloc allocations across handover" * tag 'mm-nonmm-stable-2025-10-10-15-03' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: lib/test_kho: use kho_preserve_vmalloc instead of storing addresses in fdt kho: add support for preserving vmalloc allocations kho: replace kho_preserve_phys() with kho_preserve_pages() kho: check if kho is finalized in __kho_preserve_order() MAINTAINERS, .mailmap: update Umang's email address
2 parents 971370a + 90eb9ae commit ae13bd2

File tree

6 files changed

+383
-59
lines changed

6 files changed

+383
-59
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,7 @@ Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko.ursulin@onelan.co.uk>
803803
Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko@ursulin.net>
804804
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
805805
Tzung-Bi Shih <tzungbi@kernel.org> <tzungbi@google.com>
806+
Umang Jain <uajain@igalia.com> <umang.jain@ideasonboard.com>
806807
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
807808
Uwe Kleine-König <u.kleine-koenig@baylibre.com> <ukleinek@baylibre.com>
808809
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23911,7 +23911,7 @@ F: drivers/media/i2c/imx274.c
2391123911

2391223912
SONY IMX283 SENSOR DRIVER
2391323913
M: Kieran Bingham <kieran.bingham@ideasonboard.com>
23914-
M: Umang Jain <umang.jain@ideasonboard.com>
23914+
R: Umang Jain <uajain@igalia.com>
2391523915
L: linux-media@vger.kernel.org
2391623916
S: Maintained
2391723917
T: git git://linuxtv.org/media.git

include/linux/kexec_handover.h

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ enum kho_event {
1818

1919
struct folio;
2020
struct notifier_block;
21+
struct page;
2122

2223
#define DECLARE_KHOSER_PTR(name, type) \
2324
union { \
@@ -38,13 +39,24 @@ struct notifier_block;
3839

3940
struct kho_serialization;
4041

42+
struct kho_vmalloc_chunk;
43+
struct kho_vmalloc {
44+
DECLARE_KHOSER_PTR(first, struct kho_vmalloc_chunk *);
45+
unsigned int total_pages;
46+
unsigned short flags;
47+
unsigned short order;
48+
};
49+
4150
#ifdef CONFIG_KEXEC_HANDOVER
4251
bool kho_is_enabled(void);
4352
bool is_kho_boot(void);
4453

4554
int kho_preserve_folio(struct folio *folio);
46-
int kho_preserve_phys(phys_addr_t phys, size_t size);
55+
int kho_preserve_pages(struct page *page, unsigned int nr_pages);
56+
int kho_preserve_vmalloc(void *ptr, struct kho_vmalloc *preservation);
4757
struct folio *kho_restore_folio(phys_addr_t phys);
58+
struct page *kho_restore_pages(phys_addr_t phys, unsigned int nr_pages);
59+
void *kho_restore_vmalloc(const struct kho_vmalloc *preservation);
4860
int kho_add_subtree(struct kho_serialization *ser, const char *name, void *fdt);
4961
int kho_retrieve_subtree(const char *name, phys_addr_t *phys);
5062

@@ -71,7 +83,13 @@ static inline int kho_preserve_folio(struct folio *folio)
7183
return -EOPNOTSUPP;
7284
}
7385

74-
static inline int kho_preserve_phys(phys_addr_t phys, size_t size)
86+
static inline int kho_preserve_pages(struct page *page, unsigned int nr_pages)
87+
{
88+
return -EOPNOTSUPP;
89+
}
90+
91+
static inline int kho_preserve_vmalloc(void *ptr,
92+
struct kho_vmalloc *preservation)
7593
{
7694
return -EOPNOTSUPP;
7795
}
@@ -81,6 +99,17 @@ static inline struct folio *kho_restore_folio(phys_addr_t phys)
8199
return NULL;
82100
}
83101

102+
static inline struct page *kho_restore_pages(phys_addr_t phys,
103+
unsigned int nr_pages)
104+
{
105+
return NULL;
106+
}
107+
108+
static inline void *kho_restore_vmalloc(const struct kho_vmalloc *preservation)
109+
{
110+
return NULL;
111+
}
112+
84113
static inline int kho_add_subtree(struct kho_serialization *ser,
85114
const char *name, void *fdt)
86115
{

0 commit comments

Comments
 (0)