1. 10 Mar, 2021 32 commits
  2. 09 Mar, 2021 8 commits
    • Alexandre Julliard's avatar
    • Rafał Harabień's avatar
    • Rafał Harabień's avatar
      ntdll: Allow getting/setting x86_64 context of x86 processes in wine64. · 77481d36
      Rafał Harabień authored
      WoW64 process has two separate contexts:
      - x86 context used most of the time (e.g. by application code)
      - x86_64 context used by system when it quits x86 emulation and jumps to
        the kernel code
      A notable exception are debug registers - their state is shared. Some
      debuggers make use of that fact and sets/gets debug registers of x86
      processes using x86_64 thread context.
      
      Add support for setting and getting debug registers using x86_64
      thread context. Getting other registers is allowed too and will return
      values from x86 thread context.
      
      Fixes hardware breakpoints in IDA 7.0 disassembler (x86_64 app) when
      debugging x86 (32 bit) applications.
      Signed-off-by: 's avatarRafał Harabień <rafalh92@outlook.com>
      Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
      77481d36
    • Rafał Harabień's avatar
    • Rémi Bernon's avatar
      ntdll: Initialize mountmgr_unix_drive before NtDeviceIoControlFile (valgrind). · 0eb3258a
      Rémi Bernon authored
        Syscall param writev(vector[...]) points to uninitialised byte(s)
           at 0x4189DA3: writev (writev.c:26)
           by 0x46A5A1B: send_request (server.c:213)
           by 0x46A5A1B: server_call_unlocked (server.c:273)
           by 0x46CA54F: virtual_locked_server_call (virtual.c:2993)
           by 0x4681C9A: server_ioctl_file (file.c:4789)
           by 0x468B326: NtDeviceIoControlFile (file.c:5620)
           by 0x468B7AF: get_mountmgr_fs_info (file.c:1986)
           by 0x468B7AF: get_mountmgr_fs_info (file.c:1955)
           by 0x468FCBB: NtQueryVolumeInformationFile (file.c:6483)
           by 0x4677E88: __wine_syscall_dispatcher_xsave (in /home/rbernon/Code/build-wine/wine64/dlls/ntdll/ntdll.so)
           by 0x7BC0DEB3: NtQueryVolumeInformationFile (in /home/rbernon/Code/build-wine/wine64/dlls/ntdll/ntdll.dll)
           by 0x7B01F127: GetFileInformationByHandle (file.c:2938)
           by 0x7096A5C3: _fstat64 (file.c:1791)
           by 0x7096A941: _fstat64i32 (file.c:1877)
         Address 0x7ffffe30e520 is in a rw- anonymous segment
      Signed-off-by: 's avatarRémi Bernon <rbernon@codeweavers.com>
      Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
      0eb3258a
    • Rémi Bernon's avatar
      ntdll: Fix environment memcpy read overflow (valgrind). · f69e5478
      Rémi Bernon authored
        Invalid read of size 1
           at 0x7BC5C5E3: memcpy (string.c:109)
           by 0x7BC267F7: RtlCreateProcessParametersEx (env.c:785)
           by 0x7B04EB57: create_process_params (process.c:183)
           by 0x7B04EB57: CreateProcessInternalW (process.c:544)
           by 0x7B0508E3: CreateProcessW (process.c:668)
           by 0x403B1E: runCmd (wineboot.c:1055)
           by 0x403B1E: process_run_key (wineboot.c:1126)
           by 0x404228: ProcessRunKeys (wineboot.c:1159)
           by 0x406DB1: main (wineboot.c:1707)
         Address 0x7ffffe00331a is 0 bytes after a recently re-allocated block of size 12,074 alloc'd
           at 0x7BC2D209: notify_alloc (heap.c:260)
           by 0x7BC2D209: RtlAllocateHeap (heap.c:1713)
           by 0x7BC25BAC: RtlSetEnvironmentVariable (env.c:515)
           by 0x7BC25EE0: set_env_var (env.c:61)
           by 0x7BC26C37: set_wow64_environment (env.c:228)
           by 0x7BC26C37: init_user_process_params (env.c:891)
           by 0x7BC3B01B: process_init (loader.c:3991)
           by 0x7BC3CD24: __wine_set_unix_funcs (loader.c:4095)
           by 0x469604E: start_main_thread (loader.c:1752)
           by 0x469604E: __wine_main (loader.c:2083)
           by 0x7D001231: main (main.c:157)
      Signed-off-by: 's avatarRémi Bernon <rbernon@codeweavers.com>
      Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
      f69e5478
    • Rémi Bernon's avatar
      ntdll: Initialize dbg_offset and dbg_size (valgrind). · c3c4d0c3
      Rémi Bernon authored
        Syscall param writev(vector[...]) points to uninitialised byte(s)
           at 0x4189DA3: writev (writev.c:26)
           by 0x46A5A0B: send_request (server.c:213)
           by 0x46A5A0B: server_call_unlocked (server.c:273)
           by 0x46A5B4F: wine_server_call (server.c:289)
           by 0x46C996A: virtual_create_builtin_view (virtual.c:2524)
           by 0x4692CB4: dlopen_dll (loader.c:1133)
           by 0x46931CA: open_builtin_file (loader.c:1373)
           by 0x46931CA: open_builtin_file (loader.c:1354)
           by 0x4694559: load_builtin_dll (loader.c:1457)
           by 0x7BC375F2: load_builtin_dll (loader.c:2348)
           by 0x7BC38369: load_dll (loader.c:2705)
           by 0x7BC39E46: import_dll (loader.c:782)
           by 0x7BC36CEC: fixup_imports (loader.c:1138)
           by 0x7BC3BE4B: LdrInitializeThunk (loader.c:3454)
         Address 0x32e390 is on thread 1's stack
         in frame #5, created by open_builtin_file (loader.c:1357)
      Signed-off-by: 's avatarRémi Bernon <rbernon@codeweavers.com>
      Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
      c3c4d0c3
    • Rémi Bernon's avatar
      winex11.drv: Fix invalid range when reading GTK_WORKAREAS_D0 (valgrind). · 99088fe1
      Rémi Bernon authored
        Invalid read of size 8
           at 0x559B816: get_work_area (display.c:296)
           by 0x55DC8C1: query_screens (xinerama.c:103)
           by 0x55DC8C1: xinerama_init (xinerama.c:275)
           by 0x55D6F47: process_attach (x11drv_main.c:602)
           by 0x55D6F47: DllMain (x11drv_main.c:721)
           by 0x7BC35819: call_dll_entry_point (loader.c:285)
           by 0x7BC35819: MODULE_InitDLL (loader.c:1317)
           by 0x7BC362ED: process_attach.part.0 (loader.c:1411)
           by 0x7BC3B843: process_attach (loader.c:1382)
           by 0x7BC3B843: LdrLoadDll (loader.c:2765)
           by 0x7B025C85: load_library (loader.c:172)
           by 0x7B026B72: LoadLibraryExW (loader.c:522)
           by 0x7B026BE5: LoadLibraryW (loader.c:492)
           by 0x40990D: load_graphics_driver (desktop.c:844)
           by 0x40990D: manage_desktop (desktop.c:1010)
           by 0x40C6B3: parse_command_line (explorer.c:836)
           by 0x40C6B3: wWinMain (explorer.c:865)
           by 0x4103F2: wmain (crt_wwinmain.c:55)
         Address 0x5272370 is 16 bytes before an unallocated block of size 3,132,512 in arena "client"
      Signed-off-by: 's avatarRémi Bernon <rbernon@codeweavers.com>
      Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
      99088fe1