Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: afc44e359ac3bae0506832f52a4b691f7d3c28cf
      
https://github.com/WebKit/WebKit/commit/afc44e359ac3bae0506832f52a4b691f7d3c28cf
  Author: Sosuke Suzuki <[email protected]>
  Date:   2026-05-07 (Thu, 07 May 2026)

  Changed paths:
    A JSTests/wasm/stress/memory64-atomic-notify-out-of-bounds.js
    M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp

  Log Message:
  -----------
  [JSC] IPInt slow path for `memory.atomic.notify` truncates the Memory64 
pointer and offset to 32 bits
https://bugs.webkit.org/show_bug.cgi?id=314260

Reviewed by Keith Miller.

The IPInt assembly pushes the i64 address operand and the 64-bit immediate
offset to the stack as full 64-bit values, but the C++ slow path reads them
back through the `.i32` member of the IPIntStackEntry union, dropping the
upper 32 bits. For Memory64, an out-of-bounds address such as 2^32 truncates
to 0 and the bounds check is fooled into accepting it.

Test: JSTests/wasm/stress/memory64-atomic-notify-out-of-bounds.js

* JSTests/wasm/stress/memory64-atomic-notify-out-of-bounds.js: Added.
* Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp:
(JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL):

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



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

Reply via email to