|
|
DescriptionEnsure Freed TLS Slots Contain nullptr on Reallocation
Code generally depends on TLS slots initialized to zero. This means
that code that gets a reused slot also depends on the reused slot
containing zero.
This CL introduces a versioning system to allow us to quickly determine
if a slot was previously freed.
Also added overview comments as a bonus.
BUG=590907
Committed: https://crrev.com/c90ffe2a6c10bb34c8eed5225f6d3e4d3be23acb
Cr-Commit-Position: refs/heads/master@{#423952}
Patch Set 1 #Patch Set 2 : Add Banner Doc #
Total comments: 3
Messages
Total messages: 34 (25 generated)
The CQ bit was checked by robliao@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by robliao@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
robliao@chromium.org changed reviewers: + brettw@chromium.org
Please review this CL. Thanks!
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
There's something about this system I'm not following that's making this not make sense to me. Since this is in your head, I wonder if you can put a conceptual overview of how our TLS system works at the top of the .cc file: how our system interacts with the OS one, which structure are per-thread and which structures are global. Then I can read that and hopefully be able to tell that this is correct :) I think my confusion is around how the version interacts with the global and per-thread data.
On 2016/10/03 20:05:16, brettw (ping on IM after 24h) wrote: > There's something about this system I'm not following that's making this not > make sense to me. Since this is in your head, I wonder if you can put a > conceptual overview of how our TLS system works at the top of the .cc file: how > our system interacts with the OS one, which structure are per-thread and which > structures are global. Then I can read that and hopefully be able to tell that > this is correct :) > > I think my confusion is around how the version interacts with the global and > per-thread data. Done!
Description was changed from ========== Ensure Freed TLS Slots Contain nullptr on Reallocation Code generally depends on TLS slots initialized to zero. This means that code that gets a reused slot also depends on the reused slot containing zero. This CL introduces a versioning system to allow us to quickly determine if a slot was previously freed. BUG=590907 ========== to ========== Ensure Freed TLS Slots Contain nullptr on Reallocation Code generally depends on TLS slots initialized to zero. This means that code that gets a reused slot also depends on the reused slot containing zero. This CL introduces a versioning system to allow us to quickly determine if a slot was previously freed. Also added overview comments as a bonus. BUG=590907 ==========
The CQ bit was checked by robliao@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
lgtm https://codereview.chromium.org/2383833004/diff/20001/base/threading/thread_l... File base/threading/thread_local_storage.cc (right): https://codereview.chromium.org/2383833004/diff/20001/base/threading/thread_l... base/threading/thread_local_storage.cc:15: // Chrome Thread Local Storage (TLS) This comment is awesome! Thanks.
https://codereview.chromium.org/2383833004/diff/20001/base/threading/thread_l... File base/threading/thread_local_storage.cc (right): https://codereview.chromium.org/2383833004/diff/20001/base/threading/thread_l... base/threading/thread_local_storage.cc:15: // Chrome Thread Local Storage (TLS) On 2016/10/04 03:33:57, brettw (ping on IM after 24h) wrote: > This comment is awesome! Thanks. Thanks. Now I just need to figure out why this fails on MacOS 10.9 and not MacOS 10.11
The CQ bit was checked by robliao@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
https://codereview.chromium.org/2383833004/diff/20001/base/threading/thread_l... File base/threading/thread_local_storage.cc (right): https://codereview.chromium.org/2383833004/diff/20001/base/threading/thread_l... base/threading/thread_local_storage.cc:15: // Chrome Thread Local Storage (TLS) On 2016/10/04 19:19:52, robliao wrote: > On 2016/10/04 03:33:57, brettw (ping on IM after 24h) wrote: > > This comment is awesome! Thanks. > > Thanks. Now I just need to figure out why this fails on MacOS 10.9 and not MacOS > 10.11 With the help of https://codereview.chromium.org/2395303002/ this should be able to land.
The CQ bit was checked by robliao@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by robliao@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Ensure Freed TLS Slots Contain nullptr on Reallocation Code generally depends on TLS slots initialized to zero. This means that code that gets a reused slot also depends on the reused slot containing zero. This CL introduces a versioning system to allow us to quickly determine if a slot was previously freed. Also added overview comments as a bonus. BUG=590907 ========== to ========== Ensure Freed TLS Slots Contain nullptr on Reallocation Code generally depends on TLS slots initialized to zero. This means that code that gets a reused slot also depends on the reused slot containing zero. This CL introduces a versioning system to allow us to quickly determine if a slot was previously freed. Also added overview comments as a bonus. BUG=590907 ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001)
Message was sent while issue was closed.
Description was changed from ========== Ensure Freed TLS Slots Contain nullptr on Reallocation Code generally depends on TLS slots initialized to zero. This means that code that gets a reused slot also depends on the reused slot containing zero. This CL introduces a versioning system to allow us to quickly determine if a slot was previously freed. Also added overview comments as a bonus. BUG=590907 ========== to ========== Ensure Freed TLS Slots Contain nullptr on Reallocation Code generally depends on TLS slots initialized to zero. This means that code that gets a reused slot also depends on the reused slot containing zero. This CL introduces a versioning system to allow us to quickly determine if a slot was previously freed. Also added overview comments as a bonus. BUG=590907 Committed: https://crrev.com/c90ffe2a6c10bb34c8eed5225f6d3e4d3be23acb Cr-Commit-Position: refs/heads/master@{#423952} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/c90ffe2a6c10bb34c8eed5225f6d3e4d3be23acb Cr-Commit-Position: refs/heads/master@{#423952} |