Re: [RFC PATCH v1] powerpc: Enable KFENCE for PPC32

Alexander Potapenko
2021-03-02T10:01:15Z

> [ 14.998426] BUG: KFENCE: invalid read in finish_task_switch.isra.0+0x54/0x23c
> [ 14.998426]
> [ 15.007061] Invalid read at 0x(ptrval):
> [ 15.010906] finish_task_switch.isra.0+0x54/0x23c
> [ 15.015633] kunit_try_run_case+0x5c/0xd0
> [ 15.019682] kunit_generic_run_threadfn_adapter+0x24/0x30
> [ 15.025099] kthread+0x15c/0x174
> [ 15.028359] ret_from_kernel_thread+0x14/0x1c
> [ 15.032747]
> [ 15.034251] CPU: 0 PID: 111 Comm: kunit_try_catch Tainted: G B
> 5.12.0-rc1-s3k-dev-01534-g4f14ae75edf0-dirty #4674
> [ 15.045811] ==================================================================
> [ 15.053324] # test_invalid_access: EXPECTATION FAILED at mm/kfence/kfence_test.c:636
> [ 15.053324] Expected report_matches(&expect) to be true, but is false
> [ 15.068359] not ok 21 - test_invalid_access

The test expects the function name to be test_invalid_access, i. e.
the first line should be "BUG: KFENCE: invalid read in
test_invalid_access".
The error reporting function unwinds the stack, skips a couple of
"uninteresting" frames
(https://elixir.bootlin.com/linux/v5.12-rc1/source/mm/kfence/report.c#L43)
and uses the first "interesting" one frame to print the report header
(https://elixir.bootlin.com/linux/v5.12-rc1/source/mm/kfence/report.c#L226).

It's strange that test_invalid_access is missing altogether from the
stack trace - is that expected?
Can you try printing the whole stacktrace without skipping any frames
to see if that function is there?