On Tue, 5 Aug 2025 14:15:26 -0700 Brian Mak <m...@juniper.net> wrote:
> Commit 07d24902977e ("kexec: enable CMA based contiguous allocation") > introduces logic to use CMA-based allocation in kexec by default. As > part of the changes, it introduces a kexec_file_load flag to disable the > use of CMA allocations from userspace. However, this flag is broken > since it is missing from the list of legal flags for kexec_file_load. > kexec_file_load returns EINVAL when attempting to use the flag. > > Fix this by adding the KEXEC_FILE_NO_CMA flag to the list of legal flags > for kexec_file_load. > > Fixes: 07d24902977e ("kexec: enable CMA based contiguous allocation") A description of the userspace-visible runtime effects of this bug would be very helpful, please. A lot more than "is broken"! Also, could we please have some reviewer input on this change? Thanks. > --- a/include/linux/kexec.h > +++ b/include/linux/kexec.h > @@ -460,7 +460,8 @@ bool kexec_load_permitted(int kexec_image_type); > > /* List of defined/legal kexec file flags */ > #define KEXEC_FILE_FLAGS (KEXEC_FILE_UNLOAD | KEXEC_FILE_ON_CRASH | \ > - KEXEC_FILE_NO_INITRAMFS | KEXEC_FILE_DEBUG) > + KEXEC_FILE_NO_INITRAMFS | KEXEC_FILE_DEBUG | \ > + KEXEC_FILE_NO_CMA) > > /* flag to track if kexec reboot is in progress */ > extern bool kexec_in_progress; > -- > 2.25.1 >