lkml.org 
[lkml]   [2022]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] kexec: Enable runtime allocation of crash_image
    Hi

    On Fri, 25 Nov 2022 at 08:27, Baoquan He <bhe@redhat.com> wrote:
    >
    > On 11/25/22 at 06:52am, Ricardo Ribalda wrote:
    > > Hi Baoquan
    > >
    > > Thanks for your review!
    > >
    > > On Fri, 25 Nov 2022 at 03:58, Baoquan He <bhe@redhat.com> wrote:
    > > >
    > > > On 11/24/22 at 11:23pm, Ricardo Ribalda wrote:
    > > > > Usually crash_image is defined statically via the crashkernel parameter
    > > > > or DT.
    > > > >
    > > > > But if the crash kernel is not used, or is smaller than then
    > > > > area pre-allocated that memory is wasted.
    > > > >
    > > > > Also, if the crash kernel was not defined at bootime, there is no way to
    > > > > use the crash kernel.
    > > > >
    > > > > Enable runtime allocation of the crash_image if the crash_image is not
    > > > > defined statically. Following the same memory allocation/validation path
    > > > > that for the reboot kexec kernel.
    > > >
    > > > We don't check if the crashkernel memory region is valid in kernel, but
    > > > we do have done the check in kexec-tools utility. Since both kexec_load and
    > > > kexec_file_load need go through path of kexec-tools loading, we haven't
    > > > got problem with lack of the checking in kernel.
    > >
    > > Not sure if I follow you.
    > >
    > > We currently check if the crash kernel is in the right place at
    > > sanity_check_segment_list()
    > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/kexec_core.c#n239
    >
    > And it's not checking if crashkernel memory is valid in
    > sanity_check_segment_list(), right? It's checking if the segments
    > are placed correctly.

    If it is not valid, then this condition is not met.

    /* Ensure we are within the crash kernel limits */
    if ((mstart < phys_to_boot_phys(crashk_res.start)) ||
    (mend > phys_to_boot_phys(crashk_res.end)))
    return -EADDRNOTAVAIL;


    >


    --
    Ricardo Ribalda

    \
     
     \ /
      Last update: 2022-11-25 08:32    [W:4.665 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site