2020-06-09 11:01:49

by Satheesh Rajendran

[permalink] [raw]
Subject: [PATCH] powerpc/pseries/svm: Remove unwanted check for shared_lppaca_size

Early secure guest boot hits the below crash while booting with
vcpus numbers aligned with page boundary for PAGE size of 64k
and LPPACA size of 1k i.e 64, 128 etc, due to the BUG_ON assert
for shared_lppaca_total_size equal to shared_lppaca_size,

[ 0.000000] Partition configured for 64 cpus.
[ 0.000000] CPU maps initialized for 1 thread per core
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] kernel BUG at arch/powerpc/kernel/paca.c:89!
[ 0.000000] Oops: Exception in kernel mode, sig: 5 [#1]
[ 0.000000] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries

which is not necessary, let's remove it.

Cc: [email protected]
Cc: Thiago Jung Bauermann <[email protected]>
Cc: Ram Pai <[email protected]>
Cc: Sukadev Bhattiprolu <[email protected]>
Cc: Laurent Dufour <[email protected]>
Signed-off-by: Satheesh Rajendran <[email protected]>
---
arch/powerpc/kernel/paca.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index 949eceb25..10b7c54a7 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -86,7 +86,7 @@ static void *__init alloc_shared_lppaca(unsigned long size, unsigned long align,
* This is very early in boot, so no harm done if the kernel crashes at
* this point.
*/
- BUG_ON(shared_lppaca_size >= shared_lppaca_total_size);
+ BUG_ON(shared_lppaca_size > shared_lppaca_total_size);

return ptr;
}
--
2.26.2


2020-06-09 12:52:22

by Laurent Dufour

[permalink] [raw]
Subject: Re: [PATCH] powerpc/pseries/svm: Remove unwanted check for shared_lppaca_size

Le 09/06/2020 à 12:57, Satheesh Rajendran a écrit :
> Early secure guest boot hits the below crash while booting with
> vcpus numbers aligned with page boundary for PAGE size of 64k
> and LPPACA size of 1k i.e 64, 128 etc, due to the BUG_ON assert
> for shared_lppaca_total_size equal to shared_lppaca_size,
>
> [ 0.000000] Partition configured for 64 cpus.
> [ 0.000000] CPU maps initialized for 1 thread per core
> [ 0.000000] ------------[ cut here ]------------
> [ 0.000000] kernel BUG at arch/powerpc/kernel/paca.c:89!
> [ 0.000000] Oops: Exception in kernel mode, sig: 5 [#1]
> [ 0.000000] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
>
> which is not necessary, let's remove it.
>

Reviewed-by: Laurent Dufour <[email protected]>

> Cc: [email protected]
> Cc: Thiago Jung Bauermann <[email protected]>
> Cc: Ram Pai <[email protected]>
> Cc: Sukadev Bhattiprolu <[email protected]>
> Cc: Laurent Dufour <[email protected]>
> Signed-off-by: Satheesh Rajendran <[email protected]>
> ---
> arch/powerpc/kernel/paca.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
> index 949eceb25..10b7c54a7 100644
> --- a/arch/powerpc/kernel/paca.c
> +++ b/arch/powerpc/kernel/paca.c
> @@ -86,7 +86,7 @@ static void *__init alloc_shared_lppaca(unsigned long size, unsigned long align,
> * This is very early in boot, so no harm done if the kernel crashes at
> * this point.
> */
> - BUG_ON(shared_lppaca_size >= shared_lppaca_total_size);
> + BUG_ON(shared_lppaca_size > shared_lppaca_total_size);
>
> return ptr;
> }
>

2020-06-10 04:18:09

by Thiago Jung Bauermann

[permalink] [raw]
Subject: Re: [PATCH] powerpc/pseries/svm: Remove unwanted check for shared_lppaca_size


Satheesh Rajendran <[email protected]> writes:

> Early secure guest boot hits the below crash while booting with
> vcpus numbers aligned with page boundary for PAGE size of 64k
> and LPPACA size of 1k i.e 64, 128 etc, due to the BUG_ON assert
> for shared_lppaca_total_size equal to shared_lppaca_size,
>
> [ 0.000000] Partition configured for 64 cpus.
> [ 0.000000] CPU maps initialized for 1 thread per core
> [ 0.000000] ------------[ cut here ]------------
> [ 0.000000] kernel BUG at arch/powerpc/kernel/paca.c:89!
> [ 0.000000] Oops: Exception in kernel mode, sig: 5 [#1]
> [ 0.000000] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
>
> which is not necessary, let's remove it.
>
> Cc: [email protected]
> Cc: Thiago Jung Bauermann <[email protected]>
> Cc: Ram Pai <[email protected]>
> Cc: Sukadev Bhattiprolu <[email protected]>
> Cc: Laurent Dufour <[email protected]>
> Signed-off-by: Satheesh Rajendran <[email protected]>
> ---
> arch/powerpc/kernel/paca.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Thanks for fixing this bug! I would only add:

Fixes: bd104e6db6f0 ("powerpc/pseries/svm: Use shared memory for LPPACA structures")

In any case:

Reviewed-by: Thiago Jung Bauermann <[email protected]>

--
Thiago Jung Bauermann
IBM Linux Technology Center