This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Avoid concurrency problem in ldconfig (bug 23973)


* Christian Brauner:

> On Thu, Apr 18, 2019 at 02:01:55PM +0200, Florian Weimer 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.
>
> Just saw this fly by so sorry if I miss the the necessary context: If
> there doesn't need to be a file on disk what about using memfd_create()
> on kernels that support it?

The file needs to be on disk because it's used as part of the atomic
file replacement pattern.

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]