Commit graph

82291 commits

Author SHA1 Message Date
Timo Kreuzer
f8b6cc249e [HAL] Add missing I/O port to int 10 BIOS emulator 2022-08-04 16:15:24 +02:00
Timo Kreuzer
74014e74c0 [NTOS:KDBG] Improve x64 stack trace printing 2022-08-04 16:15:24 +02:00
Timo Kreuzer
090ccb3d8e [WIN32K] Add missing NULL checks
Also fix an old copy-pasta.
2022-08-04 16:15:24 +02:00
Katayama Hirofumi MZ
5f4db56486
[NTUSER] KLF_UNLOAD flag of NtUserGetKeyboardLayoutList (#4592)
This implementation enables KLF_UNLOAD flag awareness on listing the KLs.
CORE-11700
2022-08-03 12:45:10 +09:00
Katayama Hirofumi MZ
bfa92268da [WIN32KNT_APITEST] Follow-up of Follow-up of #4594 (54b3b73)
CORE-11700
2022-08-02 13:25:35 +09:00
Katayama Hirofumi MZ
8043706bf0 [WIN32KNT_APITEST] Follow-up of #4594 (54b3b73)
CORE-11700
2022-08-02 12:07:09 +09:00
Katayama Hirofumi MZ
54b3b73c08
[WIN32KNT_APITEST] Add NtUserGetKeyboardLayoutName testcase (#4594)
The type of the 1st argument of NtUserGetKeyboardLayoutName is doubtful.
CORE-11700
2022-08-02 10:47:49 +09:00
Katayama Hirofumi MZ
b9ecf4b055
[NTUSER] Release WinSta->spklList at IntWinStaObjectDelete (#4593)
Call UserAssignmentUnlock((PVOID*)&WinSta->spklList); in IntWinStaObjectDelete function.
CORE-11700
2022-08-02 10:46:37 +09:00
Katayama Hirofumi MZ
6c1b65d7a4
[NTUSER] Improve WINSTATION_OBJECT compatibility (#4591)
- Modify WINSTATION_OBJECT structure with inserting struct tagKL *spklList member.
- Add some C_ASSERT(offsetof(WINSTATION_OBJECT, ...) == ...);.
CORE-18252
2022-07-31 10:25:07 +09:00
Eric Kohl
23ecbb3ed5 [SECLOGON][ADVAPI] CreateProcessWithLogonW: Return process information to the caller 2022-07-24 01:08:13 +02:00
Katayama Hirofumi MZ
bfe959e62c [IMM32] Follow-up of #4588 (ffbdb7d)
CORE-11700
2022-07-23 12:42:54 +09:00
Katayama Hirofumi MZ
ffbdb7d39e
[IMM32][USER32] ImmPutImeMenuItemsIntoMappedFile (#4588)
Implement inter-process menu item retrieving.
CORE-11700
2022-07-23 05:58:17 +09:00
Timo Kreuzer
fe777bb52f [NTOS:KDBG] Nuke KdbEnter and KdbpCliModuleLoaded
They are not used anymore. Also clean up some obsolete prototypes.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
6778fa157f [SETUP] Don't default to MP builds, when KDBG is enabled
The reason is that KDBG and the MP kernel don't like each other much and crash hard, causing VBox to shut down.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
31a5fa61bb [NTOS:KDBG] Add KdbpPrintUnicodeString
Calling normal unicode functions is not allowed at IRQL > APC_LEVEL, so calling _vsnprintf with unicode parameters from KDBG is invalid.
2022-07-20 23:57:42 +02:00
Timo Kreuzer
253362509e [KDBG] Fix x64 KDBG 2022-07-20 23:57:42 +02:00
Timo Kreuzer
04fe666590 [NDK] Add missing x64 unwind definitions 2022-07-20 23:57:42 +02:00
Timo Kreuzer
2881b77302 [CMLIB] Don't redefine PAGED_CODE() to nothing in cmlib.h except for cmlib_host
This header is included by ntoskrnl which effectively disabled all PAGED_CODE checks since 2015. Thanks Alex.
Instead define _BLDR_ when building cmlib, which will avoid trying to import KeGetCurrentIrql()
2022-07-20 20:36:22 +02:00
Katayama Hirofumi MZ
8d520f3c27
[MAIN] Improve mouse UI icons (#4583)
- Replace IDI_MOUSE_SPEED icon.
- Add and use IDI_MOUSE_HIDE icon for "Hide pointer while typing".
CORE-10728
2022-07-19 20:50:54 +09:00
Katayama Hirofumi MZ
9fc9180a1c [SYSDM] Don't use magic number (ja-JP) 2022-07-19 13:05:07 +09:00
Katayama Hirofumi MZ
255f43086d
[EXPLORER] Fix assertion failure on start button (#4581)
CORE-18024
2022-07-18 22:20:25 +09:00
Katayama Hirofumi MZ
5f80670040 [CONSOLE] Improve Japanese translation (ja-JP) 2022-07-18 21:46:15 +09:00
Katayama Hirofumi MZ
a7f06eb480 [APPWIZ] Improve Japanese translation (ja-JP) 2022-07-18 21:44:25 +09:00
Katayama Hirofumi MZ
01643b8d9e [INTL] Improve Japanese translation (ja-JP) 2022-07-18 21:39:29 +09:00
Katayama Hirofumi MZ
971e33b734 [SYSDM] Improve Japanese translation (ja-JP) 2022-07-18 21:01:05 +09:00
Timo Kreuzer
bc9409daba [CRT] Add round and roundf and add it to msvcrtex to make clang v14 happy 2022-07-17 17:32:32 +02:00
Victor Perevertkin
83faa2da5e
[GITHUB] Fix LLVM version for the clang-cl build (#4578) 2022-07-16 16:10:56 +03:00
Timo Kreuzer
45f75d5d32 [NTOS:KE/x64] Handle user faults in KiGeneralProtectionFaultHandler 2022-07-14 18:35:28 +02:00
Timo Kreuzer
f659ac5201 [NTDLL_APITEST] Add test for some user mode exceptions 2022-07-14 18:35:28 +02:00
George Bișoc
54a00aa8eb
[CMLIB][NTOS:CM] Deduplicate other common definitions between CMLIB and the NTOS CM
Addendum to commit 8c2454e (r70605). Credits and courtesy go to Hermès BÉLUSCA - MAÏTO.

CORE-10802 CORE-10793
2022-07-10 14:35:53 +02:00
Tuur Martens
10126e7710 [NTOS:MM] Fix VADs being inserted even though the quota would exceed
Since we were charging the pool quota after the VAD insertion,
if the quota charge failed, the VAD would still have been inserted.
This commit attempts to resolve this issue by charging quota
before inserting the VAD thus allowing the quota charge to fail early.

Addendum to 884356a0. CORE-18028
2022-07-06 18:48:32 +02:00
Timo Kreuzer
f606b36cff [NTOSKRNL] Fix a bug in MiDeleteVirtualAddresses
When a PDE gets empty, we skip the address to the next PDE boundary, which might introduce an AddressGap, which wasn't handled before.
2022-07-05 19:29:05 +02:00
Eric Kohl
57c84dd658 [DISKPART] Fix magic values in CreateLogicalPartition() and CreatePrimaryPartition() 2022-07-03 14:10:02 +02:00
Serge Gautherie
b671b1cf8f
[WIN32K:ENG] EngAlphaBlend(): Release EnterLeaveSource on error (#4560)
Part of CORE-11156

Co-authored-by: Carlo Bramini <carlo.bramix@libero.it>
2022-07-02 12:30:03 +03:00
Thamatip Chitpong
8a3db976a2
[EXPLORER] Fix taskbar icon display problem (#4538)
- Use SMTO_NOTIMEOUTIFNOTHUNG to get the icon with least timeout.
- Replace GCL_* consts with GCLP_* since we're using GetClassLongPtr.

Now the icon is correctly displayed for control panel applets.

CORE-18137
2022-06-30 16:10:47 +03:00
George Bișoc
4471ee4dfa
[NTOS:SE] Properly handle dynamic counters in token
On current master, ReactOS faces these problems:

- ObCreateObject charges both paged and non paged pool a size of TOKEN structure, not the actual dynamic contents of WHAT IS inside a token. For paged pool charge the size is that of the dynamic area (primary group + default DACL if any). This is basically what DynamicCharged is for.
For the non paged pool charge, the actual charge is that of TOKEN structure upon creation. On duplication and filtering however, the paged pool charge size is that of the inherited dynamic charged space from an existing token whereas the non paged pool size is that of the calculated token body
length for the new duplicated/filtered token. On current master, we're literally cheating the kernel by charging the wrong amount of quota not taking into account the dynamic contents which they come from UM.

- Both DynamicCharged and DynamicAvailable are not fully handled (DynamicAvailable is pretty much poorly handled with some cases still to be taking into account). DynamicCharged is barely handled, like at all.

- As a result of these two points above, NtSetInformationToken doesn't check when the caller wants to set up a new default token DACL or primary group if the newly DACL or the said group exceeds the dynamic charged boundary. So what happens is that I'm going to act like a smug bastard fat politician and whack
the primary group and DACL of an token however I want to, because why in the hell not? In reality no, the kernel has to punish whoever attempts to do that, although we currently don't.

- The dynamic area (aka DynamicPart) only picks up the default DACL but not the primary group as well. Generally the dynamic part is composed of primary group and default DACL, if provided.

In addition to that, we aren't returning the dynamic charged and available area in token statistics. SepComputeAvailableDynamicSpace helper is here to accommodate that. Apparently Windows is calculating the dynamic available area rather than just querying the DynamicAvailable field directly from the token.
My theory regarding this is like the following: on Windows both TokenDefaultDacl and TokenPrimaryGroup classes are barely used by the system components during startup (LSASS provides both a DACL and primary group when calling NtCreateToken anyway). In fact DynamicAvailable is 0 during token creation, duplication and filtering when inspecting a token with WinDBG. So
if an application wants to query token statistics that application will face a dynamic available space of 0.
2022-06-29 10:06:37 +02:00
Stanislav Motylkov
846c9aa1fd
[TRACERT] Fix displaying hop address on last ping timeout
- Update source file header per coding rules
- Store intermediate responses to display the hop address
- Add separate function to get response stats from buffer
- Add Cleanup label to free resources in a single place
- Move local variables around to allow Cleanup goto

CORE-18232
2022-06-28 23:42:09 +03:00
Stanislav Motylkov
35a816a24e
[FREELDR][SDK] Sync copyright years with our banner and boot logo
Addendum to 831e2dea. CORE-18191
2022-06-27 21:42:01 +03:00
Stanislav Motylkov
831e2dea3d
[FREELDR][SDK] Use "ReactOS Project" for consistency
CORE-18191
2022-06-27 21:38:14 +03:00
Stanislav Motylkov
bbccad0ed6
[INF] Set manufacturer as ReactOS Project for consistency
Also make it non-localizable. CORE-18191
2022-06-27 17:00:18 +03:00
Gary Sims
6881d8c624
[REACTOS] Remove references to ReactOS Foundation (#4557)
See https://reactos.org/wiki/ReactOS_Foundation for more information.

CORE-18191
2022-06-27 16:00:20 +03:00
Stanislav Motylkov
e1c89ce397
[PROCESSR] Fix INF file formatting only 2022-06-27 15:40:50 +03:00
Stanislav Motylkov
c24e09401b
[CDMAKE] Remove module
We've been using mkisofs for 5 years now and are not looking back.
- Colin Finck
2022-06-27 15:14:03 +03:00
Timo Kreuzer
ba0d16f3b3 [CRT] Add missing OP_* constants in fpieee.h 2022-06-26 23:08:14 +02:00
Timo Kreuzer
b7c6170a5f [CRT] Add emmintrin.h
Implementations are taken from clang.
2022-06-26 19:59:41 +02:00
George Bișoc
5da5e644bb
[NTOS:OB] Include the security descriptor charge when charging the paged pool quota of an object
On ObpChargeQuotaForObject function, the kernel will either charge the default object type charges or the specified information charges obtained from ObCreateObject API call. What happens is that if a paged pool charge is specified on ObCreateObject call the kernel will charge that
but when an object is about to be de-allocated, the amount of quota to return back to the system is the amounting of the paged pool charge specified previously by the ObCreateObject call plus the amounting of the security descriptor charge (see oblife.c / line 98).

This will result in a fatal crash with a bugcheck of QUOTA_UNDERFLOW because we are returning quota with bits of it that was never charged and that's SecurityDescriptorCharge. A QUOTA_UNDERFLOW bugcheck occurs in two following scenarios:

-- When installing Virtualbox Guest Additions and prompting the installer to reboot the system for you
-- When logging off and on back to the system and then you restart the system normally

This bug has been discovered whilst working on #4555 PR.
2022-06-26 19:47:02 +02:00
Timo Kreuzer
b85afdfd25 [CRT] Implement portable + amd64 asm version of fabs/fabsf
Note: older versions of ML64 are broken and don't understand the register form of movq.
See https://stackoverflow.com/questions/24789339/move-quadword-between-xmm-and-general-purpose-register-in-ml64
2022-06-26 19:13:47 +02:00
Timo Kreuzer
8a67170616 [CRT_APITEST] Implement tests for fabs/fabsf 2022-06-26 19:13:47 +02:00
Timo Kreuzer
96b847fd04 [NTDLL_APITEST] Fix RtlGetNtProductType test 2022-06-26 16:09:52 +02:00
Timo Kreuzer
47842d7847 [NTDLL_APITEST] Check whether changing the product type in the registry has an effect on RtlGetNtProductType 2022-06-25 22:57:18 +02:00