[PATCH 1/3] kho: Add kunit static stubs

Samiullah Khawaja skhawaja at google.com
Mon May 18 12:12:05 PDT 2026


Hi Mike,

On Sat, May 16, 2026 at 10:39:43AM +0300, Mike Rapoport wrote:
>Hi Sami,
>
>On Tue, May 12, 2026 at 07:51:33PM +0000, Samiullah Khawaja wrote:
>> Add kunit stubs in kho_restore_folio() and kho_restore_pages() so the
>> users can mock these functions in kunit tests.
>>
>> Signed-off-by: Samiullah Khawaja <skhawaja at google.com>
>> ---
>>  kernel/liveupdate/kexec_handover.c | 9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
>> index d5718bef6d4d..1375291d9b07 100644
>> --- a/kernel/liveupdate/kexec_handover.c
>> +++ b/kernel/liveupdate/kexec_handover.c
>> @@ -11,6 +11,7 @@
>>  #define pr_fmt(fmt) "KHO: " fmt
>>
>>  #include <linux/cleanup.h>
>> +#include <kunit/static_stub.h>
>
>Can we include kunit headers before linux headers?

Agreed. I will update this in next revision.
>
>>  #include <linux/cma.h>
>>  #include <linux/kmemleak.h>
>>  #include <linux/count_zeros.h>
>> @@ -437,7 +438,11 @@ static struct page *kho_restore_page(phys_addr_t phys, bool is_folio)
>>   */
>>  struct folio *kho_restore_folio(phys_addr_t phys)
>>  {
>> -	struct page *page = kho_restore_page(phys, true);
>> +	struct page *page;
>> +
>> +	KUNIT_STATIC_STUB_REDIRECT(kho_restore_folio, phys);
>> +
>> +	page = kho_restore_page(phys, true);
>>
>>  	return page ? page_folio(page) : NULL;
>>  }
>> @@ -459,6 +464,8 @@ struct page *kho_restore_pages(phys_addr_t phys, unsigned long nr_pages)
>>  	const unsigned long end_pfn = start_pfn + nr_pages;
>>  	unsigned long pfn = start_pfn;
>>
>> +	KUNIT_STATIC_STUB_REDIRECT(kho_restore_pages, phys, nr_pages);
>> +
>>  	while (pfn < end_pfn) {
>>  		const unsigned int order =
>>  			min(count_trailing_zeros(pfn), ilog2(end_pfn - pfn));
>> --
>> 2.54.0.563.g4f69b47b94-goog
>>
>
>-- 
>Sincerely yours,
>Mike.

Thanks,
Sami



More information about the kexec mailing list