Commit Graph

4329 Commits

Author SHA1 Message Date
Chip Davis e6c6874ec3 ntdll: When an exception happens in DllMain(), print the code.
Also print exceptions from TLS callbacks.
Useful for debugging exceptions that prevent DLLs from loading.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:02:30 +02:00
Jacek Caban d4e0f0a12f server: Require FILE_READ_ATTRIBUTES access in get_named_pipe_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:02:30 +02:00
Jacek Caban 58233b47e0 kernel32: Always create file with FILE_READ_ATTRIBUTES access in CreateFile.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:02:28 +02:00
Jacek Caban 8db78eccab ntdll: Allow FileAccessInformation to be queried on files without fds.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:43:29 +02:00
Jacek Caban 290320a8fe server: Use pipe_end state in FSCTL_PIPE_LISTEN implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 18:47:00 +02:00
Fabian Maurer 754ee56644 ntdll: Add stub for NtCreateLowBoxToken.
This is required by chromium x64 sandbox >=win8.
Chrome for some reason is not affected.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45646
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:52:10 +02:00
Jacek Caban 3375ccba2f server: Use pipe stored in pipe_end in get_named_pipe_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:50 +02:00
Jacek Caban c0905e08da server: Use common implementation for pipe client and server get_sd and set_sd.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:27:40 +02:00
Jacek Caban 59dd8baeac ntdll/tests: Add more NtQueryInformationFile tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:24:52 +02:00
Jacek Caban 32169eafe2 server: Allow pipe server fd caching throughout its whole lifetime.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 584ffc2341 server: Don't use set_no_fd_status for error handling in pipe objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 41e39c6a63 server: Improve FSCTL_PIPE_TRANSCEIVE error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 7038b9ef15 server: Improve named pipe write error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 91852564dc server: Improve named pipe read error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 0973b8d2c3 server: Improve FSCTL_PIPE_PEEK error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 8e5bc0daf7 server: Store pipe state in pipe_end struct and return it in FSCTL_PIPE_PEEK.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 5efd706c22 ntdll/tests: Add pipe state tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Dmitry Timoshkov 7def0f200f ntdll: Don't allow blocking on a critical section during process termination.
As a result HeapLock() no longer blocks process termination since underlying
implementation uses a critical section. However this should be considered as
a minor side effect because applications shouldn't depend on this behaviour.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Michael Stefaniuc 10f23ddb58 ntdll: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Michael Stefaniuc 9f7d802341 ntdll/tests: Avoid temp variables holding ARRAY_SIZE results.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 22:36:27 +02:00
Johannes Brandstätter ec418e7f55 ntdll: Check for NULL context in NtGetContextThread.
Crash Bandicoot N. Sane Trilogy calls NtGetContextThread
with the context being set to NULL which leads to a crash.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45428
Signed-off-by: Johannes Brandstätter <jbrandst@2ds.eu>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 13:35:13 +02:00
Alex Henrie 2c9308e7d5 ntdll: Return chassis info from NtQuerySystemInformation on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Alex Henrie 5008779665 ntdll: Return board info from NtQuerySystemInformation on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Alex Henrie a52c7c962a ntdll: Return system info from NtQuerySystemInformation on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Alex Henrie 28e8e9a164 ntdll: Return BIOS info from NtQuerySystemInformation on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:53 +02:00
Alex Henrie 0bcee5eaf8 ntdll/tests: Add SystemFirmwareTableInformation tests.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:53 +02:00
Mark Jansen 5ae2b885e7 ntdll/tests: Add tests for RtlIpv6AddressToString and RtlIpv6AddressToStringEx.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:45:11 +02:00
Mark Jansen bf6d38258e ntdll/tests: Tests for RtlIpv4StringToAddressEx.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:45:11 +02:00
Michał Janiszewski 3d5d8903b8 ntdll: Prevent Find{Set, Clear}Run from reading past the end of bitmap.
This can be happen in sample arrays (hex):
FindSetRun:   00 00 00 00 00 00 00 ff
FindClearRun: ff ff ff ff ff ff ff 00

Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-10 22:09:32 +02:00
Michał Janiszewski 961061419a ntdll/tests: Add RtlFindNextForwardRun{Set, Clear} tests.
The tests in particular should trigger an edge case in implementation.

Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-10 22:09:25 +02:00
Mark Jansen 1b1e3476b8 ntdll/tests: Tests for RtlIpv6StringToAddressEx.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-10 11:11:41 +02:00
Mark Jansen 4ad6e1b084 ntdll/tests: Tests for RtlIpv6StringToAddress.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 13:37:13 +02:00
Huw Davies 986d5a9958 ntdll/tests: Skip the map protect tests if we can't disable no-exec.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 13:35:04 +02:00
Michał Janiszewski a1ed500836 ntdll: Only set owned bits in RTL_BITMAP.
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 11:22:26 +02:00
Michael Müller 4c13e1765f ntdll: Implement LdrRegisterDllNotification and LdrUnregisterDllNotification.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 10:58:51 +02:00
Roderick Colenbrander 837cb92e0c ntdll: GetLogicalProcessorInformation report LPT_PC_SMT for SMT cores.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:53:24 +02:00
Roderick Colenbrander 13bd1b9f75 ntdll: GetLogicalProcessorInformationEx report LTP_PC_SMT for SMT cores.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:53:24 +02:00
Roderick Colenbrander 1312c66428 ntdll: Report physical cores once with proper thread mask.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:53:24 +02:00
Roderick Colenbrander c6a71b91c5 ntdll: Store core information by core on macOS.
The id parameter can be used for core / package lookup. On Linux
we pass package or core values. On Mac, we use package for both.
Use a core identifier on Mac as well.

Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:53:24 +02:00
Roderick Colenbrander 0fd6556ed2 ntdll: Derive number of logical CPU cores from core mask.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:53:24 +02:00
Michael Stefaniuc 9ef8fa2a0b ntdll/tests: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 01:01:55 +02:00
Michael Stefaniuc 3400da025e ntdll/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 01:01:55 +02:00
Alexandre Julliard 9c57e23d9b ntdll: Implement RtlExpandEnvironmentStrings().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-21 14:20:57 +02:00
Fabian Maurer d863e26834 ntdll: Add stub for WinSqmSetDWORD.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-20 16:05:38 +02:00
Zebediah Figura b8927cf136 ntdll: Implement RtlWow64SetThreadContext().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:01:35 +02:00
Zebediah Figura f135c81b31 ntdll: Implement RtlWow64GetThreadContext().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:01:35 +02:00
Alexandre Julliard 36371075f8 ntdll: Pass the server context to get/set_thread_context().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:01:35 +02:00
Stefan Leichter c35b5b6dae ntdll: Implement RtlReleaseRelativeName.
Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 11:41:59 +02:00
Stefan Leichter bbfc01ccdc ntdll: Partly implement RtlDosPathNameToRelativeNtPathName_U_WithStatus.
Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:56:17 +02:00
Andrew Wesie 407fd270a3 ntdll: Return success for TokenIntegrityLevel in NtSetInformationToken.
Signed-off-by: Andrew Wesie <awesie@gmail.com>
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-18 11:23:18 +02:00
Michael Müller de8d204369 ntdll: Return success for TokenSessionId in NtSetInformationToken.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-18 11:23:15 +02:00
Alex Henrie 760ca4c05f ntdll: Add LdrRegisterDllNotification stub.
Based on a patch by Michael Müller.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-17 10:03:08 +02:00
Michael Müller 3f4af3afce ntdll: Add stub for RtlIpv6StringToAddressExW.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Michael Müller 7aec33ef55 ntdll: Add stub for RtlQueryPackageIdentity.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-08 11:10:44 +02:00
Austin English e13f59085f ntdll: Add DbgUiRemoteBreakin() stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-24 19:05:42 +02:00
Roderick Colenbrander e502dce411 ntdll: Read correct sysfs entry for core information.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 09:27:41 +02:00
Zebediah Figura f80b1f45ff ntdll: Implement _alldvrm() and _aulldvrm().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 18:22:36 +02:00
Alexandre Julliard 52e09e823e ntdll: Add support for loading IL-only dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 20:47:11 +02:00
Sebastian Lackner c61c33ee66 ntdll: Throw exception if invalid handle is passed to NtClose and debugger enabled.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 16:02:55 +02:00
Jacek Caban f2cc9507aa ntdll/tests: Add FSCTL_PIPE_TRANSCEIVE tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:03 +02:00
Alexandre Julliard e46259fb82 ntdll: Check the namespace in RtlQueryActivationContextApplicationSettings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 16:03:57 +02:00
Alexandre Julliard ab3debb2b0 ntdll: Add support for XML namespaces in manifest parser.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 16:03:56 +02:00
Alexandre Julliard 1aaaecba46 ntdll: Store the namespace separately from the XML element name.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 16:03:56 +02:00
Alexandre Julliard 7a349d8d87 ntdll: Check for closing element directly in next_xml_elem().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 16:03:55 +02:00
Alexandre Julliard 7b871727e5 ntdll: Propagate the error through the XML buffer in manifest parser.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 16:01:28 +02:00
Alexandre Julliard 8cf404ddd2 ntdll: Add separate types for XML elements and attributes in manifest parser.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 15:36:43 +02:00
Zebediah Figura f63474b6d5 ntdll/tests: Test DEP exceptions on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 10:30:17 +02:00
Sebastian Lackner 19a3bb2725 ntdll: Set proper ExceptionInformation[0] for x86_64 exceptions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-27 10:30:14 +02:00
André Hentschel 7b3e9ff935 ntdll: Fix build on PowerPC.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:24:29 +01:00
Alexandre Julliard 14b9a5af0b ntdll: Implement RtlQueryActivationContextApplicationSettings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 09:13:31 +01:00
Alexandre Julliard fc14442970 ntdll: Add support for parsing application settings in manifests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 09:12:52 +01:00
Louis Lenders 670622b8fb ntdll: Update version resource.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 11:38:19 +01:00
Martin Storsjo e0780c258f ntdll: Update the ARM64 CONTEXT struct to match Win SDK 10.0.16299.0.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 13:13:59 +01:00
Stefan Leichter f2c51ab761 ntdll/tests: Add tests for RtlCreateRegistryKey.
Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 14:24:01 +01:00
Stefan Leichter 535419a2bf ntdll: Implement RtlCreateRegistryKey.
Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 14:24:01 +01:00
Stefan Leichter f07e8ca8f0 ntdll: Fix RtlCheckRegistryKey when called with empty path.
Signed-off-by: Stefan Leichter <sle85276@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 14:24:00 +01:00
Piotr Caban 47da086af9 ntdll: Change module load order so it matches InLoadOrderModuleList.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 16:41:52 +01:00
Zebediah Figura a462735270 ntdll: Fix exception parameters on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:35:29 +01:00
Andrew Wesie 5644022c26 ntdll: Handle icebp on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:35:29 +01:00
Andrew Wesie bd63cce8f5 ntdll: Handle interrupt 0x2c on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:35:29 +01:00
Sebastian Lackner 2f870c1801 ntdll: Correctly handle privileged instructions on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:35:29 +01:00
Andrew Wesie 453c670ab8 ntdll/tests: Test exception codes on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:35:29 +01:00
Louis Lenders e24af9660a ntdll: Match NtAllocateUuids signature to Windows 2000 instead of NT4.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 18:00:54 +01:00
Alexandre Julliard dfde119538 ntdll: Fix extra comma in x86_64 relay traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 14:13:05 -06:00
Alexandre Julliard 342e2cabd2 ntdll: Avoid pushl %esp instruction in RtlUnwind prolog.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 13:47:01 -06:00
Andrew Wesie 4fda046323 ntdll: Implement NtCreateThreadEx.
Signed-off-by: Andrew Wesie <awesie@gmail.com>
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-08 13:07:36 -06:00
Nikolay Sivov 697d4a710d ntdll: Allow explicitly specified asm.v2 namespace for "trustInfo".
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-06 15:46:09 -06:00
Alexandre Julliard 7aa6dcafbb ntdll: Handle LOAD_LIBRARY_AS_IMAGE_RESOURCE modules when loading resources.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-06 09:15:29 -06:00
Zebediah Figura 08cc41459b ntdll/tests: Add a test for ProcessImageFileNameWin32.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:58:12 -06:00
Zebediah Figura d96a5a0304 ntdll/tests: Simplify ProcessImageFileName test.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:58:09 -06:00
Michael Müller 69029d70f6 ntdll: Implement ProcessImageFileNameWin32 in NtQueryInformationProcess.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:57:37 -06:00
Michael Müller ab3c0a3e0a ntdll: Implement ProcessPriorityClass in NtQueryInformationProcess.
Allows Process Hacker to show process priority.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:56 +01:00
Michael Müller 556ba38dd1 ntdll: Fix error code when querying too large memory address.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-28 17:24:36 +01:00
Alexandre Julliard 1cee60d068 ntdll: Check file identity in addition to file name to find a loaded module.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-28 17:24:36 +01:00
Alexandre Julliard 97b0907439 ntdll: Allow loading 32-bit IL-only binaries on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-28 10:10:28 +01:00
Alexandre Julliard 6d6669fb2d ntdll: Add a helper function to open a dll file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-28 10:02:51 +01:00
Alexandre Julliard bf35c2612c ntoskrnl: Avoid forwarding to ntdll, link directly instead.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 13:47:47 +01:00
Sebastian Lackner 004d32dae6 ntdll: Fix condition mask handling in RtlVerifyVersionInfo.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:45 +01:00
Jacek Caban 1ce2201ed8 server: Share security descriptor among all pipe instances.
Based on patch by Jonathan Doron.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 11:06:43 +01:00
Alexandre Julliard 8b35892b15 ntdll: Print a diagnostic when mscoree cannot be loaded.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-26 18:47:32 +01:00
Sebastian Lackner 5c2523c6f3 ntdll: Don't fail in NtUnmapViewOfSection when trying to unmap builtin view.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-23 15:54:45 +01:00
Alexandre Julliard 39c8875ff8 ntdll: Add support for running IL-only .NET executables.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 09:55:05 +01:00
Nikolay Sivov f8cca445fb ntdll: Allow closing tags for 'supportedOS' elements.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-20 20:14:20 +01:00
Jacek Caban c0d08e13c8 ntdll/tests: Added pipe security descriptor tests.
Based on patch by Jonathan Doron.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-20 18:39:19 +01:00
Alexandre Julliard 12276796c9 ntdll: Hardcode the windows and system directories.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 19:38:29 +01:00
Michael Müller 37c983966b ntdll: Implement RunlevelInformationInActivationContext in RtlQueryInformationActivationContext.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 16:55:08 +01:00
Michael Müller 5875dcd6f9 ntdll: Parse execution level information in manifest data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 16:55:08 +01:00
Alexandre Julliard 5d088206d2 ntdll: Use the image information data when mapping an image file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 12:23:23 +01:00
Alexandre Julliard 1e036633e8 include: Add definitions for SECTION_IMAGE_INFORMATION flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-13 20:23:26 +01:00
Mark Jansen 0f1cb96b69 ntdll: Parse manifest compatibility section.
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 17:20:36 +01:00
Alistair Leslie-Hughes 4bbbc261d1 ntdll: Support TokenLogonSid in NtQueryInformationToken.
Based on a patch by Andrew Wesie.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 19:38:29 +01:00
Alexandre Julliard 7ccae68f6c ntdll: Fix crash on nested thread exit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 19:38:30 +01:00
Alexandre Julliard b1f8a91e6c ntdll: Use MAP_SHARED also for read-only mappings.
This essentially reverts commit dac252ecb4.
It's necessary for macOS.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 14:28:10 +01:00
Alexandre Julliard 73d1b89a12 ntdll: Get rid of the vm86 structure in the TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 17:16:44 +01:00
Alexandre Julliard 4a5890811d ntdll: Block signals during process-wide exit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 16:43:34 +01:00
Alexandre Julliard e7202687fc ntdll: Remove support for vm86 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:57 +01:00
Alexandre Julliard a8a74134e8 ntdll: Check for file mappings that cannot be loaded as dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 15:10:24 +01:00
Alexandre Julliard 60e6331520 ntdll: Move file mapping functionality to a helper function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 15:10:23 +01:00
Alexandre Julliard 41275cbabf ntdll: Don't return 64-bit image info to 32-bit processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 10:59:12 +01:00
Martin Storsjo 4415653f84 ntdll: Implement NtFlushInstructionCache using __clear_cache where available.
The configure check needs to be done with a more elaborate test than
just AC_CHECK_FUNC, since it's a built-in function in clang and errors
out if invoked with no parameters.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Alexandre Julliard 9d911a5736 ntdll: Move suspending a thread on startup back to the platform-specific files.
This partially reverts f64d2688d2.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Alexandre Julliard a83532d8dd ntdll: Store the context on the thread stack after the initial suspend.
The initial stack pointer may have been modified during suspend.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:45 +01:00
Alexandre Julliard 3e80093410 ntdll: Implement RtlPushFrame, RtlPopFrame and RtlGetFrame.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 16:26:13 +01:00
Alexandre Julliard 03d31ea81d server: Only update the modified parts of the context on thread suspend.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 15:18:48 +01:00
André Hentschel dfe813e34f ntdll: Determine write fault based on failed instruction on ARM64.
Based on code from Qemu. Reported by Stefan Dösinger.

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 10:20:07 +01:00
Alexandre Julliard 8a62752fe9 ntdll: Use DWORDs for ARM assembly instructions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-18 19:20:10 +01:00
Alexandre Julliard 7bcb214158 ntdll: Export strnlen.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-18 19:19:28 +01:00
Thomas Faber 42f742e1be ntdll: Handle RtlReAllocateHeap failure in com_class_add_progid (Coverity).
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-18 18:45:12 +01:00
Alexandre Julliard 3e26caf0d8 ntdll: Avoid the strd ARM instruction.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-17 09:35:12 +01:00
Alexandre Julliard 62a1410a07 ntdll: Fix source/destination confusion in vsscanf.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-05 16:09:30 +01:00
Andrey Gusev c4dd0ff5ec ntdll/tests: Fix resource leak.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-04 11:56:41 +01:00
Alexandre Julliard 5020fb7c47 ntdll: Don't set floating point registers from initial context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-02 15:52:21 +01:00
Alexandre Julliard d108ff79d5 ntdll: NtQuerySection takes SIZE_T parameters.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-28 13:06:43 +01:00
Alexandre Julliard 6fe15e6c41 ntdll: Round the pthread stack size to a page boundary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-26 10:14:38 +01:00
Jacek Caban d4d6330f0a server: Add support for querying FileNameInformation on named pipes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 12:19:43 +01:00
Jacek Caban 6b08e60f03 server: Introduce get_file_info request for server-side NtQueryInformationFile implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 12:19:43 +01:00
Jacek Caban 514a157541 ntdll/tests: Add NtQueryInformationFile(FileNameInformation) on named pipes tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 11:52:51 +01:00
Alexandre Julliard c2f34d1b24 ntdll: Reset the exit frame when switching back to it.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-15 12:36:16 +01:00
Alexandre Julliard 6eab1e93f3 ntdll: Define PTHREAD_STACK_MIN if it's missing.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 20:28:48 +01:00
Alexandre Julliard d147c4c323 ntdll: Switch back to the initial stack for thread exit on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 20:28:48 +01:00
Alexandre Julliard f492efdb3c ntdll: Reimplement thread initialization in assembler on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 18:34:46 +01:00
Alexandre Julliard 8a07ee48fa ntdll: Set all registers in set_cpu_context() on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 18:34:19 +01:00
Alexandre Julliard 5e3534ee41 ntdll: Fix handling of floating point arguments in relay debugging on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 13:50:55 +01:00
Alexandre Julliard 7e9f1878db ntdll: Run the thread/process detach code on the thread stack.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 10:54:56 +01:00
Akihiro Sagawa 081eae7ac3 ntdll/tests: Add tests for time zone names.
Test shows internal NT API returns an indirect string, e.g.
@tzres.dll,-32, not a localized one in Vista or later.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-12 18:30:14 +01:00
Alexandre Julliard dac252ecb4 ntdll: Only require MAP_SHARED for writable mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-12 15:15:02 +01:00
Akihiro Sagawa 35d93e02d1 ntdll: Return correct time zone names for Asia/Tokyo and Asia/Yakutsk.
Without this change, for Japan, Wine returns "Korea Standard Time",
not "Tokyo Standard Time" as seen in Bug 42719.

Actually, this is a regression by d666143f88.
The new code relies on offsets from UTC and DST change timings.  However,
Northeast Asia regions don't use daylight saving time.  Thus, Wine can't
distinguish between these regions.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 19:15:19 +01:00
Andrew Eikum f87a2f0e4c ntdll: Don't require full-page reads in NtReadFileScatter.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 19:13:52 +01:00
Andrew Eikum 64edbfa6fe ntdll: Don't return an error when reading past EOF in NtReadFileScatter.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 19:13:41 +01:00
Andrew Eikum 5262761135 ntdll: Report NtReadFileScatter results asynchronously.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 19:13:37 +01:00
Alexandre Julliard 8c1bb2aa61 ntdll: Display floating point arguments in relay debugging on i386 and x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 11:14:02 +01:00
Alexandre Julliard d12717b9a8 server: Add floating point and debug registers to the ARM64 context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:04 +01:00
Alexandre Julliard 4ba0f628f9 server: Add floating point and debug registers to the ARM context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:04 +01:00
Alexandre Julliard 21c12ddc64 ntdll: Fix CONTEXT definition for ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:01 +01:00
Alexandre Julliard eb337adcc2 ntdll: Fix CONTEXT definition for ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 13:21:31 +01:00
Alexandre Julliard b526a48a24 ntdll: Pass the stack pointer to virtual_clear_thread_stack().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:03:55 +01:00
Alexandre Julliard 23ec3ce2a3 ntdll: Start process execution directly at the kernel32 process entry point.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:03:55 +01:00
Alexandre Julliard f64d2688d2 ntdll: Move suspending a thread on startup into attach_dlls().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 20:32:12 +01:00
Alexandre Julliard c3dd077d34 ntdll: Run the entire thread initialization code on the thread stack on remaining platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 19:26:10 +01:00
Alexandre Julliard 32c2cfb861 ntdll: Run the entire thread initialization code on the thread stack on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 19:20:22 +01:00
Alexandre Julliard a89fdd58ec ntdll: Run the entire thread initialization code on the thread stack on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 19:18:57 +01:00
Alexandre Julliard 70b69f3e5f ntdll: Don't return from attach_dlls on failure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 19:06:44 +01:00
Alexandre Julliard 6c61ea6a13 ntdll: Suspend a thread with its start context explicitly before attaching dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 12:15:51 +01:00
Alexandre Julliard 53e4c36ef8 ntdll: Add a platform-specific helper for starting a thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 20:15:30 +01:00
Alexandre Julliard afb16abc0f ntdll: Add a platform-specific helper for starting a process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 17:18:23 +01:00
Alexandre Julliard f8e0bd1b0d ntdll: Put the initial pthread stack at the end of the Win32 stack.
Create a separate view for it so that the main stack can be freed
independently.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 10:44:21 +01:00
Alexandre Julliard 93eceba03e ntdll: Move freeing the thread stack to a common helper.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-29 10:43:39 +01:00
Alexandre Julliard 74b50e27e1 ntdll: Fix stack alignment in relay calls on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-27 16:15:24 +01:00
Alexandre Julliard 822e142403 ntdll: Support magic \1 prefix in debug format for relay traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-25 12:05:40 +01:00
Alexandre Julliard ab9c5625ec ntdll: Print thread id by default in all traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-25 11:42:28 +01:00
Hans Leidekker fdc51fc278 ntdll: Fix size returned from RtlMakeSelfRelativeSD on 64-bit.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-24 16:48:02 +01:00
Alexandre Julliard 5e3cf758d1 ntdll: Set the initial process context on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-21 21:47:42 +01:00
Alexandre Julliard 9e093936e2 ntdll: Use a separate stack when starting new threads.
Based on a patch by Sebastian Lackner.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-21 15:05:50 +01:00
Alexandre Julliard ed893d3591 ntdll: Delay attaching to dlls loaded because of a forwarded entry point.
Based on a patch by Sebastian Lackner.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-21 13:14:16 +01:00
Alexandre Julliard 8477ae27a8 ntdll: Fixup imports in the first thread that runs, even if it's not the main one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-20 20:24:39 +01:00
Alexandre Julliard 03993b456c ntdll: Also check for EACCES to detect noexec failures.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 12:02:16 +01:00
Alexandre Julliard 2e364d25cc ntdll: Fall back to read() on noexec filesystems also for non-image mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 12:02:16 +01:00
Alexandre Julliard 42b79375d3 ntdll: Fall back to read() earlier on noexec filesystems.
This avoid running into problems setting permissions later on.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 21:48:44 +01:00
Sebastian Lackner 959d240cbe ntdll: Avoid crash when trying to access page prot of address beyond address space limit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 14:14:01 +01:00
Alexandre Julliard 5996398360 ntdll: Don't change packing of fd cache entries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:12:08 +01:00
Alexandre Julliard a5b67f3fdd ntdll: Use WINAPIV calling convention for variadic functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 10:16:54 +01:00
Nikolay Sivov 3a3392acc6 ntdll: RtlGetCurrentDirectory_U() returns length, not status.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:33:50 +02:00
Nikolay Sivov 86370cc345 ntdll: Added RtlDosPathNameToNtPathName_U_WithStatus().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:33:44 +02:00
Andrey Gusev 4895156369 ntdll: Remove redundant comparison.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-12 15:59:24 +02:00
Zebediah Figura 7477792b4c server: FSCTL_PIPE_LISTEN on a pipe client should return STATUS_ILLEGAL_FUNCTION.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 19:52:36 +02:00
Zebediah Figura cd4dc08b30 ntdll/tests: Don't abort if NtCancelFileIoEx() is missing.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 19:52:22 +02:00
Jacek Caban f449146ae3 ntdll: Remove no longer needed handling of FD_TYPE_PIPE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:53:59 +02:00
Jacek Caban 4e17ff7c98 ntdll/tests: Remove no longer needed Sleep calls.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:52:38 +02:00
Huw Davies 2175852f5a ntdll: Add free list buckets for every arena size up to 0x100.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:52:29 +02:00
Alexandre Julliard 49d3cac9ce ntdll: Don't try to unmap system views on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 10:45:10 +02:00
Alexandre Julliard 0374d86c57 ntdll: Ignore the preload start address if it is zero.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 10:45:10 +02:00
Jacek Caban 1e87417e7f ntdll: Always use server ioctl for FSCTL_PIPE_PEEK.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 19:33:09 +02:00
Louis Lenders 9a53298eed ntdll: Add stub for RtlGetUnloadEventTrace.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 22:27:00 +02:00
Jacek Caban 7eb7854161 server: Use server side named pipe implementation in byte mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:40:56 +02:00
Alexandre Julliard dc203dd833 ws2_32: Lock the user output buffer during receives.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 13:38:29 +02:00
Jacek Caban 3f07c6e256 server: Add FileFsDeviceInformation implementation for named pipes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 09:41:19 +02:00
Jacek Caban 2ab2f31f18 server: Allow server side NtQueryVolumeInformationFile implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 09:39:52 +02:00
Akihiro Sagawa f9a5ad1348 ntdll: Treat CIFS/SMB2 file systems as remote devices.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-02 10:14:13 +02:00
Alex Henrie 71e04aaa38 ntdll: Add stub for RtlIpv4StringToAddressW.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 11:01:49 +02:00
Michael Müller e0392c3ba8 ntdll: Fix parameters of RtlIpv4StringToAddressExW.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 11:01:41 +02:00
Alexandre Julliard a27f187503 ntdll: Support loading binaries that start inside the DOS area.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-27 09:30:05 +02:00
Alexandre Julliard 5fa8713ddc ntdll: No longer store the mapping handle with the view.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:45 +02:00
Alexandre Julliard ab182dbf06 server: No longer store the mapping object in the dll structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:45 +02:00
Alexandre Julliard aa90910e93 server: Implement NtAreMappedFilesTheSame functionality on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:45 +02:00
Alexandre Julliard 26314a56d3 server: Access the list of committed ranges directly from the mapped view.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:44 +02:00
Alexandre Julliard a557934c76 server: Keep track of mapped memory views.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:44 +02:00
Jacek Caban 4df0162caf ntdll/tests: Test NtQueryVolumeInformationFile calls on named pipe object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 23:29:10 +02:00
Stefan Dösinger bf6025e0e1 ntdll: Do not queue a completion status if pipe ops fail synchronously.
This fixes random crashes when exiting Chromium or shutting down CEF.
It is similar to 7a1142035d, just for pipes.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 23:29:10 +02:00
Alexandre Julliard 51d348c8c2 ntdll: Add helpers to lock the user output buffer during file reads.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:10:42 +02:00
Alexandre Julliard a20c4e11df ntdll: Add a helper to lock the user output buffer during a server call.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:10:21 +02:00
Alexandre Julliard af045a52e2 ntdll: Add helper functions for verifying write access to a memory range.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:05:26 +02:00
Alexandre Julliard 8bc95aa74b ntdll: Handle pages faults without fetching the view pointer when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:05:26 +02:00
Alexandre Julliard 1049acc28f ntdll: Handle stack faults without fetching the view pointer.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:05:25 +02:00
Alexandre Julliard 872228da4c ntdll: Remove some unnecessary parameters in helper functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:05:25 +02:00
Alexandre Julliard 0eefa76791 ntdll: Suspend the process before attaching dlls, using the process initial context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:43:00 +02:00
Alexandre Julliard e6f68708c5 ntdll: Set the initial process context on x86_64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:24:31 +02:00
Alexandre Julliard 8b929bd759 ntdll: Set the initial process context on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:14:11 +02:00
Alexandre Julliard 8c103f298b ntdll: Add support for setting a platform-specific initial context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:10:14 +02:00
Alexandre Julliard 9979c793e8 ntdll: Don't clear the last page of the initial stack.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:03:09 +02:00
Alexandre Julliard a003f0aed8 ntdll: Store the kernel32 process entry point in a global variable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 11:59:58 +02:00
Alexandre Julliard bf8e71bcab ntdll: Don't use the mapping handle to detect file mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-13 11:49:19 +02:00
Alexandre Julliard 3f0362ec3c ntdll: Also release memory past the last view in remove_reserved_area.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-13 10:12:14 +02:00
Jonathan Doron fbf2631dcb ntdll: Apply owner and group regardless of the SE_OWNER_DEFAULTED or SE_GROUP_DEFAULTED flags.
Signed-off-by: Jonathan Doron <jond@wizery.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-13 08:41:29 +02:00
Alexandre Julliard b8d0a59a2e ntdll: Get rid of the VPROT_VALLOC flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-12 20:32:01 +02:00
Alexandre Julliard 1c8a36a91c ntdll: Pass the mapping file access instead of the protection bits to the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-12 20:32:01 +02:00
Alexandre Julliard f448be618b ntdll: Verify page protection against the mapping protections in VirtualAlloc and VirtualProtect.
This partially reverts 3a5ee02735.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-12 20:32:01 +02:00
Alexandre Julliard 94872cc84f ntdll: Fix access rights checks for mapping objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-12 20:32:01 +02:00
Alexandre Julliard 78ab8aa46a ntdll: Trace views once they are properly initialized.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 19:51:43 +02:00
Alexandre Julliard 8dc8b3e9c0 ntdll: Avoid accessing builtin views outside of the critical section.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 19:50:30 +02:00
Alexandre Julliard 26c59d845e ntdll: Ignore attempts to commit pages in an already committed anonymous mapping.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:15 +02:00
Alexandre Julliard 5073beaefe ntdll: Store the SEC_* section flags directly in the view protection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:15 +02:00
Alexandre Julliard b2624ab99a ntdll: Remove the no longer used VPROT_NOEXEC flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:15 +02:00
Alexandre Julliard 08acac0864 ntdll: Disallow changing PAGE_NOCACHE flag for individual pages.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:15 +02:00
Alexandre Julliard 2967e3efb6 ntdll: Store memory views in a binary tree instead of a list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 19:32:29 +02:00
Alexandre Julliard 917d98a457 ntdll: Use the find_view_range helper function to check for overlapping views.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 19:07:32 +02:00
Stefan Dösinger af35aada9b ntdll: Make RtlDeregisterWaitEx(handle, INVALID_HANDLE_VALUE) thread safe.
Chromium signals the wait semaphore and calls DeregisterWaitEx with
CompletionHandle = INVALID_HANDLE_VALUE in close succession. Sometimes
the worker thread decides to run the callback, but before it sets
CallbackInProgress RtlDeregisterWaitEx decides that the callback is not
running and returns STATUS_SUCCESS. Chromium then releases resources
that the callback needs to run, resulting in random crashes.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 20:32:07 +02:00
Alexandre Julliard 3bfd7973a4 ntdll: Don't do partial writes in virtual_uninterrupted_write_memory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 17:31:00 +02:00
Alexandre Julliard a0f64e1231 ntdll: Allocate views out of a memory block instead of using a heap.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 10:01:07 +02:00
Alexandre Julliard 2e12f7cdd6 ntdll: Remove the view parameter from the page protection helpers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 16:53:37 +02:00
Alexandre Julliard 3ecf069e45 ntdll: Allocate the per-page protection byte separately from the view.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 16:53:37 +02:00
Alexandre Julliard eb5c187254 ntdll: Pass the allocation size to the alloc_virtual_heap function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 16:22:38 +02:00
Alexandre Julliard 4069c4a4d1 ntdll: Add a helper function for applying page protection bytes with mprotect.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 16:22:37 +02:00
Alexandre Julliard e4b5e5da8a ntdll: Add a helper function for setting bits in page protection bytes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 16:21:47 +02:00
Alexandre Julliard 727b94842e ntdll: Add helper functions for getting and setting page protection bytes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 16:21:45 +02:00
Alexandre Julliard b31583770f ntdll: Store the PEB lock pointer in the PEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 10:08:01 +02:00
Alistair Leslie-Hughes cb13ee3bf1 ntdll: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 12:47:14 +02:00
Sebastian Lackner dee9eaa248 ntdll: Fix a TRACE in NtGetContextThread.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:11:55 +09:00
Alistair Leslie-Hughes 3b05f552e2 ntdll/tests: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:13:55 +09:00
Martin Storsjo 4eb2c5532d ntdll: Simplify the arm version of a stub function.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-01 16:28:37 +02:00
Martin Storsjo dd30536044 ntdll: Implement allocate_stub for arm64.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-01 16:28:14 +02:00