|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC PATCH 0/5] Changes for Server 2025
When running Server 2025 WHQL testing, issues have been identified with driver
verifier registry isolation violations (verifier.exe /rc 33 36) which are
enabled
by default on certain drivers (primarily XenVbd and XenNet). Running verifier
with these additional checks exposes issues with various drivers.
These checks enforce:
* ZwOpenKey and ZwCreateKey cannot use absolute registry paths
* Only IoOpenDriverRegistryKey and IoOpenDeviceRegistryKey are used to open
registry keys
* Access permissions are restricted based on the key requested
IoOpenDriverRegistryKey's ParametersKey is read only
IoOpenDriverRegistryKey's PersistentState key is read/write
IoOpenDeviceRegistryKey's keys are read only
These patches use IoOpenDriverRegistryKey to open the ParametersKey to query any
settings made by the INF file (or any manual configuration done after install),
and move any 'banned API usage' to xen.sys (as it appears WHQL testing does not
enable driver verifier on import drivers). The attempt to rename the device's
FriendlyName to improve Device Manager's readability is dropped, and UNPLUG v3
is introduced to trigger the request for reboot and determine if boot emulated
was
requested.
There will need to be a related patch series for all other drivers, in order to
use the correct APIs to open the ParametersKey, and use UNPLUG v3 to request
reboots
when needed. XenNet also has additional NDIS requirements for Server 2025 which
have not been fully explored (they look relatively minor changes)
Owen Smith (5):
Add RegistryOpenParametersKey
Move FiltersInstall/FiltersUninstall to xen.sys
Remove FdoSetFriendlyName
Move Registry operations to xen.sys
Add UNPLUG v3
include/revision.h | 3 +-
include/unplug_interface.h | 40 ++-
include/xen.h | 59 ++++
src/common/registry.c | 22 +-
src/common/registry.h | 9 +-
src/xen/config.c | 497 ++++++++++++++++++++++++++++++++++
src/xen/driver.c | 2 +-
src/{xenbus => xen}/filters.c | 4 +
src/{xenbus => xen}/filters.h | 0
src/xenbus/driver.c | 469 +-------------------------------
src/xenbus/driver.h | 30 --
src/xenbus/fdo.c | 99 +------
src/xenbus/unplug.c | 86 ++++++
src/xenfilt/driver.c | 33 +--
vs2019/xen/xen.vcxproj | 2 +
vs2019/xenbus/xenbus.vcxproj | 1 -
vs2022/xen/xen.vcxproj | 2 +
vs2022/xenbus/xenbus.vcxproj | 1 -
18 files changed, 733 insertions(+), 626 deletions(-)
create mode 100644 src/xen/config.c
rename src/{xenbus => xen}/filters.c (99%)
rename src/{xenbus => xen}/filters.h (100%)
--
2.44.0.windows.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |