Re: [PATCH] usercopy: delete __noreturn from usercopy_abort

From: Jann Horn
Date: Mon Mar 04 2024 - 10:17:07 EST


On Mon, Mar 4, 2024 at 3:02 AM Jiangfeng Xiao <xiaojiangfeng@huaweicom> wrote:
> When the last instruction of a noreturn function is a call
> to another function, the return address falls outside
> of the function boundary. This seems to cause kernel
> to interrupt the backtrace.
[...]
> Delete __noreturn from usercopy_abort,

This sounds like the actual bug is in the backtracing logic? I don't
think removing __noreturn annotations from an individual function is a
good fix, since the same thing can happen with other __noreturn
functions depending on what choices the compiler makes.