diff --git a/RELEASES.md b/RELEASES.md index bc8e3e50a0ec..9cea2a14f20e 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,5 +1,22 @@ -------------------------------------------------------------------------------- +## 12.0.2 + +Released 2023-09-14. + +### Fixed + +* [CVE-2023-41880] - Miscompilation of wasm `i64x2.shr_s` instruction with + constant input on x86\_64 + +* Long chains of constant additions with optimizations disabled no longer stack + overflow on x86\_64. + [#6997](https://github.com/bytecodealliance/wasmtime/pull/6997) + +[CVE-2023-41880]: https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-gw5p-q8mj-p7gh + +-------------------------------------------------------------------------------- + ## 12.0.1 Released 2023-08-24 diff --git a/cranelift/codegen/src/isa/x64/lower.isle b/cranelift/codegen/src/isa/x64/lower.isle index 3c36f64c44ac..9e1443b2e87c 100644 --- a/cranelift/codegen/src/isa/x64/lower.isle +++ b/cranelift/codegen/src/isa/x64/lower.isle @@ -833,7 +833,7 @@ (high32 Xmm (x64_psrad vec (xmi_imm 31))) (high32 Xmm (x64_pshufd high32 0b11_10_11_01)) (low32 Xmm (x64_psrad vec (xmi_imm (u32_sub imm 32)))) - (low32 Xmm (x64_pshufd low32 0b11_10_10_01)) + (low32 Xmm (x64_pshufd low32 0b11_10_11_01)) ) (x64_punpckldq low32 high32))) diff --git a/cranelift/filetests/filetests/runtests/simd-sshr.clif b/cranelift/filetests/filetests/runtests/simd-sshr.clif index a5fc4782176e..080dad4fe4ac 100644 --- a/cranelift/filetests/filetests/runtests/simd-sshr.clif +++ b/cranelift/filetests/filetests/runtests/simd-sshr.clif @@ -119,4 +119,6 @@ block0(v0: i64x2): ; run: %i64x2_sshr_const3([0x10000000000 0]) == [1 0] ; run: %i64x2_sshr_const3([-1 -1]) == [-1 -1] ; run: %i64x2_sshr_const3([0x8000000080000000 0x8000000080000000]) == [0xffffffffff800000 0xffffffffff800000] +; run: %i64x2_sshr_const3([0x2424242424244424 0x8b1b1b1bffffff24]) == [0x242424 0xffffffffff8b1b1b] +; run: %i64x2_sshr_const3([0x2424242424244424 0x1b1b1b1bffffff24]) == [0x242424 0x1b1b1b]