[webkit-changes] [WebKit/WebKit] cb7f34: OOB in JSC::StackVisitor::readFrame in webkit

Yusuke Suzuki noreply at github.com
Mon Aug 26 21:34:44 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb7f341491b77d31200bd7d273d7a89ae17a52fc
      https://github.com/WebKit/WebKit/commit/cb7f341491b77d31200bd7d273d7a89ae17a52fc
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A JSTests/wasm/stress/i31ref-wrong-size.js
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

  Log Message:
  -----------
  OOB in JSC::StackVisitor::readFrame in webkit
https://bugs.webkit.org/show_bug.cgi?id=278650
rdar://134700145

Reviewed by Keith Miller.

1. i31ref is actually JSValue. So it must be 8 bytes.
2. WasmBBQJIT is generating I64 for the result of I31GetU / I31GetS, that's wrong. It should be I32.

* JSTests/wasm/stress/i31ref-wrong-size.js: Added.
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::toB3Type):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::sizeOfType):
(JSC::Wasm::BBQJITImpl::BBQJIT::setGlobal):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetS):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetU):
* Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::sizeOfType):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetS):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetU):
(JSC::Wasm::BBQJITImpl::BBQJIT::addStructNew):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitStore):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitMoveMemory):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitLoad):

Canonical link: https://commits.webkit.org/282774@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list