https://bugs.kde.org/show_bug.cgi?id=472219

--- Comment #2 from Paul Floyd <pjfl...@wanadoo.fr> ---
On libera.chat #musl I asked about this and on some architectures poll calls
SYS_ppoll

Debug trace:
$ valgrind -s --track-origins=yes --gen-suppressions=all ./a.out                
==7940== Memcheck, a memory error detector
==7940== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==7940== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==7940== Command: ./a.out
==7940== 
==7940== Warning: set address range perms: large range [0x48b1000, 0x14d0e000)
(defined)
==7940== Warning: set address range perms: large range [0x48c4000, 0x14d0e000)
(defined)
==7940== Warning: set address range perms: large range [0x48c6000, 0x14d0e000)
(defined)
==7940== Syscall param poll(ufds.events) points to uninitialised byte(s)
==7940==    at 0x4054F0A: ??? (syscall_cp.s:29)
==7940==    by 0x40520ED: __syscall_cp_c (pthread_cancel.c:33)
==7940==    by 0x4045BF9: poll (poll.c:9)
==7940==    by 0x403B012: __res_msend_rc (res_msend.c:197)
==7940==    by 0x40392FC: name_from_dns (lookup_name.c:171)
==7940==    by 0x4039A3C: name_from_dns_search (lookup_name.c:231)
==7940==    by 0x4039A3C: __lookup_name (lookup_name.c:334)
==7940==    by 0x4036EA8: getaddrinfo (getaddrinfo.c:94)
==7940==    by 0x1091F1: main (in /tmp/mytemp.apEOmk/a.out)
==7940==  Address 0x1ffeffe834 is on thread 1's stack
==7940==  in frame #3, created by __res_msend_rc (res_msend.c:82)
==7940==  Uninitialised value was created by a stack allocation
==7940==    at 0x403A9EA: __res_msend_rc (res_msend.c:82)
==7940== 
{
   <insert_a_suppression_name_here>
   Memcheck:Param
   poll(ufds.events)
   obj:/lib/ld-musl-x86_64.so.1
   fun:__syscall_cp_c
   fun:poll
   fun:__res_msend_rc
   fun:name_from_dns
   fun:name_from_dns_search
   fun:__lookup_name
   fun:getaddrinfo
   fun:main
}
==7940== 
==7940== HEAP SUMMARY:
==7940==     in use at exit: 0 bytes in 0 blocks
==7940==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==7940== 
==7940== All heap blocks were freed -- no leaks are possible
==7940== 
==7940== ERROR SUMMARY: 4 errors from 1 contexts (suppressed: 0 from 0)
==7940== 
==7940== 4 errors in context 1 of 1:
==7940== Syscall param poll(ufds.events) points to uninitialised byte(s)
==7940==    at 0x4054F0A: ??? (syscall_cp.s:29)
==7940==    by 0x40520ED: __syscall_cp_c (pthread_cancel.c:33)
==7940==    by 0x4045BF9: poll (poll.c:9)
==7940==    by 0x403B012: __res_msend_rc (res_msend.c:197)
==7940==    by 0x40392FC: name_from_dns (lookup_name.c:171)
==7940==    by 0x4039A3C: name_from_dns_search (lookup_name.c:231)
==7940==    by 0x4039A3C: __lookup_name (lookup_name.c:334)
==7940==    by 0x4036EA8: getaddrinfo (getaddrinfo.c:94)
==7940==    by 0x1091F1: main (in /tmp/mytemp.apEOmk/a.out)
==7940==  Address 0x1ffeffe834 is on thread 1's stack
==7940==  in frame #3, created by __res_msend_rc (res_msend.c:82)
==7940==  Uninitialised value was created by a stack allocation
==7940==    at 0x403A9EA: __res_msend_rc (res_msend.c:82)
==7940== 
{
   <insert_a_suppression_name_here>
   Memcheck:Param
   poll(ufds.events)
   obj:/lib/ld-musl-x86_64.so.1
   fun:__syscall_cp_c
   fun:poll
   fun:__res_msend_rc
   fun:name_from_dns
   fun:name_from_dns_search
   fun:__lookup_name
   fun:getaddrinfo
   fun:main
}
==7940== ERROR SUMMARY: 4 errors from 1 contexts (suppressed: 0 from 0)

The source code in question is probably here
https://elixir.bootlin.com/musl/v1.2.4/source/src/network/res_msend.c#L197

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to