[dpdk-dev] [PATCH 10/22] uio: move SDDL string to INF on Windows

Narcisa Ana Maria Vasile navasile at linux.microsoft.com
Fri Aug 14 01:21:33 CEST 2020


From: Harini Ramakrishnan <haramakr at microsoft.com>

---
 kernel/windows/netuio/netuio.inf   |  7 +++++++
 kernel/windows/netuio/netuio_dev.c | 15 +++++----------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/kernel/windows/netuio/netuio.inf b/kernel/windows/netuio/netuio.inf
index 0453b371a..b1696cc50 100644
--- a/kernel/windows/netuio/netuio.inf
+++ b/kernel/windows/netuio/netuio.inf
@@ -62,6 +62,13 @@ CopyFiles=Drivers_Dir
 [Drivers_Dir]
 netuio.sys
 
+[netuio_Device.NT.HW]
+AddReg=Device.HW.Registry
+
+[Device.HW.Registry]
+; Ensure that only administrators can access our device object.
+HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GA;;;BA)"
+
 ;-------------- Service installation
 [netuio_Device.NT.Services]
 AddService = netuio,%SPSVCINST_ASSOCSERVICE%, netuio_Service_Inst
diff --git a/kernel/windows/netuio/netuio_dev.c b/kernel/windows/netuio/netuio_dev.c
index f5d41cb65..a1fe447f7 100644
--- a/kernel/windows/netuio/netuio_dev.c
+++ b/kernel/windows/netuio/netuio_dev.c
@@ -33,18 +33,13 @@ netuio_create_device(_Inout_ PWDFDEVICE_INIT DeviceInit)
 
     PAGED_CODE();
 
-    // Ensure that only administrators can access our device object.
-    status = WdfDeviceInitAssignSDDLString(DeviceInit, &SDDL_DEVOBJ_SYS_ALL_ADM_ALL);
+    WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&deviceAttributes, NETUIO_CONTEXT_DATA);
 
-    if (NT_SUCCESS(status)) {
-        WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&deviceAttributes, NETUIO_CONTEXT_DATA);
-
-        // Set the device context cleanup callback.
-        // This function will be called when the WDF Device Object associated to the current device is destroyed
-        deviceAttributes.EvtCleanupCallback = netuio_evt_device_context_cleanup;
+    // Set the device context cleanup callback.
+    // This function will be called when the WDF Device Object associated to the current device is destroyed
+    deviceAttributes.EvtCleanupCallback = netuio_evt_device_context_cleanup;
 
-        status = WdfDeviceCreate(&DeviceInit, &deviceAttributes, &device);
-    }
+    status = WdfDeviceCreate(&DeviceInit, &deviceAttributes, &device);
 
 	if (NT_SUCCESS(status)) {
 		// Create a device interface so that applications can find and talk to us.
-- 
2.23.0.vfs.1.1.63.g5a5ad7f



More information about the dev mailing list