buffer: disallow ArrayBuffer transfer on pooled buffer#61372
buffer: disallow ArrayBuffer transfer on pooled buffer#61372legendecas wants to merge 2 commits intonodejs:mainfrom
Conversation
|
Review requested:
|
I don't believe so – calling |
|
https://chromium-review.googlesource.com/c/v8/v8/+/7454288 would be required to have |
cd3d626 to
749c2fc
Compare
|
|
||
| // This would better be placed in internal/worker/io.js, but that doesn't work | ||
| // because Buffer needs this and that would introduce a cyclic dependency. | ||
| function markAsUntransferable(obj) { |
There was a problem hiding this comment.
This is a public method on the worker_threads module, I'd suggest adding a documentation update there (and I'd say this doesn't count as a breaking change, since it is very much in line with the intent of this method)
749c2fc to
70fcbd5
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #61372 +/- ##
==========================================
- Coverage 89.85% 89.84% -0.01%
==========================================
Files 671 671
Lines 203309 203341 +32
Branches 39085 39102 +17
==========================================
+ Hits 182677 182690 +13
- Misses 12972 12994 +22
+ Partials 7660 7657 -3
🚀 New features to boost your workflow:
|
|
It looks like quic tests are failing because it tries to detach certs buffer, which is read with Submitting a separate PR to address it: #61403 |
The certs could be allocated in a pooled buffer, like `Buffer.from`, and `Buffer.allocUnsafe` (used by `fs.readFileSync`, etc). PR-URL: #61403 Refs: #61372 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Original commit message:
[builtins] disallow ArrayBuffer transfer with a detach key
This allows embedder to disallow `ArrayBuffer.prototype.transfer()` on
an arraybuffer that is not detachable. This also fix the check on
`ArrayBufferCopyAndDetach` step 8 of `ArrayBuffer.prototype.transfer`.
Refs: nodejs#61362
Refs: https://tc39.es/ecma262/#sec-arraybuffercopyanddetach
Change-Id: I3c6e156a8fad007fd100218d8b16aed5c4e1db68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7454288
Commit-Queue: Chengzhong Wu <[email protected]>
Reviewed-by: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104697}
Refs: v8/v8@c5ff7c4
fa99c0d to
a7d8f6a
Compare
a7d8f6a to
513d284
Compare
The certs could be allocated in a pooled buffer, like `Buffer.from`, and `Buffer.allocUnsafe` (used by `fs.readFileSync`, etc). PR-URL: #61403 Refs: #61372 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
The certs could be allocated in a pooled buffer, like `Buffer.from`, and `Buffer.allocUnsafe` (used by `fs.readFileSync`, etc). PR-URL: nodejs#61403 Refs: nodejs#61372 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
|
Landed in a9dd48f...6cc2ed5 |
Original commit message:
[builtins] disallow ArrayBuffer transfer with a detach key
This allows embedder to disallow `ArrayBuffer.prototype.transfer()` on
an arraybuffer that is not detachable. This also fix the check on
`ArrayBufferCopyAndDetach` step 8 of `ArrayBuffer.prototype.transfer`.
Refs: #61362
Refs: https://tc39.es/ecma262/#sec-arraybuffercopyanddetach
Change-Id: I3c6e156a8fad007fd100218d8b16aed5c4e1db68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7454288
Commit-Queue: Chengzhong Wu <[email protected]>
Reviewed-by: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104697}
Refs: v8/v8@c5ff7c4
PR-URL: #61372
Fixes: #61362
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: René <[email protected]>
PR-URL: #61372 Fixes: #61362 Refs: v8/v8@c5ff7c4 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: René <[email protected]>
Original commit message:
[builtins] disallow ArrayBuffer transfer with a detach key
This allows embedder to disallow `ArrayBuffer.prototype.transfer()` on
an arraybuffer that is not detachable. This also fix the check on
`ArrayBufferCopyAndDetach` step 8 of `ArrayBuffer.prototype.transfer`.
Refs: #61362
Refs: https://tc39.es/ecma262/#sec-arraybuffercopyanddetach
Change-Id: I3c6e156a8fad007fd100218d8b16aed5c4e1db68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7454288
Commit-Queue: Chengzhong Wu <[email protected]>
Reviewed-by: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104697}
Refs: v8/v8@c5ff7c4
PR-URL: #61372
Fixes: #61362
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: René <[email protected]>
PR-URL: #61372 Fixes: #61362 Refs: v8/v8@c5ff7c4 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: René <[email protected]>
Original commit message:
[builtins] disallow ArrayBuffer transfer with a detach key
This allows embedder to disallow `ArrayBuffer.prototype.transfer()` on
an arraybuffer that is not detachable. This also fix the check on
`ArrayBufferCopyAndDetach` step 8 of `ArrayBuffer.prototype.transfer`.
Refs: nodejs#61362
Refs: https://tc39.es/ecma262/#sec-arraybuffercopyanddetach
Change-Id: I3c6e156a8fad007fd100218d8b16aed5c4e1db68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7454288
Commit-Queue: Chengzhong Wu <[email protected]>
Reviewed-by: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104697}
Refs: v8/v8@c5ff7c4
PR-URL: nodejs#61372
Fixes: nodejs#61362
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: René <[email protected]>
Original commit message:
[builtins] disallow ArrayBuffer transfer with a detach key
This allows embedder to disallow `ArrayBuffer.prototype.transfer()` on
an arraybuffer that is not detachable. This also fix the check on
`ArrayBufferCopyAndDetach` step 8 of `ArrayBuffer.prototype.transfer`.
Refs: nodejs#61362
Refs: https://tc39.es/ecma262/#sec-arraybuffercopyanddetach
Change-Id: I3c6e156a8fad007fd100218d8b16aed5c4e1db68
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7454288
Commit-Queue: Chengzhong Wu <[email protected]>
Reviewed-by: Olivier Flückiger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104697}
Refs: v8/v8@c5ff7c4
PR-URL: nodejs#61372
Fixes: nodejs#61362
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: René <[email protected]>
deps: V8: cherry-pick c5ff7c4d6cde
Original commit message:
Refs: v8/v8@c5ff7c4
buffer: disallow ArrayBuffer transfer on pooled buffer
This is an alternative solution that disallows transfer operation on buffer pool.
Depends on https://chromium-review.googlesource.com/c/v8/v8/+/7454288.
Fixes: #61362