[PATCH 1/1] dl-load: add memory barrier before updating the next.
Florian Weimer
fweimer@redhat.com
Thu Mar 16 08:21:00 GMT 2017
On 03/16/2017 06:12 AM, Maninder Singh wrote:
> This patch adds memory barrier before updating the liblist next.
>
> Issue Fix: race condition between add_name_to_object & _dl_name_match_p.
> One threads calling dlopen which further calls add_name_to_object &
> other thread trying to resolve RTLD_LAZY symbols through _dl_runtime_resolve
> which further calls.
>
> _dl_name_match_p checks if libname->next is valid, then it assumes
> libname->next->name to be valid. Also add_name_to_object initialized name
> first and then sets valid next pointer.
>
> This patch avoids any reorder of instruction when next is set before name
> to avoid any race.
Would you please file a bug for this? We'd also want to write a test
case for this.
Unfortunately, I cannot comment on the substance of the patch.
Thanks,
Florian
More information about the Libc-alpha
mailing list