Re: powerpc: userspace processes crash on abort() from libc.so.6

Shivaprasad G Bhat <[email protected]>
Newsgroups gmane.linux.ports.ppc.embedded
Message-ID <d8edbbfc-4910-4c0b-b104-2fe51756ecc7__16809.9842894421$1787840211$gmane$org@linux.ibm.com>
Hi Shrikanth,


On 8/27/26 5:08 PM, Shrikanth Hegde wrote:
> Hi Shivaprasad.
> 
> On 8/27/26 11:13 AM, Shivaprasad G Bhat wrote:
>>
>> Hi All, Thomas,
>>
>> On my PPC64 machine, I see the below systemd crash orginating from 
>> abort() during boot on top of the tree. Complete dmesg can be seen 
>> here [1]
>>        abort (libc.so.6 + 0x29484)
>>        __libc_message_impl (libc.so.6 + 0x9e00c)
>>        __libc_fatal (libc.so.6 + 0x9e06c)
>>        start_thread (libc.so.6 + 0xadffc)
>>        __clone (libc.so.6 + 0x152d68)
>>        __clone (libc.so.6 + 0x152d68)
>>        create_thread.constprop.0 (libc.so.6 + 0xad9c8)
>>
>> The git bisect pointed me to commit 3424d8c18a7da "(Merge tag 'core- 
>> entry-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/ 
>> tip/tip)"
>>
>> Please find the kernel config used to build the kernel at [2].
>>
>> I have tried applying the pending fixes from Mukesh [3] and Ritesh [4] 
>> for the currently outstanding issues and still see the problem.
>>
>> The system is running Fedora 42, with glibc-2.41-7.fc42.ppc64le. The
>> complete list of toolchain and packages can be found here [5]
>>
>> Thanks and Regards,
>> Shivaprasad
>>
>> References:
>> 1 - https://gist.github.com/ 
>> shivaprasadbhat/6f166374bab12b4f4c1cd4ac829e562c
>> 2 - https://gist.github.com/shivaprasadbhat/ 
>> aa499468e124015eec5932fb13e88e05
>> 3 - https://lore.kernel.org/linuxppc-dev/ 
>> [email protected]/#t
>> 4 - https://lore.kernel.org/linuxppc-dev/20260820134718.2176411-1- 
>> [email protected]/
>> 5 - https://gist.github.com/shivaprasadbhat/ 
>> ae56ca849c3009e8642a6313dc465ea7
>>
>> =========
>> Backtrace from dmesg:
>> [   22.039343][ T1833] systemd-coredump[1833]: Module libsystemd- 
>> shared-257.6-1.fc42.so from rpm systemd-257.6-1.fc42.ppc64le
>> [   22.039378][ T1833] systemd-coredump[1833]: Stack trace of thread 
>> 1828:
>> [   22.039378][ T1833] systemd-coredump[1833]: Stack trace of thread 
>> 1828:
>> [   22.039401][ T1833] systemd-coredump[1833]: #0  0x00007fffa4c29484 
>> abort (libc.so.6 + 0x29484)
>> [   22.039401][ T1833] systemd-coredump[1833]: #0  0x00007fffa4c29484 
>> abort (libc.so.6 + 0x29484)
>> [   22.039429][ T1833] systemd-coredump[1833]: #1  0x00007fffa4c9e00c 
>> __libc_message_impl (libc.so.6 + 0x9e00c)
>> [   22.039429][ T1833] systemd-coredump[1833]: #1  0x00007fffa4c9e00c 
>> __libc_message_impl (libc.so.6 + 0x9e00c)
>> [   22.039461][ T1833] systemd-coredump[1833]: #2  0x00007fffa4c9e06c 
>> __libc_fatal (libc.so.6 + 0x9e06c)
>> [   22.039461][ T1833] systemd-coredump[1833]: #2  0x00007fffa4c9e06c 
>> __libc_fatal (libc.so.6 + 0x9e06c)
>> [   22.039491][ T1833] systemd-coredump[1833]: #3  0x00007fffa4cadffc 
>> start_thread (libc.so.6 + 0xadffc)
>> [   22.039491][ T1833] systemd-coredump[1833]: #3  0x00007fffa4cadffc 
>> start_thread (libc.so.6 + 0xadffc)
>> [   22.039521][ T1833] systemd-coredump[1833]: #4  0x00007fffa4d52d68 
>> __clone (libc.so.6 + 0x152d68)
>> [   22.039521][ T1833] systemd-coredump[1833]: #4  0x00007fffa4d52d68 
>> __clone (libc.so.6 + 0x152d68)
>> [   22.039551][ T1833] systemd-coredump[1833]: #5  0x00007fffa4d52d68 
>> __clone (libc.so.6 + 0x152d68)
>> [   22.039551][ T1833] systemd-coredump[1833]: #5  0x00007fffa4d52d68 
>> __clone (libc.so.6 + 0x152d68)
>> [   22.039580][ T1833] systemd-coredump[1833]: #6  0x00007fffa4cad9c8 
>> create_thread.constprop.0 (libc.so.6 + 0xad9c8)
>> [   22.039580][ T1833] systemd-coredump[1833]: #6  0x00007fffa4cad9c8 
>> create_thread.constprop.0 (libc.so.6 + 0xad9c8)
>> [   22.039614][ T1833] systemd-coredump[1833]: #7  0x00000000003af858 
>> n/a (n/a + 0x0)
>> [   22.039614][ T1833] systemd-coredump[1833]: #7  0x00000000003af858 
>> n/a (n/a + 0x0)
>> [   22.039639][ T1833] systemd-coredump[1833]: ELF object binary 
>> architecture: PowerPC64
>> [   22.039639][ T1833] systemd-coredump[1833]: ELF object binary 
>> architecture: PowerPC64
>> [   22.042109][    T1] systemd[1]: systemd-journald.service: Scheduled 
>> restart job, restart counter is at 1.
> 
> I was looking at merge patch and It is possible that TIF_SYSCALL_RET is 
> still set when it is returned
> and maybe causing a mismatch.
> 
> Does below help?
> ---
> 
> --- a/arch/powerpc/kernel/syscall.c
> +++ b/arch/powerpc/kernel/syscall.c
> @@ -19,8 +19,10 @@ notrace long system_call_exception(struct pt_regs 
> *regs, unsigned long r0)
>       long ret;
>       syscall_fn f;
> 
> -    if (unlikely(!syscall_enter_from_user_mode_randomize_stack(regs, 
> &r0)))
> +    if (unlikely(!syscall_enter_from_user_mode_randomize_stack(regs, 
> &r0))) {
> +        clear_thread_flag(TIF_SYSCALL_RET);

Yes. This worked.

Thanks,
Shivaprasad>           return syscall_get_error(current, regs);
> +    }
> 
>       if (unlikely(test_and_clear_thread_flag(TIF_SYSCALL_RET)))
>           return syscall_get_error(current, regs);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.