[PATCH 3/5] arm64: change the prototype of image probe function
Simon Horman
horms at kernel.org
Fri May 5 08:42:04 PDT 2023
On Fri, May 05, 2023 at 10:54:35AM +0800, Pingfan Liu wrote:
> Changing the aarch64 probe's prototype from
> typedef int (probe_t)(const char *kernel_buf, off_t kernel_size);
> to
> typedef int (probe_t)(const char *kernel_buf, off_t kernel_size, struct kexec_info *info);
>
> Later, info can be used to return both the file descriptor and parsed kernel
> buffer. The fd is passed to sys_kexec_file_load, and the parsed kernel
> buffer is used by image's load function.
>
> Signed-off-by: Pingfan Liu <piliu at redhat.com>
Hi Pingfan,
I am seeing a build failure on ARM (32bit).
138 | int zImage_arm_probe(const char *UNUSED(buf), off_t UNUSED(len))
| ^~~~~~~~~~~~~~~~
In file included from ../../kexec/arch/arm/kexec-zImage-arm.c:21:
../../kexec/arch/arm/kexec-arm.h:12:5: note: previous declaration of ‘zImage_arm_probe’ was here
12 | int zImage_arm_probe(const char *buf, off_t len, struct kexec_info *info);
| ^~~~~~~~~~~~~~~~
make[1]: *** [Makefile:124: kexec/arch/arm/kexec-zImage-arm.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/runner/work/kexec-tools/kexec-tools/kexec-tools-2.0.26.git/_build/sub'
make: *** [Makefile:276: distcheck] Error 2
Error: Process completed with exit code 2.
Link: https://github.com/horms/kexec-tools/actions/runs/4895124719/jobs/8740272103
...
> diff --git a/kexec/kexec.h b/kexec/kexec.h
> index 0d820ad..6e8430e 100644
> --- a/kexec/kexec.h
> +++ b/kexec/kexec.h
> @@ -191,7 +191,13 @@ unsigned long locate_hole(struct kexec_info *info,
> unsigned long hole_min, unsigned long hole_max,
> int hole_end);
>
> +#ifndef __aarch64__
> typedef int (probe_t)(const char *kernel_buf, off_t kernel_size);
> +#else
> +typedef int (probe_t)(const char *kern_fname, off_t kernel_size,
> + struct kexec_info *info);
> +#endif
> +
This seems kind of unfortunate.
Could we update the prototype for all architectures?
More information about the kexec
mailing list