Re: [PATCH] parisc: Fix code/instruction patching on PA1.x machines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dave,

On 11/4/21 22:16, John David Anglin wrote:
> On 2021-11-04 4:48 p.m., Helge Deller wrote:
>> Here is the syslog with your patch on the 715/64:
>> ...
>> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
>> mem auto-init: stack:off, heap alloc:off, heap free:off
>> Memory: 148832K/163840K available (8452K kernel code, 1461K rwdata, 2379K rodata, 696K init, 444K bss, 15008K reserved, 0K cma-reserved)
>> ftrace: allocating 26912 entries in 53 pages
>> Backtrace:
>>   [<1097d588>] __patch_text+0x20/0x30
>>   [<101c5128>] ftrace_make_nop+0x3c/0x68
>>   [<102c98a8>] ftrace_process_locs.isra.0+0x208/0x2b0
>>   [<10113ba0>] ftrace_init+0xa8/0x154
>>   [<10101284>] start_kernel+0x3d0/0x708
>>   [<10105244>] start_parisc+0xb8/0xec
>>
>> Bad Address (null pointer deref?): Code=15 (Data TLB miss fault) at addr 0effe310
>> CPU: 0 PID: 0 Comm: swapper Not tainted 5.15.0-32bit+ #1017
>> Hardware name: 9000/715
>>
>>       YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
>> PSW: 00000000000011000000001100001110 Not tainted
>> r00-03  000c030e 10c7cda8 1097d474 10c67340
>> r04-07  10100314 00000000 10c672dc 10c7d328
>> r08-11  00000000 00000000 10cbe5a8 00000000
>> r12-15  10c75da8 10b2f800 10d7d5a8 00000001
>> r16-19  00000000 00000002 00000000 08000240
>> r20-23  10c67000 00000200 10100500 00000020
>> r24-27  0efff000 0efff000 0effe310 10b915a8
>> r28-31  0effe310 00000000 10c673c0 10279a68
>> sr00-03  00000000 00000000 00000000 00000000
>> sr04-07  00000000 00000000 00000000 00000000
>>
>> IASQ: 00000000 00000000 IAOQ: 1097d4e4 1097d480
>>   IIR: 0f9312a8    ISR: 00000000  IOR: 0effe310
>>   CPU:        0   CR30: 10c67000 CR31: f00effff
>>   ORIG_R28: 00000000
>>   IAOQ[0]: __patch_text_multiple+0xdc/0x12c
>>   IAOQ[1]: __patch_text_multiple+0x78/0x12c
>>   RP(r2): __patch_text_multiple+0x6c/0x12c
>> Backtrace:
>>   [<1097d588>] __patch_text+0x20/0x30
>>   [<101c5128>] ftrace_make_nop+0x3c/0x68
>>   [<102c98a8>] ftrace_process_locs.isra.0+0x208/0x2b0
>>   [<10113ba0>] ftrace_init+0xa8/0x154
>>   [<10101284>] start_kernel+0x3d0/0x708
>>   [<10105244>] start_parisc+0xb8/0xec
>> Kernel panic - not syncing: Bad Address (null pointer deref?)
> The faulting instruction is "stw,ma r19,4(ret0)".  r19 contains nop instruction.  r28
> contains the address being patched.  Where does it (0x0effe310) point in kernel?
>
> It seems likely to me that TLB handler is broken and that's the reason for the bad address fault.
> But maybe there's a map problem.

Right, there is a map problem!
Please ignore this last backtrace I sent.
I missed to include my previous patch to fix the TLB issue, aka this patch:
 https://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git/commit/?h=parisc-5.16-1&id=6e866a462867b60841202e900f10936a0478608c
So, this backtrace is bogus...

With my patch (and yours) applied now it comes further.
Maybe there is generic ftrace/kprobe problem in kernel v5.15 into which I run?
I'll continue testing on git head from Linus and report back soon...

Helge




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux