tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

llvmorg-20-init-9466-gce4618a9c405.patch (1408B)


      1 From ce4618a9c405bd8a9c1e096eb45e9ca83d3891f1 Mon Sep 17 00:00:00 2001
      2 From: Mike Hommey <mh@glandium.org>
      3 Date: Fri, 18 Oct 2024 21:42:03 +0900
      4 Subject: [PATCH] [ASan][windows] Recognize movzx r11d, BYTE PTR [rdx] in
      5 interception_win (#111638)
      6 
      7 The instruction is present in some library in the 24H2 update for
      8 Windows 11:
      9 
     10 ==8508==interception_win: unhandled instruction at 0x7ff83e193a40: 44 0f
     11 b6 1a 4c 8b d2 48
     12 
     13 This could be generalized, but getting all the ModR/M byte combinations
     14 right is tricky. Many other classes of instructions handled in this file
     15 could use some generalization too.
     16 ---
     17 compiler-rt/lib/interception/interception_win.cpp | 1 +
     18 1 file changed, 1 insertion(+)
     19 
     20 diff --git a/compiler-rt/lib/interception/interception_win.cpp b/compiler-rt/lib/interception/interception_win.cpp
     21 index 4a6ff6656edb..4f60d4251303 100644
     22 --- a/compiler-rt/lib/interception/interception_win.cpp
     23 +++ b/compiler-rt/lib/interception/interception_win.cpp
     24 @@ -768,6 +768,7 @@ static size_t GetInstructionSize(uptr address, size_t* rel_offset = nullptr) {
     25   }
     26 
     27   switch (*(u32*)(address)) {
     28 +    case 0x1ab60f44:  // 44 0f b6 1a : movzx r11d, BYTE PTR [rdx]
     29     case 0x24448b48:  // 48 8b 44 24 XX : mov rax, QWORD ptr [rsp + XX]
     30     case 0x246c8948:  // 48 89 6C 24 XX : mov QWORD ptr [rsp + XX], rbp
     31     case 0x245c8948:  // 48 89 5c 24 XX : mov QWORD PTR [rsp + XX], rbx
     32 -- 
     33 2.47.0.1.g59ce1bf855