Re: [PATCH v4 26/39] unwind_user/sframe: Enable debugging in uaccess regions

Josh Poimboeuf
2025-02-04T19:34:00Z

On Thu, Jan 30, 2025 at 05:38:24PM +0100, Jens Remus wrote:
> Add a similar debug message for SFRame FDE user copy failures?
>
> diff --git a/kernel/unwind/sframe.c b/kernel/unwind/sframe.c
>
> @@ -125,6 +125,7 @@ static __always_inline int __find_fde(struct sframe_section *sec,
> return 0;
>
> Efault:
> + dbg_sec_uaccess("fde usercopy failed\n");
> return -EFAULT;
> }

Indeed.

> Printing the IP is probably not an option due to security concerns?
> Printing the the CFA, FP, and RA offsets is too much traffic? To debug
> issues on s390 I had to add tons of additional debug messages to make
> sense of what was actually going on.

I guess it depends on what you're trying to debug. These messages are
intended to help diagnose problems with the section format. It gets
unloaded if any of these errors are detected, so it helps to try to
communicate why that happened.

So yeah, they're intended to be very low traffic, only used for errors
where an .sframe section is getting unloaded (i.e., all the -EFAULTs).

Corrupt CFA/FP/RA offset values are harder to detect, that could also be
related to some other issue like stack corruption.

--
Josh