Re: [PATCH v3 00/10] powerpc/pseries: New character devices for system parameters and VPD

2023-11-13 Thread Nathan Lynch
Michal Suchánek  writes:
> What's the status here?
>
> Can this move on with the 4th patch skipped, or is new revision
> expected?

I would like to get some feedback on the idea for coarse per-function
locking in patch #2 "Facilitate high-level call sequences" since that is
a core change to the RTAS subsystem and new in this revision. But I
intend to send a new version (without a boot bug) this week regardless.


Re: [PATCH v3 00/10] powerpc/pseries: New character devices for system parameters and VPD

2023-11-13 Thread Michal Suchánek
Hello,

On Thu, Oct 26, 2023 at 06:56:36PM -0500, Nathan Lynch wrote:
> Nathan Lynch via B4 Relay 
> writes:
> > I have made changes to librtas to prefer the new interfaces and
> > verified that existing clients work correctly with the new code.
> 
> Unfortunately I made a mistake in testing this time and introduced a
> boot-time oops:
> 
> BUG: Kernel NULL pointer dereference on read at 0x0018
> Faulting instruction address: 0xc004223c
> Oops: Kernel access of bad area, sig: 7 [#1]
> LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper Tainted: GW  6.6.0-rc2+ #129
> NIP:  c004223c LR: c0042238 CTR: 
> REGS: c2c579d0 TRAP: 0300   Tainted: GW   (6.6.0-rc2+)
> MSR:  80001033   CR: 28000284  XER: 
> CFAR: c0042008 DAR: 0018 DSISR: 0008 IRQMASK: 3 
> GPR00: c0042238 c2c57c70 c1f5eb00  
> GPR04: c294cd08 0002 c2c579b4  
> GPR08:  0002 c2c0da80  
> GPR12:  c5e4  02097728 
> GPR16:  0001 02097b80 020975b8 
> GPR20: 020976f0 020974e8 030feb00 030feb00 
> GPR24: 2008  0001 c28f3d70 
> GPR28: 02d31020 c2cac268 c2d31020  
> NIP [c004223c] do_enter_rtas+0xcc/0x460
> LR [c0042238] do_enter_rtas+0xc8/0x460
> Call Trace:
> [c2c57c70] [c0042238] do_enter_rtas+0xc8/0x460 (unreliable)
> [c2c57cc0] [c0042e34] rtas_call+0x434/0x490
> [c2c57d20] [c00fd584] papr_sysparm_get+0xe4/0x230
> [c2c57db0] [c20267d0] pSeries_probe+0x2f0/0x5fc
> [c2c57e80] [c200a318] setup_arch+0x11c/0x524
> [c2c57f10] [c200418c] start_kernel+0xcc/0xc1c
> [c2c57fe0] [c000e788] start_here_common+0x1c/0x20
> 
> This was introduced by patch #4 "powerpc/rtas: Warn if per-function lock
> isn't held": __do_enter_rtas() is now attempting token -> descriptor
> lookups unconditionally, before the xarray for that has been initialized.
> 
> With that change reverted, the series tests OK.

What's the status here?

Can this move on with the 4th patch skipped, or is new revision
expected?

Thanks

Michal


Re: [PATCH v3 00/10] powerpc/pseries: New character devices for system parameters and VPD

2023-10-26 Thread Nathan Lynch
Nathan Lynch via B4 Relay 
writes:
> I have made changes to librtas to prefer the new interfaces and
> verified that existing clients work correctly with the new code.

Unfortunately I made a mistake in testing this time and introduced a
boot-time oops:

BUG: Kernel NULL pointer dereference on read at 0x0018
Faulting instruction address: 0xc004223c
Oops: Kernel access of bad area, sig: 7 [#1]
LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Tainted: GW  6.6.0-rc2+ #129
NIP:  c004223c LR: c0042238 CTR: 
REGS: c2c579d0 TRAP: 0300   Tainted: GW   (6.6.0-rc2+)
MSR:  80001033   CR: 28000284  XER: 
CFAR: c0042008 DAR: 0018 DSISR: 0008 IRQMASK: 3 
GPR00: c0042238 c2c57c70 c1f5eb00  
GPR04: c294cd08 0002 c2c579b4  
GPR08:  0002 c2c0da80  
GPR12:  c5e4  02097728 
GPR16:  0001 02097b80 020975b8 
GPR20: 020976f0 020974e8 030feb00 030feb00 
GPR24: 2008  0001 c28f3d70 
GPR28: 02d31020 c2cac268 c2d31020  
NIP [c004223c] do_enter_rtas+0xcc/0x460
LR [c0042238] do_enter_rtas+0xc8/0x460
Call Trace:
[c2c57c70] [c0042238] do_enter_rtas+0xc8/0x460 (unreliable)
[c2c57cc0] [c0042e34] rtas_call+0x434/0x490
[c2c57d20] [c00fd584] papr_sysparm_get+0xe4/0x230
[c2c57db0] [c20267d0] pSeries_probe+0x2f0/0x5fc
[c2c57e80] [c200a318] setup_arch+0x11c/0x524
[c2c57f10] [c200418c] start_kernel+0xcc/0xc1c
[c2c57fe0] [c000e788] start_here_common+0x1c/0x20

This was introduced by patch #4 "powerpc/rtas: Warn if per-function lock
isn't held": __do_enter_rtas() is now attempting token -> descriptor
lookups unconditionally, before the xarray for that has been initialized.

With that change reverted, the series tests OK.