This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] Avoid concurrency problem in ldconfig (bug 23973)
On Apr 18 2019, Florian Weimer <email@example.com> wrote:
> * Andreas Schwab:
>> On Apr 18 2019, Florian Weimer <firstname.lastname@example.org> wrote:
>>> * Andreas Schwab:
>>>> Use a unique name for the temporary file when updating the ld.so cache, so
>>>> that two concurrent runs of ldconfig don't write to the same file.
>>>> * elf/cache.c (save_cache): Use unique temporary name.
>>>> (save_aux_cache): Likewise.
>>> The downside of this change is that if ldconfig is interrupted, the
>>> temporary file never goes away.
>>> Ideally, we would use O_TMPFILE if supported by the (file) system, but
>>> that can get quite involved.
>> That shortens the window, but won't close it, since we need a name to
>> pass to rename in any case.
> The difference is that with a fixed name, the next ldconfig run will use
> the same name and rename, cleaning up. With a random, unique name, that
> automatic cleanup is gone.
O_TMPFILE won't change that.
Andreas Schwab, SUSE Labs, email@example.com
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."