Issue with Kexec memory allocation

From: Uday R
Date: Mon Jan 06 2020 - 02:13:34 EST

Hello folks,

I am using kexec to load into the new kernel from the existing kernel.
My vmlinuz image size is 6.6MB, initrd size is 18MB, and the root file
system size is 715MB. I use kexec command to load the new kernel into
memory. I observed that before calling kexec if the available memory
is less than 1.33GB then kexec lands into an out of memory issue
effectively kexec being killed by OOM-KILLER. I dont get into out of
memory issue if i have memory >=1.33GB.

My question is why kexec tries to over allocate memory when the
available memory is less than 1.33GB and gets the available memory to
In case if the available memory is >= 1.33GB before calling kexec,
After kexec load, i see the memory consumed by kexec load is
approximately equal to size of "linux+initrd+root file system".

Is there a bug in the 'Kexec' code and had been fixed ?

Note: i am using the kernel from a vendor, Just wanted to know if
there is no such issue in mainstream code.

Thanks in Advance,