svn commit: r225582 - head/libexec/rtld-elf
Sergey Kandaurov
pluknet at freebsd.org
Thu Sep 15 12:06:30 UTC 2011
On 15 September 2011 15:50, Konstantin Belousov <kib at freebsd.org> wrote:
> Author: kib
> Date: Thu Sep 15 11:50:09 2011
> New Revision: 225582
> URL: http://svn.freebsd.org/changeset/base/225582
>
> Log:
> Use the proper dynamic tls block to calculate the tls variable address
> in case tls data generation was updated.
>
> PR: misc/160721
> Submitted by: "Thinker K.F. Li" <thinker codemud net>
> Tested by: flo
> Approved by: re (bz)
> MFC after: 1 week
>
> Modified:
> head/libexec/rtld-elf/rtld.c
>
> Modified: head/libexec/rtld-elf/rtld.c
> ==============================================================================
> --- head/libexec/rtld-elf/rtld.c Thu Sep 15 11:17:07 2011 (r225581)
> +++ head/libexec/rtld-elf/rtld.c Thu Sep 15 11:50:09 2011 (r225582)
> @@ -3370,7 +3370,7 @@ tls_get_addr_common(Elf_Addr** dtvp, int
> newdtv[1] = tls_max_index;
> free(dtv);
> lock_release(rtld_bind_lock, &lockstate);
> - *dtvp = newdtv;
> + dtv = *dtvp = newdtv;
> }
>
> /* Dynamically allocate module TLS if necessary */
>
Thanks,
this patch fixes immediate /usr/bin/top SIGSEGV used with nss-pam-ldap auth
when built with -O2. Tested and patched on 8.1-R.
--
wbr,
pluknet
More information about the svn-src-head
mailing list