[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZQMVz/wepyo9rlhE@gmail.com>
Date: Thu, 14 Sep 2023 16:16:47 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: "Huang, Kai" <kai.huang@...el.com>, lkp <lkp@...el.com>,
"kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"oe-kbuild-all@...ts.linux.dev" <oe-kbuild-all@...ts.linux.dev>,
"x86@...nel.org" <x86@...nel.org>,
"dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>
Subject: Re: [tip:x86/tdx 8/12] vmlinux.o: warning: objtool:
__tdx_hypercall+0x128: __tdx_hypercall_failed() is missing a __noreturn
annotation
* Peter Zijlstra <peterz@...radead.org> wrote:
> > It appears the __noreturn must be annotated to the function declaration
> > but not the function body. I'll send out the fix as soon as I confirm
> > the fix with LKP.
>
> FWIW, the reason being that...
>
> The point of noreturn is that the caller should know to stop generating
> code. For that the declaration needs the attribute, because call sites
> typically do not have access to the function definition in C.
BTW., arguably shouldn't the compiler generate a warning to begin with,
when it encounters a noreturn function definition whose prototype doesn't
have the attribute?
Thanks,
Ingo
Powered by blists - more mailing lists