From 4a275b3dec2a1d3a8b2d4a1686d64f8ea58bfd52 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Sun, 26 May 2024 00:09:31 +0200 Subject: [PATCH] Just skip unsupported system resources --- xtoskrnl/includes/kei.h | 2 +- xtoskrnl/ke/sysres.c | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/xtoskrnl/includes/kei.h b/xtoskrnl/includes/kei.h index d1956d1..c4d6963 100644 --- a/xtoskrnl/includes/kei.h +++ b/xtoskrnl/includes/kei.h @@ -97,7 +97,7 @@ KepGetSystemResource(IN SYSTEM_RESOURCE_TYPE ResourceType, OUT PSYSTEM_RESOURCE_HEADER *ResourceHeader); XTAPI -XTSTATUS +VOID KepInitializeSystemResources(VOID); XTAPI diff --git a/xtoskrnl/ke/sysres.c b/xtoskrnl/ke/sysres.c index c680bbd..605a4d9 100644 --- a/xtoskrnl/ke/sysres.c +++ b/xtoskrnl/ke/sysres.c @@ -93,7 +93,7 @@ KeReleaseSystemResource(IN PSYSTEM_RESOURCE_HEADER ResourceHeader) * @since XT 1.0 */ XTAPI -XTSTATUS +VOID KepInitializeSystemResources(VOID) { PSYSTEM_RESOURCE_HEADER ResourceHeader; @@ -123,12 +123,13 @@ KepInitializeSystemResources(VOID) ResourceSize = sizeof(SYSTEM_RESOURCE_FRAMEBUFFER); break; default: - /* Unknown system resource type, return error */ - return STATUS_UNSUCCESSFUL; + /* Unknown system resource type, skip it */ + ResourceSize = 0; + break; } /* Validate resource size */ - if(ResourceHeader->ResourceSize == ResourceSize) + if(ResourceSize != 0 && ResourceSize == ResourceHeader->ResourceSize) { /* Move valid resource to the internal kernel list of system resources */ RtlRemoveEntryList(&ResourceHeader->ListEntry); @@ -139,9 +140,6 @@ KepInitializeSystemResources(VOID) ListEntry = NextListEntry; } } - - /* Return success */ - return STATUS_SUCCESS; } /**