Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
deps: V8: cherry-pick 91f0cd0
Original commit message:
[ubsan] Fix various ClusterFuzz-found issues
Fixing a few float and int overflows.
Drive-by fix: with --experimental-wasm-bigint, Number values
may not be used to initialize i64-typed globals. The existing
code for doing that relied on UB; since it's a spec violation
the fix is to throw instead.
No regression test for 933103 because it will OOM anyway.
No regression test for 932896 because it would be extremely slow.
Bug: chromium:927894, chromium:927996, chromium:930086, chromium:932679, chromium:932896, chromium:933103, chromium:933134
Change-Id: Iae1c1ff1038af4512a52d3e56b8c4b75f2233314
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495911
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60075}
Refs: v8/v8@91f0cd0
PR-URL: #26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>- Loading branch information
Showing
with
105 additions
and 25 deletions.
- +1 −1 common.gypi
- +5 −1 deps/v8/include/v8.h
- +6 −1 deps/v8/src/builtins/builtins-string.cc
- +8 −11 deps/v8/src/builtins/builtins-typed-array.cc
- +6 −3 deps/v8/src/compiler/representation-change.cc
- +1 −1 deps/v8/src/objects/bigint.cc
- +3 −0 deps/v8/src/objects/fixed-array-inl.h
- +19 −7 deps/v8/src/wasm/module-instantiate.cc
- +19 −0 deps/v8/test/mjsunit/regress/wasm/regress-ubsan.js
- +37 −0 deps/v8/test/mjsunit/ubsan-fuzzerbugs.js
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @@ -0,0 +1,19 @@ | ||
| // Copyright 2019 the V8 project authors. All rights reserved. | ||
| // Use of this source code is governed by a BSD-style license that can be | ||
| // found in the LICENSE file. | ||
|
|
||
| load('test/mjsunit/wasm/wasm-module-builder.js'); | ||
|
|
||
| // crbug.com/933134 | ||
| (function() { | ||
| var builder = new WasmModuleBuilder(); | ||
| builder.addImportedGlobal("mod", "i32", kWasmI32); | ||
| builder.addImportedGlobal("mod", "f32", kWasmF32); | ||
| var module = new WebAssembly.Module(builder.toBuffer()); | ||
| return new WebAssembly.Instance(module, { | ||
| mod: { | ||
| i32: 1e12, | ||
| f32: 1e300, | ||
| } | ||
| }); | ||
| })(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters