Eric Kohl [Sat, 1 Sep 2018 19:08:14 +0000 (21:08 +0200)]
[MSGINA] Display the 'account expired' message when a user tries to log on using an expired account.
Thomas Faber [Sat, 1 Sep 2018 16:23:25 +0000 (18:23 +0200)]
[USBOHCI_NEW] Avoid storing pointers as ULONG and physical addresses as pointers.
Thomas Faber [Sat, 1 Sep 2018 16:01:40 +0000 (18:01 +0200)]
[USBHUB_NEW] Fix x64 warnings.
Amine Khaldi [Sat, 1 Sep 2018 15:45:45 +0000 (16:45 +0100)]
[USBUHCI_NEW] Bring-in the USB UHCI miniport driver created by Vadim Galyant. (#245)
Denis Malikov [Sat, 25 Aug 2018 15:26:18 +0000 (22:26 +0700)]
[KERNEL32] fix spec file for -version=0x600+
CORE-12596
Hermès Bélusca-Maïto [Sat, 1 Sep 2018 15:18:03 +0000 (17:18 +0200)]
[GDI32_APITEST:GetTextFace] Replace tabs by spaces.
Doug Lyons [Sat, 1 Sep 2018 15:13:50 +0000 (17:13 +0200)]
[GDI32_APITEST] Add tests for GetTextFaceAliasW(), based on Katayama Hirofumi MZ's tests from CORE-14926.
CORE-14995
Pierre Schweitzer [Sat, 1 Sep 2018 13:46:44 +0000 (15:46 +0200)]
[KERNEL32] Shhhh!
Pierre Schweitzer [Sat, 1 Sep 2018 13:22:41 +0000 (15:22 +0200)]
[KMTESTS:CC] Add tests for PIN_EXCLUSIVE
Pierre Schweitzer [Sat, 1 Sep 2018 10:40:24 +0000 (12:40 +0200)]
[KMTESTS:CC] Add a test for pinning without access
Pierre Schweitzer [Sat, 1 Sep 2018 10:39:05 +0000 (12:39 +0200)]
[NTOSKRNL] Fail on pinning when there's no pin access set
Instead of assert, now, CcPinRead will just fail. This is
not consistent without Windows behavior, but still better
than asserting while testing!
Pierre Schweitzer [Sat, 1 Sep 2018 10:29:09 +0000 (12:29 +0200)]
[KMTESTS:CC] Add tests for PIN_IF_BCB flag
Pierre Schweitzer [Sat, 1 Sep 2018 10:20:17 +0000 (12:20 +0200)]
[KMTESTS:CC] Duplicate tests for CcPinRead
To be extended.
Pierre Schweitzer [Sat, 1 Sep 2018 10:18:51 +0000 (12:18 +0200)]
[KMTESTS:CC] Add missing FsRtlEnter/ExitFileSystem() calls
Spotted by Thomas
Pierre Schweitzer [Sat, 1 Sep 2018 08:10:09 +0000 (10:10 +0200)]
[KMTESTS:CC] That wasn't meant to be committed
Serge Gautherie [Mon, 27 Aug 2018 17:12:56 +0000 (19:12 +0200)]
[COMCTL32_WINETEST] treeview.c: Skip test_right_click()
until CORE-14975 is fixed upstream and WINESYNC.
CORE-14975
Pierre Schweitzer [Fri, 31 Aug 2018 21:29:59 +0000 (23:29 +0200)]
[KMTESTS:CC] Add a test to show we map our buffers wrong in CC
That is expected (cf. CORE-14259)
Pierre Schweitzer [Fri, 31 Aug 2018 21:08:25 +0000 (23:08 +0200)]
[KMTESTS:CC] Remove dummy leftover
Pierre Schweitzer [Fri, 31 Aug 2018 21:07:46 +0000 (23:07 +0200)]
[KMTESTS:CC] Extended previous test to show an overlap is enough
Pierre Schweitzer [Fri, 31 Aug 2018 21:01:06 +0000 (23:01 +0200)]
[KMTESTS:CC] Add a test that shows that our CC implementation duplicates BCB
It should instead reuse BCBs when mapping something already mapped.
Pierre Schweitzer [Fri, 31 Aug 2018 17:48:03 +0000 (19:48 +0200)]
[NTOSKRNL] Fix a typo
Pierre Schweitzer [Fri, 31 Aug 2018 17:43:04 +0000 (19:43 +0200)]
[NTOSKRNL] Warn about unimplemented feature in CcMapData() (in all callers)
Currently, our CcMapData() behavior (same goes for CcPinRead()) is broken
and is the total opposite of what Windows kernel does. By default, the later
will let you map a view in memory without even attempting to bring its
data in memory. On first access, there will be a fault and memory will
be read from the hardware and brought to memory. If you want to force read
on mapping/pinning, you have to set the MAP_NO_READ (or PIN_NO_READ) flag
where kernel will fault on your behalf (hence the need for MAP_WAIT/PIN_WAIT).
On ReactOS, by default, on mapping (and thus pinning), we will force a view
read so that data is in memory. The way our cache memory is managed at the
moment seems not to allow to fault on invalid access and if we don't force
read, the memory content will just be zeroed.
So trying to match Windows behavior, by default, now CcMapData() will enforce
the MAP_NO_READ flag and warn once about this behavior change.
Serge Gautherie [Fri, 31 Aug 2018 06:46:48 +0000 (08:46 +0200)]
[KMTESTS] Re-enable kmtest_.exe installation (#389)
ExPools and other tests don't break Windows Server 2003 anymore.
Revert r73535, so KmTests run on "Test WHS" bot.
CORE-12657
Hermès Bélusca-Maïto [Thu, 30 Aug 2018 20:54:49 +0000 (22:54 +0200)]
[MODULES] Order the cmake inclusions alphabetically as we're used to everywhere else.
Hermès Bélusca-Maïto [Sun, 5 Nov 2017 20:15:08 +0000 (21:15 +0100)]
[REACTOS] Introduce a "DEBUGFORMAT" environment variable that allows to select different debug trace formats.
CORE-12671
- The default format is used when no format name is specified: this is
the one we use so far in ReactOS:
<debug_class>:(<file>:<line>) <message>
with "debug_class" being "trace", "warn", "err".
- The "wine" format is the one used by Wine. It can be used when trying
to diff-compare traces for a module with the corresponding one
obtained from a Wine run. It can also be useful because the logging of
Wine-synced code assumes that the function names are automatically
added by the helper macros "FIXME()", "TRACE()", "WARN()" or "ERR()",
and not manually inside the logging string given to these macros:
for example:
FIXME("(%params) message\n", params);
displays:
fixme:<module>:SomeFunc(params) message
- The "extended" (or "ext") format is very noisy and tries to output a
lot of information; it is a hybrid of the previous two formats:
<debug_class>:(<file>:<line>):<channel>:SomeFunc <message>
Support for displaying the current process ID is added in
addition to the already existing support for thread ID.
Katayama Hirofumi MZ [Thu, 30 Aug 2018 12:34:03 +0000 (21:34 +0900)]
[WIN32SS][FONT] Fix GetTextFace function and related (#829)
Google Chrome with -no-sandbox parameter in ReactOS wouldn't display the web page because first-chance exception raised.
CORE-14926
- Remove FullName, Style, and FaceName members from TEXTOBJ structure.
- Add TextFace member into TEXTOBJ structure.
- Add MatchFontName() and MatchFontNames() helper functions.
- Fix GetTextFace() and related.
Katayama Hirofumi MZ [Thu, 30 Aug 2018 11:07:22 +0000 (20:07 +0900)]
[FONT][SETUP] Add 'Tms Rmn' and 'Times' font substitutes (#830)
Add "Tms Rmn" and "Times" font substitutes (same as "Times New Roman"). Windows has these substitutes, hence we also need those to remain compatible.
David Quintana [Thu, 30 Aug 2018 01:45:40 +0000 (03:45 +0200)]
[CMAKE] Update baseaddress files to match latest changes.
Katayama Hirofumi MZ [Wed, 29 Aug 2018 22:50:06 +0000 (07:50 +0900)]
[STORAHCI] Fix MSVC "uninitialized local variable" error (C4700) (#828)
See also PR #821.
Katayama Hirofumi MZ [Wed, 29 Aug 2018 22:46:02 +0000 (07:46 +0900)]
[SDK] Duplicate English messages as Polish Messages (#826)
David Quintana [Wed, 29 Aug 2018 22:26:47 +0000 (00:26 +0200)]
[MC] Fix VS2017 build.
Eric Kohl [Wed, 29 Aug 2018 20:03:53 +0000 (22:03 +0200)]
[NET] Initialize a new users primary group ID in order to fix logon failures
Eric Kohl [Sun, 26 Aug 2018 22:43:34 +0000 (00:43 +0200)]
[NET] Fix indentation
Pierre Schweitzer [Wed, 29 Aug 2018 06:32:08 +0000 (08:32 +0200)]
[CDFS] Revert
9d0596a
The appropriate fix was the previous one, where the macro
for checking legal chars have been fixed.
Thanks to MS for their review :-).
CORE-14067
Pierre Schweitzer [Wed, 29 Aug 2018 06:30:18 +0000 (08:30 +0200)]
[SDK] Fix the implementation of the FsRtlIsAnsiCharacter* macros.
These macros should be implemented using the FsRtlTestAnsiCharacter() macro
that performs extended tests, especially for buffer overruns.
This fixes FsRtlIsAnsiCharacterWild(), FsRtlIsAnsiCharacterLegalFat(),
FsRtlIsAnsiCharacterLegalHpfs(), FsRtlIsAnsiCharacterLegalNtfs().
CORE-14067
Joachim Henze [Tue, 28 Aug 2018 12:24:49 +0000 (14:24 +0200)]
[SHELL32] Fix typo in comment
Katayama Hirofumi MZ [Tue, 28 Aug 2018 10:45:03 +0000 (19:45 +0900)]
[TCPSVCS] Remove hardcoded C drive letter (#800)
CORE-13228, CORE-13235
For USETUP, add a comment about why the code uses it when adding a boot-sector boot entry to NTLDR. CORE-13226
Pierre Schweitzer [Tue, 28 Aug 2018 05:48:44 +0000 (07:48 +0200)]
[CDFS] Properly check for legal names in CdIsLegalName()
Up to now, it was working by chance. Indeed, due to the invalid
ASCII check performed before calling FsRtlIsAnsiCharacterLegalHpfs(), the
macro is improperly called and overruns the FsRtlLegalAnsiCharacterArray
buffer. Fortunately, up to now, right after that buffer in kernel binary
there are strings which are more or less consistent with the flags that
are expected by the macro, causing a decent behavior of
FsRtlIsAnsiCharacterLegalHpfs() even for extended ASCII characters
(whereas FsRtlIsAnsiCharacterLegalHpfs() is only designed for ASCII
characters). But this is a totally out of control and wrong behavior.
A single change in the way the kernel was built could have caused the
CDFS driver not to work as previously.
I have made the choice to allow any extended ASCII character as done
for the unicode characters. This is a good compromise to avoid drastic
regressions for users having extended ASCII characters in their CD
file names.
This imports proposed upstream commit
1b6b625641dffb49951e60398e1a9c672318ea71
See pull request https://github.com/Microsoft/Windows-driver-samples/pull/278
CORE-14067
Hermès Bélusca-Maïto [Mon, 27 Aug 2018 21:55:58 +0000 (23:55 +0200)]
[USETUP] Progress-bar: minor improvements.
- Simplify the usage of the PUPDATE_PROGRESS callback.
- Add the possibility of specifying an initial non-zero StepCount when
creating the progress-bar (using the -Ex version), so that it can be
initially drawn with the expected initial count.
Of course ProgressSetStepCount() can continue to be used.
Mark Jansen [Thu, 23 Aug 2018 22:15:02 +0000 (00:15 +0200)]
[LDR] Load kernel32 in LdrpInitializeProcess.
This allows kernel32 to register itself for manifest probing when loading dlls
CORE-9219
Mark Jansen [Thu, 23 Aug 2018 12:53:57 +0000 (14:53 +0200)]
[NTDLL_APITEST] Various small fixes
- Add a missing file
- Add convenience targets for MSVC_IDE
- Remove whitespace at the end of the lines
Mark Jansen [Fri, 24 Aug 2018 13:59:57 +0000 (15:59 +0200)]
[COMCTL32] Unregister some classes that were registered.
This should help fix some crashes.
LuRenJia [Mon, 27 Aug 2018 12:36:28 +0000 (20:36 +0800)]
[MAGNIFY] Fix the magnification ratio bug for CORE-14946 (#823)
This bug was caused by leaving the magnify window unrefreshed when updating the "Magnification Level" ComboBox.
CORE-14946
Katayama Hirofumi MZ [Mon, 27 Aug 2018 10:21:51 +0000 (19:21 +0900)]
[SHELL32] Adjust the IDC_PICKICON_LIST control's height in the IDD_PICK_ICON dialog resource. (#824)
CORE-14974
Mark Jansen [Sun, 26 Aug 2018 20:38:27 +0000 (22:38 +0200)]
[SHELL32] Check the result from PathUnExpandEnvStringsW
Mark Jansen [Sun, 26 Aug 2018 20:37:49 +0000 (22:37 +0200)]
[SHELL32] Remove some mostly dead code from CShellLink
Katayama Hirofumi MZ [Mon, 27 Aug 2018 01:12:55 +0000 (10:12 +0900)]
[SDK][CRT] Fix _ismbblead undefined error on MSVC
Hermès Bélusca-Maïto [Sun, 26 Aug 2018 22:25:48 +0000 (00:25 +0200)]
[TIMEOUT] Fix a typo.
Hermès Bélusca-Maïto [Sun, 26 Aug 2018 22:22:07 +0000 (00:22 +0200)]
[USETUP] Implement a basic console 'input queue' and implement PeekConsoleInput() and CONSOLE_ConInKeyPeek() around it.
Eric Kohl [Sun, 26 Aug 2018 22:19:10 +0000 (00:19 +0200)]
[LSASRV] LsapLogonUser creates an impersonation token for a network logon
Eric Kohl [Sun, 26 Aug 2018 22:12:44 +0000 (00:12 +0200)]
[SAMSRV] Simplify the initialization of the account expiration time
Eric Kohl [Sun, 26 Aug 2018 22:11:21 +0000 (00:11 +0200)]
[SAMLIB] Add stubs for SamTestPrivateFunctionsDomain and SamTestPrivateFunctionsUser
Pierre Schweitzer [Sun, 26 Aug 2018 20:56:25 +0000 (22:56 +0200)]
[NTOSKRNL] Properly reset pinning state on pinning failure
Pierre Schweitzer [Sun, 26 Aug 2018 20:47:48 +0000 (22:47 +0200)]
[NTOSKRNL] When acquiring BCB shared, starve exclusive waiters
Pierre Schweitzer [Sun, 26 Aug 2018 20:04:46 +0000 (22:04 +0200)]
[NTOSKRNL] Handle the PIN_WAIT flag in CcPinMappedData()
Pierre Schweitzer [Sun, 26 Aug 2018 19:49:05 +0000 (21:49 +0200)]
[NTOSKRNL] Stubplement CcPinMappedData() and simplify CcPinRead()
It's based on the code that was in CcPinRead() implementation. This
made no sense to have CcPinMappedData() doing nothing while implementing
everything in CcPinRead(). Indeed, drivers (starting with MS drivers)
can map data first and pin it afterwards with CcPinMappedData(). It was
leading to incorrect behavior with our previous noop implementation.
Eric Kohl [Sun, 26 Aug 2018 19:26:31 +0000 (21:26 +0200)]
[SAMSRV] Simplify the initialization of the account expiration date for new user accounts
Eric Kohl [Sun, 26 Aug 2018 19:06:32 +0000 (21:06 +0200)]
[NETAPI32] Add code to handle special values of the last logon time, last logoff time and account expiration time
Hermès Bélusca-Maïto [Sun, 26 Aug 2018 18:40:34 +0000 (20:40 +0200)]
[USETUP] Progress-bar: Add support for displaying a custom progress text.
Hermès Bélusca-Maïto [Sun, 26 Aug 2018 18:31:14 +0000 (20:31 +0200)]
[USETUP] Progress-bar: Code formatting, add annotations, don't use floats.
Hermès Bélusca-Maïto [Sun, 26 Aug 2018 14:41:43 +0000 (16:41 +0200)]
[USETUP] DrawProgressBar(): Draw the progress bar borders first, then draw its contents.
Eric Kohl [Sun, 26 Aug 2018 18:26:34 +0000 (20:26 +0200)]
[NET] Set the proper account expiration time (TIMEQ_FOREVER) when a new user account is created
Katayama Hirofumi MZ [Sun, 26 Aug 2018 13:37:15 +0000 (22:37 +0900)]
[SHELL32] Fix CShellLink::GetIconLocation (#810)
Fixes a regression from PR #784.
CORE-14961, CORE-14009
Denis Malikov [Sun, 26 Aug 2018 13:19:26 +0000 (20:19 +0700)]
[NTOS:KE] Fix stub for KeAcquireInStackQueuedSpinLockForDpc (#814)
Error was found when building as 0x600+.
CORE-12596
Eric Kohl [Sat, 25 Aug 2018 22:13:14 +0000 (00:13 +0200)]
[NET] Add a date parser for the expires option of the net user command
Eric Kohl [Sat, 25 Aug 2018 17:49:29 +0000 (19:49 +0200)]
[NTOSKRNL] IopGetDeviceProperty: Initialize power data struct and convert flags from device capabilities to power data
Pierre Schweitzer [Sat, 25 Aug 2018 12:23:45 +0000 (14:23 +0200)]
[KMTESTS:FSRTL] Add tests for the FsRtlIsAnsiCharacter* macro
This covers: FsRtlIsAnsiCharacterWild, FsRtlIsAnsiCharacterLegalFat, FsRtlIsAnsiCharacterLegalHpfs,
FsRtlIsAnsiCharacterLegalNtfs, FsRtlIsAnsiCharacterLegalNtfsStream
Pierre Schweitzer [Sat, 25 Aug 2018 12:01:54 +0000 (14:01 +0200)]
[NTOSKRNL] Add the OLE flag where appropriate in FsRtlLegalAnsiCharacterArray
This brings in the ability to check NTFS streams names (OLE | NTFS).
This fixes failing tests from previous commit.
Pierre Schweitzer [Sat, 25 Aug 2018 11:56:33 +0000 (13:56 +0200)]
[KMTESTS:FSRTL] Add tests for FsRtlLegalAnsiCharacterArray
These are failing in ReactOS due to the lack of the OLE flag support.
Katayama Hirofumi MZ [Fri, 24 Aug 2018 11:37:59 +0000 (20:37 +0900)]
[WIN32SS][NTGDI] Extend PATH_FillPath as PATH_FillPathEx (#798)
The new PATH_FillPathEx function takes an additional PBRUSH parameter.
CORE-2527
Katayama Hirofumi MZ [Fri, 24 Aug 2018 10:38:35 +0000 (19:38 +0900)]
[FONTS] Improve Tahoma font (14px bitmap and ligatures) (#809)
Add 14-pixel height bitmap, and improve some ligatures (fi and fl).
CORE-12091
Baruch Rutman [Thu, 23 Aug 2018 17:43:12 +0000 (20:43 +0300)]
[WIN32SS][LPK] Add BiDi support to menus and window captions (#738)
Added callback function that redirects calls to GreExtTextOutW that didn't went through lpk BiDi processing, calls that are from the kernel.
Completely solves JIRA issue CORE-6910.
Hermès Bélusca-Maïto [Thu, 23 Aug 2018 15:04:53 +0000 (17:04 +0200)]
[CONUTILS] In ConWrite(), emit an \r when a \n is encountered but not already preceded by \r.
And, don't emit \r\n when an \r alone is encountered.
This fixes the problem of extra newlines appearing when redirecting
"more" output to a file.
CORE-14592
Joachim Henze [Wed, 22 Aug 2018 23:22:43 +0000 (01:22 +0200)]
[SDK] "0.4.11-dev" Starts here.
tag will be added in next commit.
Katayama Hirofumi MZ [Wed, 22 Aug 2018 17:40:11 +0000 (02:40 +0900)]
[NFSD] [TELNET] Remove the hardcoded directory paths C:\ReactOS
CORE-14747
Katayama Hirofumi MZ [Wed, 22 Aug 2018 12:26:53 +0000 (21:26 +0900)]
[TRANSLATION][ZIPFLDR] Add Japanese translation (#799)
CORE-14954
Serge Gautherie [Sat, 21 Jul 2018 23:08:55 +0000 (01:08 +0200)]
[ADVAPI32_WINETEST] Restore service.c changes from
3c1b7834e1
This reverts commit
a67df65c4f5337f14043709ae758361f0b0a3b31.
New failure was fixed by previous SERVICES commit.
Thus new timeout is avoided.
CORE-14521
Serge Gautherie [Sat, 21 Jul 2018 01:01:03 +0000 (03:01 +0200)]
[SERVICES] RChangeServiceConfig2A(): Zero-Initialize InfoW variable
This lets forward NULL Info.psd/Info.psd->lpDescription/Info.psfa,
instead of an uninitialized value.
CORE-14521
Baruch Rutman [Tue, 21 Aug 2018 15:21:21 +0000 (18:21 +0300)]
[FONTS] Update Hebrew font subtitutions (#795)
Updated the font substitutions to use the new Hebrew glyphs in the updated Tahoma font.
Also added substitution for the Ubuntu font to make the Lautus and Modern themes legible with Hebrew UI elements.
Follow up to PR #789 and #790 ; CORE-14880, CORE-14943
Andreas Bjerkeholt [Tue, 21 Aug 2018 14:57:01 +0000 (16:57 +0200)]
[TRANSLATION][ZIPFLDR] Add Swedish translation (#794)
Bișoc George [Tue, 21 Aug 2018 13:49:54 +0000 (15:49 +0200)]
[USETUP] Implement CreateProgressBarEx() (#791)
Improve the progress bar functions:
- Add a member in the struct, which will be used as a bar colour parameter for the new CreateProgressBarEx().
- CreateProgressBar() which will now invoke the Ex variant without the additional parameter.
Serge Gautherie [Fri, 25 May 2018 10:59:47 +0000 (12:59 +0200)]
[CMAKE] MSVC_IDE: Enable 'unset(CMAKE_IMPORT_LIBRARY_SUFFIX)'
Resolve r67773 "# FIXME: Remove the MSVC_IDE condition when the upcoming RosBE lands.".
Katayama Hirofumi MZ [Tue, 21 Aug 2018 13:35:52 +0000 (22:35 +0900)]
[FONTS] Add Hebrew vector glyphs to Tahoma Bold font (#790)
Bitmap glyphs are not added.
CORE-14943
Katayama Hirofumi MZ [Tue, 21 Aug 2018 13:35:18 +0000 (22:35 +0900)]
[FONTS] Add Hebrew vector glyphs to Tahoma font (#789)
Bitmap glyphs are not added.
CORE-14943
Serge Gautherie [Wed, 18 Jul 2018 13:00:22 +0000 (15:00 +0200)]
[MSHTML] Fix 3 MSVC warnings about HTML*Element_handle_event()
- "...\htmlanchor.c(769) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlarea.c(427) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlform.c(757) : warning C4028: formal parameter 2 different from declaration"
Cherry-pick Jacek Caban https://source.winehq.org/git/wine.git/commit/
a660f673cb7d6d04e0f2a9a98cff439b5403365b
CORE-7538
Hermès Bélusca-Maïto [Sun, 3 Dec 2017 17:49:41 +0000 (18:49 +0100)]
[CMD] Add missing memory allocation NULL checks (#161). CORE-8304
Adapted from a patch by Jacob S. Preciado.
Bring also the code suggestions emitted during review.
Katayama Hirofumi MZ [Tue, 21 Aug 2018 11:49:32 +0000 (20:49 +0900)]
[SHELL32] Enable to change shortcut icon (#784)
CORE-11407
Robert Naumann [Tue, 21 Aug 2018 08:05:50 +0000 (10:05 +0200)]
[BROWSEUI] Show Tooltip text for 'Go' Button
-Patch by Barret Karish CORE-11058
Pierre Schweitzer [Tue, 21 Aug 2018 10:41:50 +0000 (12:41 +0200)]
Pierre Schweitzer [Tue, 21 Aug 2018 10:32:15 +0000 (12:32 +0200)]
[CDFS_NEW] -> [CDFS] No old driver, thus no new driver
Pierre Schweitzer [Tue, 21 Aug 2018 10:27:35 +0000 (12:27 +0200)]
[CDFS] Delete the old CDFS driver.
You served us well!
Andreas Bjerkeholt [Tue, 21 Aug 2018 09:14:14 +0000 (11:14 +0200)]
[ZIPFLDR] Enable / disable the correct wizard buttons
Timo Kreuzer [Tue, 21 Aug 2018 09:25:22 +0000 (11:25 +0200)]
[NTOS:Mm] Fix a 64 bit issue in MmMapViewOfArm3Section (#778)
Fixes a Clang-Cl warning
CORE-14306
Timo Kreuzer [Tue, 21 Aug 2018 08:35:57 +0000 (10:35 +0200)]
[NTOS] Fix MiFindInitializationCode (#751)
Short: The code was suffering from an off-by-one bug (inconsistency between inclusive end exclusive end address), which could lead to freeing one page above the initialization code. This led to freeing part of the kernel import section on x64. Now it is consistently using the aligned/exclusive end address.
Long:
* Initialization sections are freed both for the boot loaded images as well as for drivers that are loaded later. Obviously the second mechanism needs to be able to run at any time, so it is not initialization code itself. For some reason someone decided though, it would be a smart idea to implement the code twice, once for the boot loaded images, once for drivers and concluding that the former was initialization code itself and had to be freed.
* Since freeing the code that frees the initialization sections, while it is doing that is not possible, it uses a "smart trick", initially skipping that range, returning its start and end to the caller and have the caller free it afterwards.
* The code was using the end address in an inconsistent way, partly aligning it to the start of the following section, sometimes pointing to the last byte that should be freed. The function that freed each chunk was assuming the latter (i.e. that the end was included in the range) and thus freed the page that contained the end address. The end address for the range that was returned to the caller was aligned to the start of the next section, and the caller used it to free the range including the following page. On x64 this was the start of the import section of ntoskrnl. How that worked on x86 I don't even want to know.
Pierre Schweitzer [Tue, 21 Aug 2018 06:50:29 +0000 (08:50 +0200)]
[FASTFAT] Drop an useless #ifdef, we have this cast in all other FSDs
Pierre Schweitzer [Tue, 21 Aug 2018 06:36:51 +0000 (08:36 +0200)]
[FASTFAT] Finally drop the TAG_VFAT allocation tag
Mark Jansen [Tue, 21 Aug 2018 05:05:40 +0000 (07:05 +0200)]
[BTRFS] Fix booting with runtime checks
Timo Kreuzer [Mon, 20 Aug 2018 21:52:42 +0000 (23:52 +0200)]
[NTOS:MM] Fix ASSERT when expanding paged pool
The page directory is double mapped on x86 in the system process, so writing to it will already write to the PDE.
Timo Kreuzer [Sat, 17 Mar 2018 13:23:34 +0000 (14:23 +0100)]
[SYSSETUP] Fix handling of the status message window
This fixes a race condition, where the message thread was still running when InstallReactOS returned and syssetup.dll was unloaded by the caller (setup.exe).
Pierre Schweitzer [Mon, 20 Aug 2018 18:26:16 +0000 (20:26 +0200)]
Add a quick statement about BtrFS :-)