Adhemerval Zanella
ba33937be2
elf: Fix DTV gap reuse logic (BZ #27135 )
...
This is updated version of the 572bd547d5
(reverted by 40ebfd016a
)
that fixes the _dl_next_tls_modid issues.
This issue with 572bd547d5
patch is the DTV entry will be only
update on dl_open_worker() with the update_tls_slotinfo() call after
all dependencies are being processed by _dl_map_object_deps(). However
_dl_map_object_deps() itself might call _dl_next_tls_modid(), and since
the _dl_tls_dtv_slotinfo_list::map is not yet set the entry will be
wrongly reused.
This patch fixes by renaming the _dl_next_tls_modid() function to
_dl_assign_tls_modid() and by passing the link_map so it can set
the slotinfo value so a subsequente _dl_next_tls_modid() call will
see the entry as allocated.
The intermediary value is cleared up on remove_slotinfo() for the case
a library fails to load with RTLD_NOW.
This patch fixes BZ #27135 .
Checked on x86_64-linux-gnu.
Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com >
2021-07-14 15:10:27 -03:00
..
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2018-02-07 10:10:32 -05:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-06-28 09:51:01 +02:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2020-02-18 15:12:25 +01:00
2020-02-18 15:12:25 +01:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-13 05:51:17 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-05-19 11:09:57 +02:00
2021-01-02 12:17:34 -08:00
2021-01-13 05:51:17 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2017-11-13 08:02:52 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2020-01-03 11:22:07 -03:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-13 05:51:17 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-06-15 10:42:11 -03:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2017-10-16 22:04:42 +00:00
2021-06-24 10:02:06 -03:00
2021-01-02 12:17:34 -08:00
2021-03-01 15:59:36 +01:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2016-12-26 10:08:41 +01:00
2021-03-26 13:37:18 -03:00
2021-01-02 12:17:34 -08:00
2021-01-13 05:51:17 -08:00
2021-07-14 15:10:27 -03:00
2021-04-21 19:49:50 +02:00
2021-04-21 19:49:51 +02:00
2021-01-02 12:17:34 -08:00
2021-03-26 11:03:06 +00:00
2021-01-02 12:17:34 -08:00
2021-03-25 12:33:02 +01:00
2021-01-02 12:17:34 -08:00
2021-05-13 21:28:17 +00:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2018-08-09 15:34:12 +00:00
2016-11-04 16:49:06 +00:00
2017-11-13 08:02:52 -08:00
2020-02-15 11:01:23 +01:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-07-09 06:39:30 -07:00
2021-07-09 06:39:30 -07:00
2021-01-02 12:17:34 -08:00
2018-12-05 18:15:43 -02:00
2017-02-25 10:40:48 -05:00
2021-01-02 12:17:34 -08:00
2021-03-11 14:26:36 +00:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2021-06-27 07:56:57 -07:00
2020-06-22 11:09:45 -03:00
2020-06-22 11:09:45 -03:00
2021-06-27 07:56:57 -07:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2019-07-10 16:52:50 -03:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-05-17 10:06:57 +02:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2020-07-07 14:10:58 -03:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-07-08 14:08:15 -03:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-19 09:55:47 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2020-10-09 17:02:07 -03:00
2019-02-25 13:19:19 +00:00
2019-01-03 18:38:08 -02:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-06-15 10:42:11 -03:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-05-24 07:42:12 -07:00
2017-03-07 20:52:04 +05:30
2021-03-01 15:58:01 +01:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-03-16 15:33:09 +01:00
2021-03-01 15:58:01 +01:00
2021-01-02 12:17:34 -08:00
2021-04-21 19:49:50 +02:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2021-01-02 12:17:34 -08:00
2020-10-09 17:02:06 -03:00