diff mbox series

arm: make kexec depend on MMU

Message ID 5b595d37283f043df78259221f2b7d18e0cb0ce5.1580942558.git.stefan@agner.ch (mailing list archive)
State New, archived
Headers show
Series arm: make kexec depend on MMU | expand

Commit Message

Stefan Agner Feb. 5, 2020, 10:43 p.m. UTC
From: Michal Hocko <mhocko@suse.com>

arm nommu config with KEXEC enabled doesn't compile
arch/arm/kernel/setup.c: In function 'reserve_crashkernel':
arch/arm/kernel/setup.c:1005:25: error: 'SECTION_SIZE' undeclared (first
use in this function)
             crash_size, SECTION_SIZE);

since 61603016e212 ("ARM: kexec: fix crashkernel= handling") which is
over one year without anybody noticing. I have only noticed beause of
my testing nommu config which somehow gained CONFIG_KEXEC without
an intention. This suggests that nobody is actually using KEXEC
on nommu ARM configs. It is even a question whether kexec works with
nommu.

Make KEXEC depend on MMU to make this clear. If somebody wants to enable
there will be probably more things to take care.

Signed-off-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 arch/arm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Russell King (Oracle) Feb. 5, 2020, 11:53 p.m. UTC | #1
Does patch 8951/1, which has been merged into mainline, not fix this?

On Wed, Feb 05, 2020 at 11:43:44PM +0100, Stefan Agner wrote:
> From: Michal Hocko <mhocko@suse.com>
> 
> arm nommu config with KEXEC enabled doesn't compile
> arch/arm/kernel/setup.c: In function 'reserve_crashkernel':
> arch/arm/kernel/setup.c:1005:25: error: 'SECTION_SIZE' undeclared (first
> use in this function)
>              crash_size, SECTION_SIZE);
> 
> since 61603016e212 ("ARM: kexec: fix crashkernel= handling") which is
> over one year without anybody noticing. I have only noticed beause of
> my testing nommu config which somehow gained CONFIG_KEXEC without
> an intention. This suggests that nobody is actually using KEXEC
> on nommu ARM configs. It is even a question whether kexec works with
> nommu.
> 
> Make KEXEC depend on MMU to make this clear. If somebody wants to enable
> there will be probably more things to take care.
> 
> Signed-off-by: Michal Hocko <mhocko@suse.com>
> Reviewed-by: Stefan Agner <stefan@agner.ch>
> Signed-off-by: Stefan Agner <stefan@agner.ch>
> ---
>  arch/arm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 96dab76da3b3..59ce8943151f 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1906,6 +1906,7 @@ config KEXEC
>  	bool "Kexec system call (EXPERIMENTAL)"
>  	depends on (!SMP || PM_SLEEP_SMP)
>  	depends on !CPU_V7M
> +	depends on MMU
>  	select KEXEC_CORE
>  	help
>  	  kexec is a system call that implements the ability to shutdown your
> -- 
> 2.25.0
> 
>
Stefan Agner Feb. 6, 2020, 12:10 a.m. UTC | #2
On 2020-02-06 00:53, Russell King - ARM Linux admin wrote:
> Does patch 8951/1, which has been merged into mainline, not fix this?

Yes, that should take care of it. 

I discussed end of last year with Michal about this, and back then that
patch wasn't around. Should have checked master before re-sending this
patch. Sorry for the noise.

--
Stefan


> On Wed, Feb 05, 2020 at 11:43:44PM +0100, Stefan Agner wrote:
>> From: Michal Hocko <mhocko@suse.com>
>>
>> arm nommu config with KEXEC enabled doesn't compile
>> arch/arm/kernel/setup.c: In function 'reserve_crashkernel':
>> arch/arm/kernel/setup.c:1005:25: error: 'SECTION_SIZE' undeclared (first
>> use in this function)
>>              crash_size, SECTION_SIZE);
>>
>> since 61603016e212 ("ARM: kexec: fix crashkernel= handling") which is
>> over one year without anybody noticing. I have only noticed beause of
>> my testing nommu config which somehow gained CONFIG_KEXEC without
>> an intention. This suggests that nobody is actually using KEXEC
>> on nommu ARM configs. It is even a question whether kexec works with
>> nommu.
>>
>> Make KEXEC depend on MMU to make this clear. If somebody wants to enable
>> there will be probably more things to take care.
>>
>> Signed-off-by: Michal Hocko <mhocko@suse.com>
>> Reviewed-by: Stefan Agner <stefan@agner.ch>
>> Signed-off-by: Stefan Agner <stefan@agner.ch>
>> ---
>>  arch/arm/Kconfig | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index 96dab76da3b3..59ce8943151f 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -1906,6 +1906,7 @@ config KEXEC
>>  	bool "Kexec system call (EXPERIMENTAL)"
>>  	depends on (!SMP || PM_SLEEP_SMP)
>>  	depends on !CPU_V7M
>> +	depends on MMU
>>  	select KEXEC_CORE
>>  	help
>>  	  kexec is a system call that implements the ability to shutdown your
>> --
>> 2.25.0
>>
>>
Vladimir Murzin Feb. 6, 2020, 10 a.m. UTC | #3
On 2/5/20 10:43 PM, Stefan Agner wrote:
> From: Michal Hocko <mhocko@suse.com>
> 
> arm nommu config with KEXEC enabled doesn't compile
> arch/arm/kernel/setup.c: In function 'reserve_crashkernel':
> arch/arm/kernel/setup.c:1005:25: error: 'SECTION_SIZE' undeclared (first
> use in this function)
>              crash_size, SECTION_SIZE);
> 
> since 61603016e212 ("ARM: kexec: fix crashkernel= handling") which is
> over one year without anybody noticing. I have only noticed beause of
> my testing nommu config which somehow gained CONFIG_KEXEC without
> an intention. This suggests that nobody is actually using KEXEC
> on nommu ARM configs. It is even a question whether kexec works with
> nommu.
> 
> Make KEXEC depend on MMU to make this clear. If somebody wants to enable
> there will be probably more things to take care.
> 
> Signed-off-by: Michal Hocko <mhocko@suse.com>
> Reviewed-by: Stefan Agner <stefan@agner.ch>
> Signed-off-by: Stefan Agner <stefan@agner.ch>
> ---
>  arch/arm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 96dab76da3b3..59ce8943151f 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1906,6 +1906,7 @@ config KEXEC
>  	bool "Kexec system call (EXPERIMENTAL)"
>  	depends on (!SMP || PM_SLEEP_SMP)
>  	depends on !CPU_V7M
> +	depends on MMU
>  	select KEXEC_CORE
>  	help
>  	  kexec is a system call that implements the ability to shutdown your
> 

Vincenzo sent similar patch [1] some time ago. I prefer his patch since CPU_V7M already imply !MMU.

[1] https://lore.kernel.org/linux-arm-kernel/20200110123125.51092-1-vincenzo.frascino@arm.com/T/

Cheers
Vladimir
diff mbox series

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 96dab76da3b3..59ce8943151f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1906,6 +1906,7 @@  config KEXEC
 	bool "Kexec system call (EXPERIMENTAL)"
 	depends on (!SMP || PM_SLEEP_SMP)
 	depends on !CPU_V7M
+	depends on MMU
 	select KEXEC_CORE
 	help
 	  kexec is a system call that implements the ability to shutdown your