Commit Graph

285 Commits

Author SHA1 Message Date
Erich Hoover 3dd58d8bfb ntdll: Fix mapping sections for applications that map over the section headers. 2012-03-16 11:21:01 +01:00
Dmitry Timoshkov 3a5ee02735 ntdll: Add an access check for file mappings. 2012-01-24 18:10:31 +01:00
Dmitry Timoshkov 1d01a7ba1e kernel32: Fix access flags to page protection mapping in MapViewOfFileEx. 2012-01-17 11:54:43 +01:00
Dmitry Timoshkov 332eee4053 ntdll: Replace WRITE by WRITECOPY protection on an image section as Windows does. 2011-12-16 16:38:29 +01:00
Dmitry Timoshkov eed406e028 ntdll: Setting WRITECOPY protection on a memory-mapped file is allowed. 2011-12-16 16:38:29 +01:00
Francois Gouget c7cb3e6cb2 configure: Use errno.h instead of the non-standard sys/errno.h header. 2011-12-15 17:46:38 +01:00
Dmitry Timoshkov 517d0800df ntdll: Revert 33b0f0edff.
The tests clearly show that this commit is wrong.
2011-11-23 14:14:25 +01:00
Dmitry Timoshkov a93f86716f kernel32: Add a bunch of tests for protections accepted by VirtualAlloc, make it pass under Wine. 2011-11-08 10:19:51 +01:00
Dmitry Timoshkov 33255ee6ec ntdll: Make the VirtualProtect tests pass under Wine. 2011-11-03 13:51:56 +01:00
André Hentschel 41e188f148 ntdll: Only load ARMv7 PE images when supported by CPU. 2011-11-02 12:27:15 +01:00
André Hentschel 9afb206eaf ntdll: Try to load ARMv7 PE images on ARM. 2011-11-01 16:45:39 +01:00
Michael Stefaniuc 68f90d9697 kernel32/ntdll: Mark a variable as unused. 2011-10-28 19:10:30 +02:00
Dmitry Timoshkov 16eac43c8e ntdll: Move adding VPROT_READ for Solaris to the same place where it's done for FreeBSD. 2011-10-17 17:45:07 +02:00
Dmitry Timoshkov f7e466455d ntdll: FreeBSD needs page read access when execute access is requested. 2011-10-17 17:45:07 +02:00
Dmitry Timoshkov 988307e87b ntdll: Use STATUS_INVALID_PAGE_PROTECTION as return value for invalid protections. 2011-09-28 11:00:02 +02:00
Alexandre Julliard 33b0f0edff ntdll: Fix protection flags for uninitialized sections. 2011-09-09 12:40:44 +02:00
André Hentschel 322c2f45f8 ntdll: Fix a comment. 2011-09-08 11:21:49 +02:00
André Hentschel 8fc7419120 ntdll: Allow reading from a writable section. 2011-09-07 18:13:33 +02:00
Dmitry Timoshkov 3d81e97c75 kernel32: Add a test how PE section characteristics get mapped into memory page access, make it pass under Wine. 2011-07-20 19:23:04 +02:00
André Hentschel 4e26336eae ntdll: Improved ARM little endianess detection. 2011-05-23 11:14:53 +02:00
Piotr Caban 6b2c9505c6 ntdll: Restore stack guard and prevent stack from shrinking. 2011-04-13 14:13:57 +02:00
Alexandre Julliard 9eba2de390 ntdll: Improve the error reporting for invalid PE file architectures. 2011-02-19 14:11:05 +01:00
Alexandre Julliard 156ba4eddf ntdll: Avoid putting the virtual heap in the low 2Gb on 64-bit. 2010-12-17 13:26:00 +01:00
Alexandre Julliard e39c6d0474 ntdll: Don't worry about the DOS area on non-x86. 2010-12-16 10:25:14 +01:00
Marcus Meissner e7cb2d35f0 ntdll: Report a failed executable mmap on nonexec filesystems. 2010-12-10 17:09:34 +01:00
Hans Leidekker 71beac3219 ntdll: Don't call NtClose directly in delete_view. 2010-12-02 12:47:42 +01:00
Marcus Meissner da8c179d61 ntdll: Fixed file view mapping in regards to no-exec. 2010-11-15 13:20:09 +01:00
Marcus Meissner 2e7dc35786 ntdll: Check and fix PE header protections. 2010-11-08 18:12:57 +01:00
Alexandre Julliard 3aa6e3bd89 ntdll: Explicitly check for failure to map page 0. 2010-11-04 17:48:01 +01:00
Alexandre Julliard 3fa03e1c78 ntdll: Report memory areas in DOS memory to be free even when not reserved. 2010-11-04 17:47:29 +01:00
André Hentschel 186ada5472 ntdll: Add Support for loading ARM PEs. 2010-11-02 11:16:37 +01:00
Alexandre Julliard e7c67c0cb1 ntdll: More complete implementation of NtAreMappedFilesTheSame. 2010-10-19 16:14:40 +02:00
Alexandre Julliard 31d37b3489 ntdll: Get rid of the FILE_VIEW typedef. 2010-10-19 15:34:36 +02:00
Alexandre Julliard 5393f0a947 ntdll: Fix the protection state of writable sections. 2010-08-26 18:06:10 +02:00
Marcus Meissner 2ca5513a62 ntdll: Set correct protection flags on sections in builtin DLLs. 2010-08-24 17:22:32 +02:00
Austin English b3b55ea4fa ntdll: Sparc support for map_image(). 2010-08-24 12:22:18 +02:00
Alexandre Julliard b9a13d6d81 ntdll: Print a warning when failing to set execute permissions on a section. 2010-06-16 20:06:47 +02:00
Alexandre Julliard 903488b354 ntdll: Make the DOS area accessible even when not using it to hide bugs in broken apps. 2010-06-15 18:29:07 +02:00
Michael Stefaniuc aef5374c8b ntdll: Remove superfluous "not NULL" check for the count arg. 2010-05-19 11:17:55 +02:00
Alexandre Julliard 4ce995451e ntdll: Build the virtual_release_address_space function on all platforms. 2010-04-09 16:50:20 +02:00
Alexandre Julliard 83c272a258 ntdll: Return STATUS_IMAGE_NOT_AT_BASE when an image mapping has to be relocated. 2010-03-03 20:05:40 +01:00
Gerald Pfeifer 43d0720335 ntdll: Guard debugging code by #ifdef instead of plain #if. 2009-12-08 12:32:58 +01:00
Alexandre Julliard 1a3777e2dc ntdll: Reject VirtualAlloc blocks in NtUnmapViewOfSection. 2009-11-04 19:53:00 +01:00
Eric Pouech f6ceedf6dd ntdll: In SYSTEM_BASIC_INFORMATION, the active processors field refers to the affinity mask. 2009-09-22 16:47:25 +02:00
Alexandre Julliard fdf191a9e0 ntdll: Define correct address space limits for x86_64. 2009-08-27 19:47:58 +02:00
Alexandre Julliard 2be006e497 ntdll: Fix a couple of system information structures for 64-bit. 2009-08-27 19:47:49 +02:00
Alexandre Julliard c10bdbefd6 ntdll: Don't free low address space for large address aware applications.
Many games set the LARGE_ADDRESS_AWARE flag but don't pass the
appropriate flags to d3dx9 to make it cope with it.
2009-08-05 11:23:02 +02:00
Alexandre Julliard df6c65623a ntdll: Add support for the MEM_RESET flag in VirtualAlloc, with tests. 2009-07-09 19:31:36 +02:00
Alexandre Julliard 58afa8aceb ntdll: Display write watch status in virtual traces. 2009-07-09 15:21:59 +02:00
Alexandre Julliard 1ac7576d47 ntdll: Disable releasing the address space on Mac OS since dyld doesn't support this. 2009-06-29 13:21:37 +02:00
Alexandre Julliard 09712593c8 ntdll: Release some address space after the process initialization is done. 2009-06-25 14:33:34 +02:00
Alexandre Julliard 54ac26b7af ntdll: Try any address in map_image no matter what the failure was for a fixed address. 2009-05-27 21:17:09 +02:00
Alexandre Julliard d5d0738fb9 ntdll: Tweak the file mapping permission checks some more, with tests. 2009-05-19 21:36:05 +02:00
Francois Gouget cb9a95f560 ntdll: virtual_free_system_view() is not used anymore so remove it. 2009-05-13 12:45:37 +02:00
Alexandre Julliard 61dcca5dbf ntdll: Don't pretend that the whole address space is reserved on non-i386. 2009-04-06 12:07:33 +02:00
Michael Stefaniuc d2f6f56873 ntdll: Remove superfluous pointer casts. 2009-03-23 12:40:53 +01:00
Alexandre Julliard 1056771b91 ntdll: Allocate the stack for all threads, don't rely on pthread to do it for us. 2009-02-23 14:24:59 +01:00
Alexandre Julliard d916d98d02 ntdll: Don't fail in NtMapViewOfSection for 4Gb+ files if an explicit size is specified. 2009-02-16 11:47:32 +01:00
Alexandre Julliard 5e7f7db923 ntdll: Ignore spurious write faults for a write watch that has been reset already. 2009-01-27 11:22:06 +01:00
Alexandre Julliard 858a7efdd4 ntdll: Check buffer for access in NtRead/WriteVirtualMemory.
This also triggers page faults needed for DIB section access and write
watches.
2009-01-15 12:06:16 +01:00
Alexandre Julliard 63bff0937f ntdll: Check buffer for access in NtReadFile before performing I/O.
This also triggers page faults needed for write watches.
2009-01-15 12:05:26 +01:00
Alexandre Julliard 39d4f9e272 ntdll: Check buffer for access in NtWriteFile before performing I/O.
This also triggers page faults needed for DIB section access.
2009-01-15 12:04:24 +01:00
Alexandre Julliard 6b07ac5453 ntdll: Fix pointer cast warnings on 64-bit. 2009-01-08 17:28:45 +01:00
Alexandre Julliard c86ec6445c server: Make a couple of fields smaller in the apc_call_t/apc_result_t structures. 2008-12-30 15:22:45 +01:00
Alexandre Julliard 838803ce24 server: Make the address parameters in inter-process virtual memory calls client_ptr_t.
Add explicit padding fields in the corresponding structures.
2008-12-30 15:05:38 +01:00
Alexandre Julliard d066a9a01a server: Make the mapping base address a client_ptr_t instead of a void pointer. 2008-12-30 14:18:21 +01:00
Alexandre Julliard 8e9c156e14 server: Make the address argument for read/write_process_memory a client_ptr_t. 2008-12-30 14:11:58 +01:00
Maarten Lankhorst 72423f5f6d ntdll: Make the loader process relocations correctly for x86_64. 2008-12-26 13:42:07 +01:00
Alexandre Julliard 29d9759156 server: Use mem_size_t instead of file_pos_t for memory mapping sizes. 2008-12-17 19:25:49 +01:00
Alexandre Julliard 401f4b717a server: Make mem_size_t always 64-bit. 2008-12-17 19:25:09 +01:00
Alexandre Julliard a2089abd94 ntdll: Enforce correct protection values in virtual memory functions. 2008-12-11 14:05:42 +01:00
Alexandre Julliard d1b3d484f7 server: Add functions for conversions between server object handles and pointer-style handles. 2008-12-08 16:05:17 +01:00
Maarten Lankhorst 269600bbed ntdll: Make 64-bits wine only able to load amd64 binaries. 2008-11-25 12:33:28 +01:00
Alexandre Julliard af8bb2e922 ntdll: Add support for virtual write watches. 2008-11-25 12:07:35 +01:00
Alexandre Julliard 81b9ca5dbd ntdll: Pass the error code to VIRTUAL_HandleFault, and allow it to ignore the exception.
Also rename it to virtual_handle_fault for consistency.
2008-11-25 12:02:16 +01:00
Alexandre Julliard aece8e0700 ntdll: Check for valid memory view size directly in VIRTUAL_FindView. 2008-11-25 11:58:50 +01:00
Alexandre Julliard f3e70ee00e ntdll: Get rid of the Wine-specific MEM_SYSTEM flag. 2008-11-18 20:14:46 +01:00
Alexandre Julliard f4eaa15aec kernel32: Moved allocation of the DOS memory area to ntdll. 2008-11-18 20:11:49 +01:00
Alexandre Julliard 28c411b627 ntdll: Get rid of the unaligned_mmap wrapper. 2008-11-17 20:34:19 +01:00
Alexandre Julliard a0c4bfef9d ntdll: Add private function to manage system virtual views instead of abusing NtAllocateVirtualMemory. 2008-11-14 17:40:54 +01:00
Alexandre Julliard 6c7ff61639 ntdll: Added stubs for NtGetWriteWatch and NtResetWriteWatch. 2008-11-14 11:02:15 +01:00
Alexandre Julliard 66a39678e9 ntdll: Store correct values in the various limits on all platforms instead of using 0. 2008-11-07 11:04:07 +01:00
Alexandre Julliard 1ca7b881d7 ntdll: Do not report non-reserved memory areas as free since we don't know what's in them. 2008-11-06 15:00:58 +01:00
Alexandre Julliard eb96fbf346 ntdll: Keep track of the current working set limit independently of system views that may be allocated beyond it. 2008-11-06 11:42:58 +01:00
Alexandre Julliard 5e2ed6bfe9 ntdll,server: Fixed access checks for OpenFileMapping and MapViewOfFile. 2008-11-05 20:32:32 +01:00
Alexandre Julliard f21096ad01 ntdll: Don't force anonymous file mappings to always be fully committed. 2008-11-05 12:31:49 +01:00
Alexandre Julliard cdce50f5be ntdll: Store the per-page committed status in the server for anonymous file mappings. 2008-11-05 12:31:37 +01:00
Alexandre Julliard 7e94787948 ntdll: Add a noexec flag for memory views where we don't want to force exec permission. 2008-11-04 13:16:01 +01:00
Alexandre Julliard 0b0b6c351a ntdll: Store the per-view flags in the high word of the page protection bits. 2008-11-04 13:05:37 +01:00
Alexandre Julliard 3d6313c9ce ntdll: Return more correct information for SystemBasicInformation and GetSystemInfo. 2008-11-03 13:34:13 +01:00
Alexandre Julliard 222e406deb ntdll: Create a separate heap for allocating memory views instead of using malloc. 2008-10-31 13:00:59 +01:00
Alexandre Julliard 56788cc5b6 ntdll: Use the end of the reserved area as address space limit, in case we have more than 3Gb available. 2008-10-28 13:51:36 +01:00
Alexandre Julliard eaae717ede ntdll: Make sure the last relocation contains some data. 2008-10-27 13:19:30 +01:00
John Reiser adda485933 ntdll: Tell valgrind to load the .pdb debugging info for the module that was just loaded. 2008-07-25 12:16:11 +02:00
Alexandre Julliard 8e5f281276 ntdll: Add some sanity checks for invalid relocation blocks. 2008-06-30 12:51:35 +02:00
Alexandre Julliard 58d076b419 ntdll: Force execute permission again on the stack after clearing it. 2008-06-26 21:10:57 +02:00
James Hawkins 36e73d296b ntdll: Remove NULL checks for attr, which has already been dereferenced. 2008-05-20 15:43:54 +02:00
Alexandre Julliard ce21f2924f ntdll: Use LdrProcessRelocationBlock to apply relocations.
Don't apply relocations to non page-aligned binaries.
2008-04-02 20:39:22 +02:00
Alexandre Julliard cc33f6c8a5 ntdll: Add a guard page at the bottom of the stack and raise a stack overflow exception when hit. 2008-04-01 17:40:37 +02:00
Alexandre Julliard 061bfac076 ntdll: Add support for handling page faults caused by guard pages on the thread stack. 2008-04-01 17:37:24 +02:00