dhcpcd-discuss

Re: 8.1.9 - double free, resolvconf

Matěj Grégr

Fri May 01 16:13:10 2020

On 01.05.2020 15:43, Roy Marples wrote:
> On 01/05/2020 14:15, Matěj Grégr wrote:
>> Hello Roy,
>>
>> On 01.05.2020 15:02, Roy Marples wrote:
>>>> bond0: executing `/usr/libexec/dhcpcd-run-hooks' BOUND
>>>> Failed to get global data: Unit dbus-org.freedesktop.resolve1.service
>>>> not found.
>>>> free(): double free detected in tcache 2
>>>> /usr/libexec/dhcpcd-hooks/20-resolv.conf: line 98: 14542 Done
>>>>           printf %s "$conf"
>>>>        14543 Aborted                 (core dumped) | "$resolvconf" -a
>>>> "$ifname"
>>>> forking to background
>>>> forked to background, child pid 14552
>>>>
>>>> The address is configured properly but addresses of resolvers are not
>>>> written to resolv.conf. Any idea how to fix this?
>>>
>>> Install openresolv, which I do maintain and support.
>>> I do not support the resolvconf implementation by systemd.
>>>
>>
>> Openresolv is not available in centos repos, but I can create a package
>> and add it to our repo, that is probably not a problem.
>> However, it's strange I don't see the same issue in centos7 with older
>> dhcpcd (8.0.2) where openresolver is also not installed, but resolvers
>> are set properly in /etc/resolv.conf.
> 
> Why do you think it's a dhcpcd problem in anyway or form?
> Edit /usr/libexec/dhcpcd-hooks/20-resolv.conf on line 98, so it looks
> like so:
> 
> printf %s "$conf" > /tmp/resolv.conf.from.dhcpcd
> printf %s "$conf" | "$resolvconf" -a "$ifname"
> 
> Restart dhcpcd.
> It should crash again, but it will write what it sent to resolvconf in
> /tmp/resolv.conf.from.dhcpcd. Please attach that file to a reply back.
> 

The problem is, that centos8 ships with systemd, that contains
resolvconf binary and the binary core-dumped when requested to set
resolv.conf with any simple config. The reason, why it works for me on
centos7 is that resolvconf binary is not present, thus the condition

'if type "$resolvconf"' in /usr/libexec/dhcpcd-hooks/20-resolv.conf
fails in centos7 and dhcpcd just rewrites resolv.conf with a proper
config. So its systemd bug.

Thanks for your help,
M.



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


References:
8.1.9 - double free, resolvconfMatěj Grégr
Re: 8.1.9 - double free, resolvconfRoy Marples
Re: 8.1.9 - double free, resolvconfMatěj Grégr
Re: 8.1.9 - double free, resolvconfRoy Marples
Archive administrator: postmaster@marples.name