Re: [PATCH v2] kexec: Set KEXEC_TYPE_CRASH before sanity_check_segment_list()

From: Baoquan He
Date: Thu Dec 10 2015 - 21:59:54 EST


On 12/02/15 at 04:39pm, Xunlei Pang wrote:
> sanity_check_segment_list() checks KEXEC_TYPE_CRASH flag to ensure
> all the segments of the loaded crash kernel are winthin the kernel
> crash resource limits, so set the flag beforehand.
>
> Signed-off-by: Xunlei Pang <xlpang@xxxxxxxxxx>
> Acked-by: Dave Young <dyoung@xxxxxxxxxx>
> ---
> v1 -> v2:
> Improved some comments.
>
> kernel/kexec.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/kexec.c b/kernel/kexec.c
> index d873b64..ee70aef 100644
> --- a/kernel/kexec.c
> +++ b/kernel/kexec.c
> @@ -63,16 +63,16 @@ static int kimage_alloc_init(struct kimage **rimage, unsigned long entry,
> if (ret)
> goto out_free_image;
>
> - ret = sanity_check_segment_list(image);
> - if (ret)
> - goto out_free_image;
> -
> - /* Enable the special crash kernel control page allocation policy. */
> if (kexec_on_panic) {
> + /* Enable special crash kernel control page alloc policy. */
> image->control_page = crashk_res.start;
> image->type = KEXEC_TYPE_CRASH;
> }

Good catch. This is hard to be found because kexec-tools user space
utility has make sure it's well located. It must be a code reviewing
finding. Ack it.

Acked-by: Baoquan He <bhe@xxxxxxxxxx>

Thanks
Baoquan

>
> + ret = sanity_check_segment_list(image);
> + if (ret)
> + goto out_free_image;
> +
> /*
> * Find a location for the control code buffer, and add it
> * the vector of segments so that it's pages will also be
> --
> 2.5.0
>
>
> _______________________________________________
> kexec mailing list
> kexec@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/kexec
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/