Katayama Hirofumi MZ [Sat, 3 Jul 2021 23:18:15 +0000 (08:18 +0900)]
[IMM32] Rewrite ImmGetDescriptionA/W (#3780)
CORE-11700
Doug Lyons [Sat, 3 Jul 2021 20:55:05 +0000 (15:55 -0500)]
[WORDPAD] Fix icons for toolbar and formatbar (#3792) CORE-5823
* CORE-5823 Fix icons for toolbar and formatbar in Wordpad.
which regressed by SVN r47776 == git
5dbfbb5201a915bc65d88f5818afc81cc6f54231
* Add wordpad_ros.diff noting toolbar.bmp and formatbar.bmp are not wine-synced
Jose Carlos Jesus [Thu, 24 Jun 2021 15:44:45 +0000 (16:44 +0100)]
[SERVMAN] Add Portuguese (pt-PT) Translation
Jose Carlos Jesus [Mon, 21 Jun 2021 16:02:44 +0000 (17:02 +0100)]
[BOOTDATA] Add Portuguese translation to shortcuts.inf
Jose Carlos Jesus [Mon, 21 Jun 2021 13:30:10 +0000 (14:30 +0100)]
[MSCUTILS][EVENTVWR] Add Portuguese PT translation
Jose Carlos Jesus [Mon, 21 Jun 2021 10:46:28 +0000 (11:46 +0100)]
[USETUP] Update Portuguese PT translation
Oleg Dubinskiy [Sun, 4 Apr 2021 17:57:23 +0000 (20:57 +0300)]
[NTOS:IO] OpenRegistryHandlesFromSymbolicLink: Use REG_OPTION_NON_VOLATILE
Use REG_OPTION_NON_VOLATILE instead of REG_OPTION_VOLATILE in all ZwCreateKey calls of OpenRegistryHandlesFromSymbolicLink, since the keys created/opened by this function, should be non-volatile (in other words, be saved after reboot).
Also Device Parameters subkey that is created in IoOpenDeviceInterfaceRegistryKey (which uses that routine as well), is non-volatile too, so the parent keys whose contain it, cannot be volatile.
It will fix an error with status 0xc0000181 (STATUS_CHILD_MUST_BE_VOLATILE) occuring during loading kernel mode audio drivers from Windows XP/2003, especially checked (debug) versions, with my IoGetDeviceInterfaceAlias implementation. Also it may fix other error cases.
CORE-17361
George Bișoc [Sat, 3 Jul 2021 15:20:48 +0000 (17:20 +0200)]
[NTOS:SE] Assign the control flag bits to the newly created security descriptor
We allocate memory pool for a new security descriptor with specific info filled by the caller but we don't set the control flag bits for the newly allocated descriptor, which is wrong. Originally spotted by Vadim Galyant.
CORE-17650
Eric Kohl [Sat, 3 Jul 2021 12:46:32 +0000 (14:46 +0200)]
[SAMSRV] Older functions should call newer functions
Joachim Henze [Sat, 3 Jul 2021 11:49:48 +0000 (13:49 +0200)]
[RAPPS] Kill 2x EOL white-space in loaddlg.cpp
Both were introduced during 0.4.15-dev'ing
and were not in any earlier rls branches.
They were the only 2 in here btw.
Timo Kreuzer [Tue, 15 Jun 2021 09:32:29 +0000 (11:32 +0200)]
[NETAPI32] Zero out lpNameBuffer in NetGetJoinInformation
This is needed, because for some reason, otherwise RPCRT4 will assume that whatever value is in there is already the buffer and copy the string there.
Fixes exception in Chrome 48.
Timo Kreuzer [Tue, 15 Jun 2021 09:28:02 +0000 (11:28 +0200)]
[RTL/x64] Properly handle UNW_FLAG_CHAININFO
Timo Kreuzer [Tue, 29 Jun 2021 07:36:46 +0000 (09:36 +0200)]
[ROSAUTOTEST] Run tests with current dir set to the test dir
Doug Lyons [Fri, 2 Jul 2021 22:34:43 +0000 (17:34 -0500)]
[WIN32K] Revert NtGdiStretchDIBitsInternal to Previous Logic (#3774)
Fixes gdi32:dib / gdi32:bitmap tests and SIMS graphics.
JIRA issue: CORE-16236
Katayama Hirofumi MZ [Thu, 1 Jul 2021 09:03:42 +0000 (18:03 +0900)]
[IMM32] ImmDisableIME calls NtUserDisableThreadIme (#3776)
- Just call NtUserDisableThreadIme in ImmDisableIME directly. CORE-11700
Katayama Hirofumi MZ [Wed, 30 Jun 2021 23:42:29 +0000 (08:42 +0900)]
[SHELL32] Implement PathResolveA function (#3771)
- Follow-up of #3762.
- Add PathResolveA implementation by ANSI/Unicode string conversion.
CORE-12665
Jérôme Gardou [Tue, 29 Jun 2021 10:48:25 +0000 (12:48 +0200)]
Jérôme Gardou [Fri, 21 May 2021 07:44:32 +0000 (09:44 +0200)]
[NTOS:KE] Unconditionally check IRQL when acquiring & releasing spinlock at DISPATCH_LEVEL
Jérôme Gardou [Thu, 20 May 2021 08:13:40 +0000 (10:13 +0200)]
[NTOS:KE] Test spinlock ownership on both UP & MP build
There is no reason not to, and this avoids introducing bugs stupidly.
Jérôme Gardou [Tue, 22 Jun 2021 17:46:27 +0000 (19:46 +0200)]
[NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use
KD64: Raise to HIGH_LEVEL when entering trap
KDBG: lower to DISPATCH_LEVEL when applying IRQL hack & use a worker thread to load symbols
KD&KDBG: Actually unload symbols when required
Jérôme Gardou [Tue, 22 Jun 2021 13:31:18 +0000 (15:31 +0200)]
[CMAKE:GCC] Produce RosSym data even when building with separate debug symbols
Jérôme Gardou [Tue, 22 Jun 2021 10:00:46 +0000 (12:00 +0200)]
[NTOS:KD] Release lock before calling KdpPrint
Avoiding resursive spinlock acquisition
Jérôme Gardou [Tue, 22 Jun 2021 09:41:25 +0000 (11:41 +0200)]
[NTOS:KD64][NTOS:KDBG] Fix spinlocks use
Raise IRQL before entering debugger, so that KeAcquireSpinLockAtDpcLevel works as expected.
- HIGH_LEVEL since we don't know where we are coming from.
Do not try to read debug symbol from files in KDBG.
- There is no reason that this works if Mm didn't map it in the first place.
Jérôme Gardou [Mon, 21 Jun 2021 12:57:45 +0000 (14:57 +0200)]
[CMAKE] Get rid of freeldr_pe_dbg target
objcopy bug is now solved and I can't remember how this used to work anyway.
Use strip instead.
If you need to debug freeldr
- set SEPARATE_DBG cmake var to TRUE
- use qemu GDB stub
- In GDB : add-symbol-file <build_dir>/symbols/freeldr_pe.exe
Jérôme Gardou [Fri, 18 Jun 2021 16:14:51 +0000 (18:14 +0200)]
[NTOS:KDBG] Use internal KdpDPrintf instead of DbgPrint
DbgPrint is implemented through a breakpoint, and then KD tries to recursively
lock its own spinlock. Call a lower level routine instead.
Jérôme Gardou [Fri, 18 Jun 2021 10:43:53 +0000 (12:43 +0200)]
[WIN32K:NTUSER] Do not pass NULL keyboard layout to IntToUnicodeEx
There's an ASSERT on that
Jérôme Gardou [Wed, 26 May 2021 15:06:11 +0000 (17:06 +0200)]
[KMTESTS] Fix tests for uniprocessor checked build
Jérôme Gardou [Wed, 26 May 2021 15:05:15 +0000 (17:05 +0200)]
[NTOS:KE] Implement KeAcquireInStackQueuedSpinLockForDpc & KeReleaseInStackQueuedSpinLockForDpc
Jérôme Gardou [Wed, 26 May 2021 15:03:55 +0000 (17:03 +0200)]
[HAL] Hack KeTryToAcquireQueuedSpinlock & KeTryToAcquireQueuedSpinLockRaiseToSynch into a somewhat working implementation
Jérôme Gardou [Thu, 20 May 2021 09:48:02 +0000 (11:48 +0200)]
[NTOS:MM] Fix another instance of reentrant spinlock acquisition
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 18:08:38 +0000 (20:08 +0200)]
[CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs.
- Implement caching of individual (newline-separated) text lines; this
behaviour can be enabled with a flag (enabled by MORE):
CON_PAGER_CACHE_INCOMPLETE_LINE.
This feature is necessary when reading a text file, whose text lines
may span across two or more successive temporary read buffers, and is
required for correctly determining whether the lines being read are
blank and may be squeezed.
- When squeezing blank lines, the blank-line check must be done for each
line segment corresponding to the screen line (and following) that
need to be displayed. This matches the behaviour of MS MORE.COM.
- Fix the IsBlankLine() check to not consider FORM-FEEDs as being blank
characters: This is necessary for correctly handling FORM-FEED
expansion. Also note that MS MORE.COM only checks for spaces and TABs,
so we are slightly overdoing these checks (considering other types of
whitespace).
- Get rid of ConCallPagerLine() and the intermediate CON_PAGER_DONT_OUTPUT
state flag that were used repeatedly for each and every small line
chunks. Instead, call directly the user-specified 'PagerLine' callback
when we are about to start treating the next line segment to be
displayed (see comment above).
- Fix the exit return condition of ConPagerWorker(): it should return
TRUE whenever we displayed all the required lines, and FALSE otherwise.
Otherwise, the previous (buggy) condition on the data being read from
the text file, may lead to the prompt not showing when a screenful of
text has been displayed, if it happened that the current text buffer
becomes empty at the same time (even if, overall, the text file hasn't
been fully displayed).
- In MorePagerLine(), when we encounter for the first time a blank line
that will be squeezed with other successive ones, display a single
blank line. But for that, just display one space and a newline: this
single space is especially needed in order to force line wrapping when
the ENABLE_VIRTUAL_TERMINAL_PROCESSING or DISABLE_NEWLINE_AUTO_RETURN
console modes are enabled. Otherwise the cursor remains at the
previous line (without wrapping), and just outputting one newline will
not make it move past 2 lines as one would naively expect.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 22:49:48 +0000 (00:49 +0200)]
[CONUTILS:PAGER] Extract the character-specific handling out of the character-loop.
This also allows to factor out the ConCallPagerLine() call for outputting the pending text.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 13:58:25 +0000 (15:58 +0200)]
[CONUTILS:PAGER][MORE] Fix the default paging region.
- The column extent should cover the whole width of the console screenbuffer.
On the contrary, the line extent covers only the number of lines that
cover the current displayed console window.
- Since the console can be resized while the pager is prompting, we need
to actually recalculate in the prompt routine the default number of
lines for a screen.
- Reset s_nNextLineNo when paging a new file.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 00:23:12 +0000 (02:23 +0200)]
[CONUTILS:PAGER][MORE] Code style/formatting.
- Shorten the names of the flags: CON_PAGER_FLAG_*** --> CON_PAGER_***.
- Reorder few members in the CON_PAGER pager structure where they make sense.
- ScreenColumns, ScreenRows --> PageColumns, PageRows: keeping the open
possibility for having a pager controlling a region of different size
than the screen.
- Add doxygen documentation for ConWritePaging().
Victor Perevertkin [Mon, 28 Jun 2021 14:54:09 +0000 (17:54 +0300)]
[CMAKE] Use BUILD_MP CMake option correctly
Jérôme Gardou [Tue, 22 Jun 2021 08:57:06 +0000 (10:57 +0200)]
[PSDK] Alias _Check_return_ annotation to warn_unused_result attribute
Jérôme Gardou [Tue, 22 Jun 2021 09:09:12 +0000 (11:09 +0200)]
[CRT] Put __MINGW_EXTENSION (whatever that means) in front of function declarations
Needed for next commit
Jérôme Gardou [Thu, 17 Jun 2021 12:48:52 +0000 (14:48 +0200)]
[SDK] Add GCC overrides for SAL annotations
GCC has some functions, variables & type attributes which can be used as aliases
for some of the SAL annotations. Although it's not as rich & precise, it's still useful
since we actually enable -Werror on GCC builds whereas we don't use such an option
on MSVC builds.
For now, _Must_inspect_result_ is aliased to warn_result_unused attribute.
Jérôme Gardou [Tue, 22 Jun 2021 08:28:47 +0000 (10:28 +0200)]
[NDK][XDK] Remove _Must_inspect_result_ from RtlTimeFieldsToTime & RtlTimeToSecondsSince1970
WDK doesn't have it and it causes more mess than anything.
CORE-17637
Jérôme Gardou [Fri, 18 Jun 2021 08:02:50 +0000 (10:02 +0200)]
[DDK] Do not put _Must_inspect_result_ on function returning void & without _Out_ parameters
Jérôme Gardou [Fri, 18 Jun 2021 08:01:59 +0000 (10:01 +0200)]
[NTOS:FSRTL] Check return status of FsRtl locking functions
CORE-17637
Jérôme Gardou [Fri, 18 Jun 2021 07:58:04 +0000 (09:58 +0200)]
[WDF] Synchronize function attributes between declaration & definition
Addendum to
1f377076d783
Jérôme Gardou [Thu, 17 Jun 2021 16:19:04 +0000 (18:19 +0200)]
[NTOS:CONFIG] Do not ignore Rtl*String functions return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:59:32 +0000 (17:59 +0200)]
[NTOS:OB] Use RtlInitUnicodeString for constant string
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:55:14 +0000 (17:55 +0200)]
[NTOS:SE] Do not ignore SepAccessCheckAndAuditAlarmWorker return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:52:12 +0000 (17:52 +0200)]
[NTOS:PO] Do not ignore IoRegisterPlugPlayNotification return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:49:40 +0000 (17:49 +0200)]
[NTOS:INBV] Do not ignore RtlUnicodeStringToOemString return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:47:01 +0000 (17:47 +0200)]
[NTOS:IO] Do not ignore RtlDuplicateUnicodeString return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:41:37 +0000 (17:41 +0200)]
[NTOS:EX] Do not ignore PsCreateSystemThread return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 15:24:34 +0000 (17:24 +0200)]
[NTOS:EX] Do not ignore RtlAnsiStringToUnicodeString return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 14:45:28 +0000 (16:45 +0200)]
[NTOS:MM] Check result of RtlCreateUnicodeString in MmGetFileNameForAddress
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 14:38:32 +0000 (16:38 +0200)]
[NTOS:IO] Check RtlCreateUnicodeString return value when initializing PnP services
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 14:36:32 +0000 (16:36 +0200)]
[NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing Arc names
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 14:33:33 +0000 (16:33 +0200)]
[NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing ramdisk
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 14:17:44 +0000 (16:17 +0200)]
[NSLOOKUP] Check WSAStartup return value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 13:59:48 +0000 (15:59 +0200)]
[NET] Properly check return value of EnumServicesStatusW on first call
Jérôme Gardou [Thu, 17 Jun 2021 13:50:54 +0000 (15:50 +0200)]
[FLTMC] Do not ignore failures of some functions
Also reduce use of magic values.
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 13:42:07 +0000 (15:42 +0200)]
[RTL] In RtlReleasePrivilege, raise exception if restoring old privileges fails
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 13:39:40 +0000 (15:39 +0200)]
[RTL] When taking system volume ownership, assert that we succeeded to restore privileges
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 13:31:11 +0000 (15:31 +0200)]
[RTL] Check and cascade down RtlGUIDFromString value
CORE-17637
Jérôme Gardou [Thu, 17 Jun 2021 13:07:39 +0000 (15:07 +0200)]
[FREELDR] Check HwInterrupt return value
_Must_inspect_result_ is there for a reason
CORE-17637
Timo Kreuzer [Sun, 27 Jun 2021 09:18:49 +0000 (11:18 +0200)]
[SDK] Add missing sal annotations in driverspecs.h and kernelspec.h
CORE-6706
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 02:11:00 +0000 (04:11 +0200)]
Revert "[SHELL32] Don't check for link files being targets for other link files. Addendum to
3a822e4f."
This reverts commit
3249a003648aff04bbef46a0ff74a76fe0c6614b.
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 00:06:15 +0000 (02:06 +0200)]
[SHLWAPI] Fix a trivial bug in PathFileExistsDefExtW() that seems to exist since 16+ years in Wine.
Suppose dwFlags == 1 | 4 (i.e. skipping the flag 2).
Then the while-loop would only run once, because at the second iteration
(after dwWhich >>= 1; has been executed once), dwWhich value == 2, but
dwWhich & 0x1 == 0, which makes the while-loop condition false.
Instead the loop should run, but the handling of the extension should be
skipped.
Hermès Bélusca-Maïto [Mon, 28 Jun 2021 00:02:17 +0000 (02:02 +0200)]
[SHELL32] Add the handy WHICH_DEFAULT value to the list of flags in shlwapi_undoc.h.
- Add as well the undocumented 0x40 dwFlags value from shlwapi!PathFileExistsDefExtW()
to the list.
- Fix a bug (also present in Win2k3) in PathResolveW() where, specifying
the PRF_DONTFINDLNK flag, would also erroneously exclude checking for
the .cmd extension as well (which was obviously NOT the original
intention, from the name of the flag and the documentation as well:
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathresolve
).
Addendum to
3a822e4f.
Hermès Bélusca-Maïto [Sun, 27 Jun 2021 23:59:31 +0000 (01:59 +0200)]
[SHELL32] Don't check for link files being targets for other link files. Addendum to
3a822e4f.
Joachim Henze [Mon, 28 Jun 2021 00:05:56 +0000 (02:05 +0200)]
[COMCTL32] Addendum to last commit (#3674) CORE-17199
Keep that section like we had it to
support compilation on VS2010.
It does still work like that.
Addendum to commit 0.4.15-dev-2796-g
e382b7bc3561a895d0a196a724865880b9a735f5
Doug Lyons [Sun, 27 Jun 2021 23:18:10 +0000 (18:18 -0500)]
[COMCTL32] Sync datetime.c to Wine-6.0 (#3674) CORE-17199
Fix automatic toggling of date display on second stage setup
Update comctrl from Wine with fix.
Sync datetime.c to Wine-6.0
Katayama Hirofumi MZ [Sun, 27 Jun 2021 22:53:26 +0000 (07:53 +0900)]
[SHELL32] Implement PathResolveW function (#3762)
- Implement PathResolveW function.
- Implement PathQualifyA/W functions using newly-defined PathQualifyExW function.
CORE-12665
Joachim Henze [Sun, 27 Jun 2021 21:04:36 +0000 (23:04 +0200)]
[DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202
It regressed by SVN r44721 == git
356d4bab16092de335705e02b0e87698ec35c393
when #define USE_MMIXER_LIB was removed.
Thanks to the patches author Doug Lyons.
VBox https://reactos.org/testman/compare.php?ids=77914,77919 LGTM
KVM https://reactos.org/testman/compare.php?ids=77913,77918 LGTM
Hervé Poussineau [Sun, 27 Jun 2021 12:44:54 +0000 (14:44 +0200)]
[TCPIP] Fix bugcheck when using fragmented datagrams
Memory was allocated from paged pool, and freed at DISPATCH_LEVEL,
leading to the following bugcheck:
*** Fatal System Error: 0x000000c2
(0x00000009,0x00000002,0x00000001,0xB7C8A268)
Entered debugger on embedded INT3 at 0x0008:0x8058324B.
kdb:> bt
Eip:
<ntoskrnl.exe:18324c (sdk/lib/rtl/i386/debug_asm.S:56 (RtlpBreakWithStatusInstruction))>
<ntoskrnl.exe:89b21 (ntoskrnl/ke/bug.c:1066 (KeBugCheckWithTf))>
<ntoskrnl.exe:8a08b (ntoskrnl/ke/bug.c:1413 (KeBugCheckEx))>
<ntoskrnl.exe:abb1d (ntoskrnl/mm/ARM3/expool.c:431 (ExFreePoolWithTag))>
<tcpip.sys:13e42 (sdk/lib/drivers/ip/network/receive.c:114 (FreeIPDR))>
<tcpip.sys:14e09 (sdk/include/ddk/wdm.h:11462 (IPDatagramReassemblyTimeout))>
<tcpip.sys:11604 (sdk/lib/drivers/ip/network/ip.c:135 (IPTimeoutDpcFn))>
<ntoskrnl.exe:8b7d0 (ntoskrnl/ke/dpc.c:282 (KiTimerExpiration))>
<ntoskrnl.exe:8c2c8 (ntoskrnl/ke/dpc.c:592 (KiRetireDpcList))>
<ntoskrnl.exe:1420b2 (ntoskrnl/ke/i386/thrdini.c:294 (KiIdleLoop))>
<ntoskrnl.exe:23a54a (ntoskrnl/ke/i386/kiinit.c:687 (KiSystemStartupBootStack))>
Joachim Henze [Sun, 27 Jun 2021 14:21:32 +0000 (16:21 +0200)]
[EXT2] Fix filesystem corruption regressions CORE-17572 CORE-17195
It regressed when we upgraded Ext2Fsd to version 0.69 from version 0.68
via CORE-13980 in 0.4.8-dev-117-g
a1d7e9936d8e58bc07ff2cc73a937ce845c7d542
The fix is a partial revert of that.
Thanks to the patches author Doug Lyons.
VBox https://reactos.org/testman/compare.php?ids=77904,77908 LGTM
KVM https://reactos.org/testman/compare.php?ids=77903,77907 LGTM
Timo Kreuzer [Tue, 22 Jun 2021 10:53:23 +0000 (12:53 +0200)]
[HAL:APIC] Improve code
- Use an enum for the APIC registers
- Add support routine for SMP.
George Bișoc [Fri, 25 Jun 2021 10:42:02 +0000 (12:42 +0200)]
[CSRSS] Fix MSVC AMD64 build
George Bișoc [Fri, 25 Jun 2021 09:55:35 +0000 (11:55 +0200)]
[CSRSS] Enable compilation of raise hard error function call code
With introduction of
74e527b,
a330b56 and subsequently
2791ecd ReactOS can now properly set IOPL (I/O privilege level) for user mode trusted processes. With that said, enable the compilation of raise hard error function call code back.
George Bișoc [Sun, 20 Jun 2021 13:49:55 +0000 (15:49 +0200)]
[CSRSS] Do not give IOPL to the Client/Server native process if ran on a AMD64 system
ProcessUserModeIOPL is strictly implemented for 32-bit architecture so it doesn't make any sense for CSRSS to gather user mode I/O privilege when that won't work anyway.
George Bișoc [Sun, 20 Jun 2021 13:46:58 +0000 (15:46 +0200)]
[NTOS:PS] Fix several issues within info classes in AMD64 build
ProcessUserModeIOPL, ProcessWow64Information and ThreadZeroTlsCell classes fail on AMD64 build because of wrong IQS values assigned to them. Also explicitly tell the compiler that ProcessUserModeIOPL is strictly for x86 as user mode I/O privilege level is 32-bit stuff.
In addition to that, implement IQS_NO_TYPE_LENGTH macro which it'll be used for classes such as ProcessUserModeIOPL where type length is not required and that it should be 0. With that said, we indirectly fix a size length mismatch issue with ProcessUserModeIOPL on 32-bit of ReactOS as well.
Jérôme Gardou [Mon, 7 Jun 2021 17:31:24 +0000 (19:31 +0200)]
[NTOS:MM] Implement MmFlushImageSection(MmFlushForDelete)
CORE-17544
Jérôme Gardou [Mon, 7 Jun 2021 17:28:51 +0000 (19:28 +0200)]
[NTOS:MM] Simplify refcounting when adding/deleting a page in a shared segment
CORE-17544
Jérôme Gardou [Fri, 21 May 2021 13:11:50 +0000 (15:11 +0200)]
[NTOS:MM] Do not call ExAllocatePool* with PFN lock acquired
Unsurprisingly, it actually might acquire it
He Yang [Thu, 24 Jun 2021 21:50:01 +0000 (03:20 +0530)]
[ATL] Close m_hKey in CRegKey destructor and when attaching to a new key (#3764)
Jérôme Gardou [Thu, 24 Jun 2021 15:07:26 +0000 (17:07 +0200)]
[NTOSKRNL] Enforce -fno-common on GCC & CLang builds
Jérôme Gardou [Thu, 24 Jun 2021 15:06:57 +0000 (17:06 +0200)]
[NTOSKRNL] Deduplicate some symbols
Jérôme Gardou [Thu, 24 Jun 2021 15:01:38 +0000 (17:01 +0200)]
[NTOS:MM] Fix-up call site of traced PFNs when serving a page fault
Jérôme Gardou [Thu, 24 Jun 2021 14:35:00 +0000 (16:35 +0200)]
[NTOS:MM] Save caller address when tracing PFNs
Jérôme Gardou [Wed, 23 Jun 2021 14:26:50 +0000 (16:26 +0200)]
[CMD] Do not use an intermediate buffer when reading lines from batch files
This is easier on the heap and improves cmd:batch winetest nicely
Jérôme Gardou [Tue, 22 Jun 2021 10:44:56 +0000 (12:44 +0200)]
[CMD] Improve performance a bit
Do not use custom alloc/free functions by default.
Do not free resources at process exit.
- You're doing it brick by brick while the OS & CRT do that with a bulldozer better than you do.
Joachim Henze [Wed, 23 Jun 2021 19:37:53 +0000 (21:37 +0200)]
[WIN32K] CreateDIBPalette addendum to #3758 CORE-17626
Fix compilation on older GCC4.7.2 toolchain
to not warn about universal zero initializer.
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
https://stackoverflow.com/questions/
13746033/how-to-repair-warning-missing-braces-around-initializer
Joachim Henze [Wed, 23 Jun 2021 17:59:42 +0000 (19:59 +0200)]
[WIN32K] CreateDIBPalette SEH Simplification #3758 CORE-17626
Enter an SEH2_TRY one time and do all testing within it instead of entering the SEH_TRY multiple times.
The commit is an addendum to 0.4.15-dev-2734-g
514147776a7e70636911033ab6c89779b2c8ee1e
Thanks to patches author Doug-Lyons
This is 1:1 the final approved content of #3758, but I committed
by hand and closed the PR to avoid squash+rebase.
Jérôme Gardou [Tue, 22 Jun 2021 10:04:25 +0000 (12:04 +0200)]
[NTOS:MM] Fix one occurrence of MiDeletePte instead of MiDeletePde
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[NTOS:CC] CcRosFlushVacb(): Fix Iosb annotation
Addendum to
2ba1926.
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[NTOS:MM] MmFlushSegment(): Fix Iosb annotation
Addendum to
90c6a65.
Stanislav Motylkov [Tue, 25 May 2021 17:32:42 +0000 (20:32 +0300)]
[XBOX][FREELDR] Initialize PCI-AGP bridge BAR values
This fixes problem with Xbox GPU not being detected as a children device.
CORE-17600 CORE-16216
Eric Kohl [Mon, 21 Jun 2021 22:02:56 +0000 (00:02 +0200)]
[UMPNPMGR] PNP_GetDeviceStatus: Add status checks as documented in MS-PNPR
CORE-17527
Eric Kohl [Mon, 21 Jun 2021 19:38:42 +0000 (21:38 +0200)]
[SAMSRV] Fix call to SamrCloseHandle in SamrGetDomainPasswordInformation
Eric Kohl [Mon, 21 Jun 2021 19:33:24 +0000 (21:33 +0200)]
[UMPNPMGR] Add missing parameter checks to PNP_GetDeviceStatus
Jérôme Gardou [Fri, 21 May 2021 07:41:27 +0000 (09:41 +0200)]
[NTOS:KE] Do not allow waiting at IRQL >= DISPATCH_LEVEL when providing a timeout in KeWaitForMultipleObjects
CORE-6473
Jérôme Gardou [Fri, 21 May 2021 07:36:27 +0000 (09:36 +0200)]
[TCPIP][IP] Use an ERESOURCE as mutex for address files & connection end points
Spinlocks are not reentrant (and this is done a lot), using them forces us to have
an horrible hack in the kernel, which unschedules threads which are at DISPATCH_LEVEL
thus allowing another thread to take ownership of the spinlock while the unscheduled
thread should already hold it.
CORE-6473
Joachim Henze [Mon, 21 Jun 2021 05:37:58 +0000 (07:37 +0200)]
[USETUP] Update de-DE
Translate the Copying-bootloader status bar text
that was added during 0.4.15-dev'ing
Stanislav Motylkov [Sun, 20 Jun 2021 17:20:16 +0000 (20:20 +0300)]
[NE2000] Add description for Realtek RTL8019AS (emulated by 86Box)