Commit Graph

192 Commits

Author SHA1 Message Date
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
Alexandre Julliard 600694546f ntdll: Moved stack allocation for thread and process to a common routine in virtual.c. 2008-04-01 14:11:44 +02:00
Dmitry Timoshkov bf89330fb6 ntdll: Do not perform base relocation if an image is not a DLL. 2008-01-17 14:25:15 +01:00
Alexandre Julliard a39ac0a701 ntdll: Print an error for unsupported shared writable mappings. 2008-01-03 13:20:03 +01:00
Dmitry Timoshkov f2f3de20ac ntdll: Initialize the APC call union to suppress valgrind warnings. Take 2. 2007-12-11 17:49:57 +01:00
Rob Shearman f98556c119 server: Add the name length to the object_attributes structure so that other variable length data can be present after object_attributes. 2007-10-30 14:18:05 +01:00
Rob Shearman 23df453d38 server: Make create_mapping use struct object_attributes and set the security descriptor of file mapping objects. 2007-10-26 12:45:29 +02:00
Alexandre Julliard 235532ce28 server: Use the file_pos_t type for file sizes and offsets in the protocol structures. 2007-10-10 14:06:25 +02:00
Peter Oberndorfer 073dd7dde2 ntdll: NtAreMappedFilesTheSame semi stub. 2007-09-27 12:47:15 +02:00
Andrew Talbot e3708a60b4 ntdll: Constify some variables. 2007-06-28 11:00:53 +02:00
Dmitry Timoshkov e142779b09 ntdll: Fix compilation warnings in 64-bit mode. 2007-05-23 13:10:20 +02:00
Andrew Talbot 9fe3b60f12 ntdll: Exclude unused headers. 2007-05-15 12:19:31 +02:00
Alexandre Julliard 9d09e699d6 ntdll: Get rid of the no longer used is_current_process function. 2007-01-18 15:18:12 +01:00
Alexandre Julliard 02e2fa7798 ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection. 2007-01-18 15:17:51 +01:00
Alexandre Julliard c122260b9d ntdll: Implemented NtLockVirtualMemory and NtUnlockVirtualMemory. 2007-01-16 09:50:08 +01:00
Alexandre Julliard 5a1ad74a67 ntdll: Implementation of inter-process NtFlushVirtualMemory. 2007-01-15 22:31:07 +01:00
Alexandre Julliard 1ea968016f ntdll: Implementation of inter-process VirtualProtectEx. 2007-01-15 22:30:04 +01:00
Alexandre Julliard 3d00239586 ntdll: Implementation of inter-process VirtualQueryEx. 2007-01-15 22:28:42 +01:00
Alexandre Julliard 7a00142bc1 ntdll: Implementation of inter-process VirtualAllocEx and VirtualFreeEx. 2007-01-15 22:27:40 +01:00
Alexandre Julliard 146fb0de02 ntdll: Make the virtual.c critical section uninterruptible by signals.
Based on a patch by Thomas Kho.
2007-01-12 20:15:52 +01:00
Alexandre Julliard 3c55f78f52 ntdll: Fix handling of 64-bit sizes in NtMapViewOfSection. 2007-01-12 15:01:44 +01:00
Alexandre Julliard 4cbe867a85 ntdll: Duplicate the mapping handle on the server side for NtMapViewOfSection. 2007-01-12 14:55:31 +01:00
Alexandre Julliard 5bd513640b ntdll: Moved the check for removable file in load_dll to the server. 2007-01-12 14:42:43 +01:00
Alexandre Julliard 9fed1205ca ntdll: File positions should be aligned to sector boundaries in PE loader. 2006-12-21 12:34:44 +01:00
Alexandre Julliard e5477b35f4 ntdll: Fixed typo in map_image. 2006-12-20 12:31:20 +01:00
Alexandre Julliard 3dc21d387b ntdll: Map the PE header up to the specified size, and clear the rest of the page. 2006-12-13 16:04:49 +01:00
Alexandre Julliard 94ac989534 ntdll: Fix the failing loader tests. 2006-12-07 15:34:36 +01:00
Alexandre Julliard 822be6c90f ntdll: Force exec permissions on all mmaps unless the app is marked NX-compatible. 2006-12-05 15:42:29 +01:00
Alexandre Julliard 8385f137b5 ntdll: Don't free the DOS area when a broken app passes a NULL pointer to NtFreeVirtualMemory. 2006-12-01 11:38:52 +01:00
Alexandre Julliard 83ce958793 ntdll: Store the fd type in the cache and return it in server_get_unix_fd. 2006-11-20 14:15:06 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Alexandre Julliard 9ddb9294da ntdll: Added a server_get_unix_fd function that avoids doing a dup() of the fd when not required. 2006-11-03 11:38:44 +01:00
Hans Leidekker f7b0ba7aa7 ntdll: Win64 printf format warning fixes. 2006-10-18 12:35:26 +02:00
Robert Shearman c88bbd8092 ntdll: NtAllocateVirtual with type of MEM_WRITE_WATCH fails with STATUS_NOT_SUPPORTED on Win2000 instead of STATUS_INVALID_PARAMETER. 2006-09-28 11:55:45 +02:00
Alexandre Julliard f114ba119c ntdll: Use the right section size when setting protections.
Use the same size computation when setting section protections than
when mapping it in the first place (reported by Nicholas Miell).
2006-07-30 09:59:46 +02:00
Alexandre Julliard 6c9ade0529 ntdll: Allocate the PEB with NtAllocateVirtualMemory too. 2006-07-24 15:19:32 +02:00
Alexandre Julliard cc297050f9 ntdll: Support memory allocations inside reserved areas. 2006-07-24 14:00:19 +02:00
Alexandre Julliard c060cdbc14 ntdll: Propagate the MEM_TOP_DOWN flag into the map_view() function. 2006-07-24 13:59:44 +02:00
Alexandre Julliard 0c453bc7c6 ntdll: Use NtAllocateVirtualMemory to allocate all TEBs except the first one. 2006-07-21 20:20:30 +02:00
Alexandre Julliard 2cb0f43224 kernel: Added support for exec'ing a new Win32 process.
Use it to restart execution if the main binary can't be loaded because
of address space conflicts, and also for Win16/DOS support.
2006-07-19 14:12:58 +02:00
Alexandre Julliard c79cf02fae ntdll: Make sure to not unmap anything from reserved areas
when using NtFreeVirtualMemory with the MEM_SYSTEM flag.
2006-07-13 20:47:07 +02:00
Alexandre Julliard bb63a325d7 ntdll: Use the map_view() function to allocate TEBs, now that it supports an arbitrary granularity. 2006-07-13 20:38:31 +02:00
Alexandre Julliard 8f47bd0306 ntdll: Support for arbitrary memory allocation granularity. 2006-07-13 20:36:41 +02:00
Dmitry Timoshkov 0042ad4fc7 ntdll: Compile VIRTUAL_Dump only when somebody really needs it. 2006-06-20 20:39:17 +02:00
Francois Gouget f248440dd4 ntdll: Use page_size instead of page_mask+1. 2006-06-16 11:31:51 +02:00
Robert Shearman 850ae994c6 ntdll: Change the test for no relocation information to use the
IMAGE_FILE_RELOCS_STRIPPED flag instead of a zero sized relocations
section.

This fixes loading of resource-only DLLs that have a load-address of 
0x400000.
2006-06-14 13:37:25 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Marcus Meissner 08c2555dd8 ntdll: Make the section with AddressOfEntryPoint in it executable. 2006-05-09 12:47:25 +02:00
Detlef Riekenberg 44aab2e23f ntdll: Added ARM architecture. 2006-04-08 15:49:24 +02:00
Alexandre Julliard 959bbf8b75 server: Get rid of alignment requirements in write_process_memory request.
All the alignment handling is now done in the write_process_memory
function inside the server.
2006-04-07 18:41:58 +02:00
Alexandre Julliard 18d7980fd8 ntdll: Limit header_size to the file size. 2006-03-27 21:29:46 +02:00
Alexandre Julliard 7bd0cdafc2 ntdll: Use PROT_NONE instead of 0. 2006-02-24 11:31:24 +01:00
Francois Gouget f8ed165609 ntdll: Protect sys/stat.h inclusion. 2006-02-07 21:17:45 +01:00
Alexandre Julliard eca9e4449c ntdll: Round PE header size to a page boundary for size checks. 2006-01-13 13:52:07 +01:00
Alexandre Julliard 9eae2d714d ntdll: Round up the mapping size in map_file_into_view when setting
the protection bytes.
2006-01-11 20:59:07 +01:00
Alexandre Julliard 67f29999a3 ntdll: Check file size when mapping image sections to avoid SIGBUS errors. 2006-01-03 17:39:23 +01:00
Alexandre Julliard efffa66330 ntdll: Don't use a real guard page at the bottom of the stack.
A no-access page is enough, we can't properly raise an overflow
exception anyway.
2005-12-17 18:47:03 +01:00
Alexandre Julliard 354e7700b3 ntdll: Fixes in virtual memory protection flags.
Tweak reporting of virtual protection flags and address space limit to
yield results closer to what Windows does.
2005-12-14 12:17:59 +01:00
Alexandre Julliard f3dad37ba2 TEB.StackLimit should not include the guard page. 2005-12-12 17:28:32 +01:00
Alexandre Julliard 59797f292e Pass specific access rights to wine_server_handle_to_fd. 2005-12-12 17:15:26 +01:00
Vitaliy Margolen 348a3d912b Move mapping (section) objects into directory name space. 2005-12-02 16:13:13 +01:00
Alexandre Julliard cb56bdf884 Check for need to add area to the reserved list also on unmap. 2005-12-01 18:44:04 +01:00
Alexandre Julliard e3ef6314fd Ignore the large address space flag when version is win9x. 2005-12-01 18:42:39 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Vitaliy Margolen a996000ad5 - Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Francois Gouget baab789ce8 Replace the 'if (!cond) ; else code' construct with the standard 'do {
code } while (0)' construct combined with a regular 'if'.
2005-09-26 09:57:38 +00:00
Alexandre Julliard 9f859692f9 Replace DPRINTF by TRACE in a few places. 2005-09-25 15:23:21 +00:00
Alexandre Julliard 489c6b3865 Ignore relocations for unmapped pages. 2005-09-21 09:47:12 +00:00
Alexandre Julliard 06ea6e6e3f Fixed a few pointer truncation bugs for 64-bit platforms. 2005-09-16 18:54:19 +00:00
Alexandre Julliard fb9cead92b Support arbitrary sizes for the thread signal stack, and set the
default size from the MINSIGSTKSZ constant.
2005-09-14 10:36:58 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard 22a5332661 Added descriptions for a few more machine types. 2005-09-09 10:42:42 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Alexandre Julliard 0f41df1681 Use FILE_GetDeviceInfo in NtMapViewOfSection to avoid having to fetch
the file descriptor twice.
2005-08-25 10:23:23 +00:00
Alexandre Julliard 4ebd2fc0ff Better handling of conflicting section information between
SizeOfRawData and VirtualSize.
2005-08-15 14:50:06 +00:00
Alexandre Julliard 8c375c7fd4 Don't map data beyond the virtual size of a section. 2005-08-12 11:21:45 +00:00
Alexandre Julliard 9f32a5c865 Added a VIRTUAL_alloc_teb function to allocate TEBs while making sure
they don't end up above the address space limit.
2005-08-09 10:43:47 +00:00
Dmitry Timoshkov 40dd77bf5a Make VIRTUAL_HandleFault return an NTSTATUS. 2005-07-15 11:43:09 +00:00
Dmitry Timoshkov 1dc18952ae Use SIZE_T type for size variables in NTDLL when appropriate. 2005-07-15 10:01:30 +00:00
Felix Nawothnig db6a238f28 Replace stubs for information classes in NtQueryVirtualMemory and
NtQueryInformationProcess by more descriptive messages.
2005-07-05 14:05:58 +00:00
Vitaliy Margolen b2e74c3047 Load all dll sections no matter what attributes say. 2005-07-02 10:50:42 +00:00
Mike McCormack 6b636e3e7b Use RTL_CRITICAL_SECTION instead of CRITICAL_SECTION. 2005-06-25 18:00:57 +00:00
Alexandre Julliard f724399f60 Add PAGE_GUARD flag to the returned protection of guard pages. 2005-06-21 20:23:02 +00:00
Mike McCormack 04f9f1b066 Don't include winbase.h or winerror.h when not necessary. 2005-06-21 09:52:40 +00:00
Mike McCormack 5b2d5fd758 Use HANDLE instead of HKEY in the NT API. 2005-06-17 13:58:33 +00:00
Alexandre Julliard bd000a0203 Removed some unnecessary inclusions of thread.h 2005-06-06 20:13:08 +00:00
Mike McCormack cc4ed1322a Use LIST_FOR_EACH_ENTRY in virtual memory code. 2005-05-23 09:51:02 +00:00
Dimi Paun 88fe1ff962 Make the argument comments out-of-line. 2005-05-18 09:45:12 +00:00
Alexandre Julliard 3b843d3e7d Remove all traces of the VIRTUAL_SetFaultHandler support. 2005-04-20 16:26:23 +00:00
Troy Rollo 95fe6abcb7 Fix SEGVs in NtCreateSection and NtMapViewOfSection. 2005-04-19 10:31:28 +00:00
Ivan Leo Puoti d3edafe1e2 Replace GetCurrentProcess() with NtCurrentProcess() in ntdll. 2005-02-22 19:33:50 +00:00
Gerald Pfeifer 57e00da29e Fix format string in NtQueryVirtualMemory(). 2005-01-24 11:25:41 +00:00
Hans Leidekker fccfcbf7ba Stub implementations for EnumPageFiles{A,W}, GetProcessImageFileName{A,W}.
Implement GetPerformanceInfo, GetProcessMemoryInfo on top of
NtQueryInformationProcess and GetWsChanges, QueryWorkingSet{,Ex} on
top of NtQueryVirtualMemory.
2005-01-20 19:59:48 +00:00
Alexandre Julliard 646ab89f0a Support mapping non page-aligned binaries for SEC_IMAGE mappings. 2005-01-04 12:04:06 +00:00