]> xenbits.xensource.com Git - pvdrivers/win/xennet.git/commitdiff
Fix CodeQL warnings
authorOwen Smith <owen.smith@citrix.com>
Thu, 12 Aug 2021 12:39:07 +0000 (13:39 +0100)
committerPaul Durrant <pdurrant@amazon.com>
Mon, 20 Sep 2021 09:12:55 +0000 (10:12 +0100)
- ExAllocatePoolWithTag is deprecated in Win10 2004, use
    ExAllocatePoolUninitialized instead
- QueryCapabilities structure contains padding bytes, using
    __AllocatePoolWithTag zeros this memory

Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xennet/driver.c
src/xennet/receiver.c
src/xennet/transmitter.c
src/xennet/util.h

index 20f1d0e7a7389196cd89b08a60aa18dc8676810d..8127621e363346501f10de933d75d7ffe60fa99f 100644 (file)
@@ -37,6 +37,7 @@
 #include "miniport.h"
 #include "dbg_print.h"
 #include "assert.h"
+#include "util.h"
 
 typedef struct _XENNET_DRIVER {
     NDIS_HANDLE MiniportHandle;
@@ -93,7 +94,7 @@ QueryCapabilities(
 
     StackLocation = IoGetCurrentIrpStackLocation(Irp);
 
-    Context = ExAllocatePoolWithTag(NonPagedPool, sizeof (XENNET_CONTEXT), ' TEN');
+    Context = __AllocatePoolWithTag(NonPagedPool, sizeof (XENNET_CONTEXT), ' TEN');
     if (Context != NULL) {
         Context->Capabilities = StackLocation->Parameters.DeviceCapabilities.Capabilities;
         Context->CompletionRoutine = StackLocation->CompletionRoutine;
index 2f7ea25bba4f2c325ff5460cace02e1ed2c0fe20..65527c51af8f7b7dff4f8d1cae8c65fa6307f471 100644 (file)
@@ -432,7 +432,7 @@ ReceiverInitialize(
     ULONG                           Index;
     NDIS_STATUS                     status;
 
-    *Receiver = ExAllocatePoolWithTag(NonPagedPool,
+    *Receiver = __AllocatePoolWithTag(NonPagedPool,
                                       sizeof(XENNET_RECEIVER),
                                       RECEIVER_POOL_TAG);
 
@@ -516,7 +516,7 @@ ReceiverTeardown(
 
     Receiver->Adapter = NULL;
 
-    ExFreePoolWithTag(Receiver, RECEIVER_POOL_TAG);
+    __FreePoolWithTag(Receiver, RECEIVER_POOL_TAG);
 }
 
 VOID
index 17d312aff89d4b36a01f919aba40b1005928ac4c..bd178b371888f9e0c014c71bbb352398545daf5f 100644 (file)
@@ -36,6 +36,7 @@
 #include <tcpip.h>
 #include "dbg_print.h"
 #include "assert.h"
+#include "util.h"
 
 struct _XENNET_TRANSMITTER {
     PXENNET_ADAPTER             Adapter;
@@ -53,7 +54,7 @@ TransmitterInitialize (
 {
     NTSTATUS                status;
 
-    *Transmitter = ExAllocatePoolWithTag(NonPagedPool,
+    *Transmitter = __AllocatePoolWithTag(NonPagedPool,
                                          sizeof(XENNET_TRANSMITTER),
                                          TRANSMITTER_POOL_TAG);
 
@@ -85,7 +86,7 @@ TransmitterTeardown(
 
     RtlZeroMemory(&Transmitter->Lock, sizeof(KSPIN_LOCK));
 
-    ExFreePoolWithTag(Transmitter, TRANSMITTER_POOL_TAG);
+    __FreePoolWithTag(Transmitter, TRANSMITTER_POOL_TAG);
 }
 
 typedef struct _NET_BUFFER_LIST_RESERVED {
index 9a9a8ffc51d022276ad8abd2c600b7762eaab82c..8ef6097b3ce3e6d0cbf3148f5c91b5babf0b4690 100644 (file)
@@ -151,8 +151,12 @@ __AllocatePoolWithTag(
     __analysis_assume(PoolType == NonPagedPool ||
                       PoolType == PagedPool);
 
+#if (_MSC_VER >= 1928) // VS 16.9 (EWDK 20344 or later)
+    Buffer = ExAllocatePoolUninitialized(PoolType, NumberOfBytes, Tag);
+#else
 #pragma warning(suppress:28160) // annotation error
     Buffer = ExAllocatePoolWithTag(PoolType, NumberOfBytes, Tag);
+#endif
     if (Buffer == NULL)
         return NULL;