Re: x86/smpboot: Question regarding native_play_dead() __noreturn warning
From: Thorsten Blum
Date: Mon Oct 27 2025 - 12:23:24 EST
On 27. Oct 2025, at 16:48, Waiman Long wrote:
> On 10/27/25 8:50 AM, Peter Zijlstra wrote:
>> On Mon, Oct 27, 2025 at 01:23:02PM +0100, Thorsten Blum wrote:
>>> [...]
>> I'm not sure either, it wasn't there in v2 but appeared in v3.
>>
>> v2: 20230620140625.1001886-3-longman@xxxxxxxxxx
>> v3: 20230622003603.1188364-2-longman@xxxxxxxxxx
>>
>> The difference is that v2 tried to restore the msr after 'play_dead'
>> which is silly, since it would never reach that code. v3 removed that
>> dead restore code and added the confusing comment.
>>
>> There is a clue here though:
>>
>> 20230622054053.uy577qezu5a65buc@treble
>>
>> Josh suggests play_dead() should be marked noreturn (which it is in
>> current kernels).
>>
>> Waiman then replies:
>>
>> 921e1b98-af36-1f51-5abe-dea36425b706@xxxxxxxxxx
>>
>> which is utterly confused again.
>
> I don't remember exactly how I got the warning when __noreturn is added to native_play_dead(). It may be a limitation of the objtool or gcc that I was using at that time. If Thorsten doesn't have problem adding __noreturn, I won't mind him doing that and taking out the the comment. We can see if there is other issue coming up in the future.
Thanks for the quick replies!
I submitted the patch adding __noreturn here:
https://lore.kernel.org/lkml/20251027155107.183136-1-thorsten.blum@xxxxxxxxx/