next: s390: arch/s390/kernel/machine_kexec.c:192:18: error: invalid use of undefined type 'struct kimage'

From: Naresh Kamboju
Date: Thu Jul 06 2023 - 08:06:33 EST


Following build regressions found on Linux next-20230706.

Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>

Regressions found on s390:

- build/gcc-8-tinyconfig
- build/clang-nightly-allnoconfig
- build/gcc-12-allnoconfig
- build/gcc-12-tinyconfig
- build/clang-nightly-tinyconfig
- build/clang-16-allnoconfig
- build/clang-16-tinyconfig
- build/gcc-8-allnoconfig

Build error:
====
arch/s390/kernel/machine_kexec.c:120:37: warning: 'struct kimage'
declared inside parameter list will not be visible outside of this
definition or declaration
120 | static bool kdump_csum_valid(struct kimage *image)
| ^~~~~~
arch/s390/kernel/machine_kexec.c:188:34: warning: 'struct kimage'
declared inside parameter list will not be visible outside of this
definition or declaration
188 | int machine_kexec_prepare(struct kimage *image)
| ^~~~~~
arch/s390/kernel/machine_kexec.c: In function 'machine_kexec_prepare':
arch/s390/kernel/machine_kexec.c:192:18: error: invalid use of
undefined type 'struct kimage'
192 | if (image->type == KEXEC_TYPE_CRASH)
| ^~
arch/s390/kernel/machine_kexec.c:192:28: error: 'KEXEC_TYPE_CRASH'
undeclared (first use in this function); did you mean
'KEXEC_ON_CRASH'?
192 | if (image->type == KEXEC_TYPE_CRASH)
| ^~~~~~~~~~~~~~~~
| KEXEC_ON_CRASH
arch/s390/kernel/machine_kexec.c:192:28: note: each undeclared
identifier is reported only once for each function it appears in
arch/s390/kernel/machine_kexec.c:196:18: error: invalid use of
undefined type 'struct kimage'
196 | if (image->type != KEXEC_TYPE_DEFAULT)
| ^~
arch/s390/kernel/machine_kexec.c:196:28: error: 'KEXEC_TYPE_DEFAULT'
undeclared (first use in this function); did you mean
'KEXEC_ARCH_DEFAULT'?
196 | if (image->type != KEXEC_TYPE_DEFAULT)
| ^~~~~~~~~~~~~~~~~~
| KEXEC_ARCH_DEFAULT
In file included from arch/s390/include/asm/thread_info.h:31,
from include/linux/thread_info.h:60,
from arch/s390/include/asm/preempt.h:6,
from include/linux/preempt.h:79,
from arch/s390/include/asm/percpu.h:5,
from include/linux/irqflags.h:18,
from include/linux/rcupdate.h:26,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from arch/s390/kernel/machine_kexec.c:9:
arch/s390/kernel/machine_kexec.c:200:48: error: invalid use of
undefined type 'struct kimage'
200 | reboot_code_buffer = page_to_virt(image->control_code_page);
| ^~


Links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230706/testrun/18173978/suite/build/test/gcc-12-tinyconfig/log
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230706/testrun/18173978/suite/build/test/gcc-12-tinyconfig/history/
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2SBB5EGvx1egXcvg0fwoJIyLbSK/


--
Linaro LKFT
https://lkft.linaro.org