Re: [PATCH 1/1] arm64: Add initial set of stack unwinder self tests

From: Mark Brown
Date: Wed Jun 29 2022 - 11:59:13 EST


On Fri, Jun 24, 2022 at 05:10:00PM +0300, Ivan T. Ivanov wrote:
> Add kunit tests for obvious cases where stack unwind could be needed.
> Like these:
>
> * Unwind a separate task
> * Unwind starting from caller
> * Unwind from irq context
> * Unwind from kprobe handler called via ftrace
> * Unwind from ftrace handler
> * Unwind through kretprobed function
> * Unwind from kretprobe handler
>
> Tests are completely based on code used in s390 unwinder tests.
> Cases which where not relevant to aarch64 where removed and
> some places where adjusted to address aarch64 specifics.

I think this would be a bit easier to digest if it were a series which
builds things up with the test cases in individual patches, or at least
things like ftrace and kprobes split out a bit more, rather than every
single test all at once. I've got a few *very* superficial comments
below, I think the code is fine but there's several moving pieces to
check.

> +/*
> + * Calls test_arch_stack_walk() which is handy wrapper of aarch64 unwind
> + * functionality, and verifies that the result contains unwindme_func2
> + *followed by unwindme_func1.

Missing space.

> + ret = register_ftrace_function(fops);
> + if (!ret) {
> + ret = test_unwind_ftraced_func(u);
> + unregister_ftrace_function(fops);
> + } else {
> + kunit_err(current_test,
> + "failed to register ftrace handler (%d)\n", ret);
> + }

Shouldn't we return an error here?

Attachment: signature.asc
Description: PGP signature