Title: [226868] branches/safari-605-branch/Source/WTF
- Revision
- 226868
- Author
- jmarc...@apple.com
- Date
- 2018-01-11 22:30:55 -0800 (Thu, 11 Jan 2018)
Log Message
Cherry-pick r226784. rdar://problem/36450746
Modified Paths
Diff
Modified: branches/safari-605-branch/Source/WTF/ChangeLog (226867 => 226868)
--- branches/safari-605-branch/Source/WTF/ChangeLog 2018-01-12 06:30:52 UTC (rev 226867)
+++ branches/safari-605-branch/Source/WTF/ChangeLog 2018-01-12 06:30:55 UTC (rev 226868)
@@ -1,3 +1,25 @@
+2018-01-11 Jason Marcell <jmarc...@apple.com>
+
+ Cherry-pick r226784. rdar://problem/36450746
+
+ 2018-01-11 Filip Pizlo <fpi...@apple.com>
+
+ Reserve a fast TLS key for GC TLC
+ https://bugs.webkit.org/show_bug.cgi?id=181539
+
+ Reviewed by Alexey Proskuryakov.
+
+ Who knew that thread-local caches would be a mitigation for timing attacks. Here's how it
+ works: if we have TLCs then we can "context switch" them when we "context switch" origins.
+ This allows us to put some minimal distance between objects from different origins, which
+ gives us the ability to allow small overflows when doing certain bounds checks without
+ creating a useful Spectre information leak.
+
+ So I think that means we have to implement thread-local caches (also known as thread-local
+ allocation buffers, but I prefer the TLC terminology).
+
+ * wtf/FastTLS.h:
+
2018-01-09 Jason Marcell <jmarc...@apple.com>
Cherry-pick r226530. rdar://problem/36392325
Modified: branches/safari-605-branch/Source/WTF/wtf/FastTLS.h (226867 => 226868)
--- branches/safari-605-branch/Source/WTF/wtf/FastTLS.h 2018-01-12 06:30:52 UTC (rev 226867)
+++ branches/safari-605-branch/Source/WTF/wtf/FastTLS.h 2018-01-12 06:30:55 UTC (rev 226868)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2017-2018 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -45,7 +45,8 @@
#define WTF_THREAD_DATA_KEY WTF_FAST_TLS_KEY0
#define WTF_WASM_CONTEXT_KEY WTF_FAST_TLS_KEY1
-#define WTF_TESTING_KEY WTF_FAST_TLS_KEY2
+#define WTF_TESTING_KEY WTF_WASM_CONTEXT_KEY // So far, this key is only used in places that don't do WebAssembly, so it's OK that they share the same key.
+#define WTF_GC_TLC_KEY WTF_FAST_TLS_KEY2
#if ENABLE(FAST_TLS_JIT)
inline unsigned fastTLSOffsetForKey(unsigned long slot)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes