[GIT PULL] liveupdate: updates for 7.4-rc1

Mike Rapoport rppt at kernel.org
Sat Oct 24 04:22:27 PDT 2026


Hi Linus,

The following changes since commit cee9395acd8043be0644b25c34bfa86623f2b935:

  Linux 7.3-rc1 (2026-08-30 13:34:40 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux.git liveupdate-v7.4-rc1

for you to fetch changes up to 9a6a70aefe77f6fb9ff2b3037dcf87f6dff65c8c:

  kho: do not reserve empty per-node bootmem areas (2026-10-15 11:37:32 +0300)

There is a conflict in mm/memblock.c and mm/mm_init.c and here is how I would
resolve it:

diff --cc mm/memblock.c
index e6fdf95a0534d,f5aaa38cfa313..0000000000000
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@@ -2885,8 -2885,7 +2885,8 @@@ static const char * const flagname[] = 
  	[ilog2(MEMBLOCK_DRIVER_MANAGED)] = "DRV_MNG",
  	[ilog2(MEMBLOCK_RSRV_NOINIT)] = "RSV_NIT",
  	[ilog2(MEMBLOCK_RSRV_KERN)] = "RSV_KERN",
- 	[ilog2(MEMBLOCK_KHO_SCRATCH)] = "KHO_SCRATCH",
+ 	[ilog2(MEMBLOCK_KHO_NOPRSRV)] = "KHO_NOPRSRV",
 +	[ilog2(MEMBLOCK_RSRV_HUGETLB)] = "RSV_HUGETLB",
  };
  
  static int memblock_debug_show(struct seq_file *m, void *private)
diff --cc mm/mm_init.c
index 2e55be1457385,24a53d5f0893d..0000000000000
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@@ -684,10 -684,10 +684,10 @@@ static __meminit void pageblock_migrate
  	const unsigned long end = pfn + nr_pages;
  
  	for (pfn = pageblock_align(pfn); pfn < end; pfn += pageblock_nr_pages) {
- 		enum migratetype mt = kho_scratch_migratetype(pfn, migratetype);
+ 		enum migratetype mt = kho_bootmem_migratetype(pfn, migratetype);
  
 -		init_pageblock_migratetype(pfn_to_page(pfn), mt, false);
 -		if (!atomic && IS_ALIGNED(pfn, PAGES_PER_SECTION))
 +		init_pageblock_migratetype(pfn_to_page(pfn), mt, isolate);
 +		if (!atomic && IS_ALIGNED(pfn, PFN_DOWN(SZ_1G)))
  			cond_resched();
  	}
  }
@@@ -769,12 -757,17 +769,12 @@@ static void __meminit __init_deferred_p
  	if (early_page_initialised(pfn, nid))
  		return;
  
 -	for (zid = 0; zid < MAX_NR_ZONES; zid++) {
 -		struct zone *zone = &pgdat->node_zones[zid];
 -
 -		if (zone_spans_pfn(zone, pfn))
 -			break;
 -	}
 -	__init_single_page(pfn_to_page(pfn), pfn, zid, nid);
 -
 +	zone = pfn_to_zone(pfn, nid);
 +	__init_single_page(pfn_to_page(pfn), pfn,
 +			   zone ? zone_idx(zone) : MAX_NR_ZONES, nid);
  	if (pageblock_aligned(pfn)) {
  		enum migratetype mt =
- 			kho_scratch_migratetype(pfn, MIGRATE_MOVABLE);
+ 			kho_bootmem_migratetype(pfn, MIGRATE_MOVABLE);
  		init_pageblock_migratetype(pfn_to_page(pfn), mt, false);
  	}
  }

----------------------------------------------------------------
liveupdate: updates for 7.4-rc1

* Several small fixes to KHO and LiveUpdate selftest
* A series that renames "KHO scratch" to "KHO bootmem" because this memory is
  way more important in kexec'ed kernels rather than in the original cold
  boot kernel and the new name reflects it.

----------------------------------------------------------------
David Matlack (1):
      selftests/liveupdate: Prefer KVM and HVF over TCG in vmtest.sh

Kamalesh Babulal (1):
      kho: docs: fix scratch_phys debugfs cross-reference

Maxi Saparov (1):
      kho: do not reserve scratch memory in the kdump kernel

Mike Rapoport (Microsoft) (1):
      Merge patch series "kho: rename "scratch" to "bootmem""

Pratyush Yadav (Google) (5):
      memblock: get rid of CONFIG_MEMBLOCK_KHO_SCRATCH
      memblock: rename KHO_SCRATCH to KHO_NOPRSRV
      kho: rename KHO scratch to KHO bootmem
      kho: rename kho_scratch= commandline parameter to kho_bootmem=
      kho: do not reserve empty per-node bootmem areas

 Documentation/admin-guide/kernel-parameters.txt |  15 +-
 Documentation/admin-guide/mm/kho.rst            |  18 +-
 Documentation/core-api/kho/index.rst            |  38 +--
 arch/x86/boot/compressed/kaslr.c                |  12 +-
 arch/x86/include/uapi/asm/setup_data.h          |   4 +-
 arch/x86/kernel/e820.c                          |  11 +-
 arch/x86/kernel/kexec-bzimage64.c               |   6 +-
 arch/x86/kernel/setup.c                         |   2 +-
 arch/x86/realmode/init.c                        |   2 +-
 drivers/firmware/efi/efi-init.c                 |   6 +-
 drivers/of/fdt.c                                |   8 +-
 drivers/of/kexec.c                              |  16 +-
 include/asm-generic/kexec_handover.h            |   2 +-
 include/linux/kexec.h                           |   2 +-
 include/linux/kexec_handover.h                  |  16 +-
 include/linux/memblock.h                        |  30 +-
 kernel/kexec_file.c                             |   4 +-
 kernel/liveupdate/Kconfig                       |   1 -
 kernel/liveupdate/kexec_handover.c              | 358 +++++++++++++-----------
 kernel/liveupdate/kexec_handover_debugfs.c      |  24 +-
 kernel/liveupdate/kexec_handover_internal.h     |   4 +-
 mm/Kconfig                                      |   4 -
 mm/memblock.c                                   |  56 ++--
 mm/memfd_luo.c                                  |   3 +-
 mm/mm_init.c                                    |   6 +-
 tools/testing/memblock/internal.h               |   2 +-
 tools/testing/selftests/liveupdate/vmtest.sh    |   2 +-
 27 files changed, 332 insertions(+), 320 deletions(-)



More information about the kexec mailing list