mirror of
https://github.com/reactos/reactos.git
synced 2026-07-01 23:44:57 +08:00
This backport fixes 'kmtest_.exe SeQueryInfoToken' on all testers: VBox x86, KVM x86, WHS x86, Win2003_x64. And according to Thomas description may also prevent a buffer overrun when executing that formerly broken test. Afterwards all 76 tests of this suite do complete on all those builders. Before the patch only 74 of those tests succeeded, 2 failed. The fix is a squashed backport of the following 6 commits from Thomas Faber: 0.4.16-dev-11-g44bdafa17e[KMTESTS:SE] Fix failing tests (#5308) 0.4.16-dev-10-gbf6af0f52e[NTOS:SE] Mark output parameters as such (#5308) 0.4.16-dev-9-g156053cafd[NDK] Match AUX_ACCESS_DATA definition with publicly available version. - if you allocated only sizeof(AUX_ACCESS_DATA), the test would crash with a 4 byte buffer overflow. (#5308) 0.4.16-dev-8-gff410211e9[KMTESTS:SE] Don't modify internal data structure, this might cause buffer overrun (#5308) 0.4.16-dev-7-g206df96bc4[KMTESTS:SE] Correctly allocate PrivilegeSet buffers (#5308) 0.4.16-dev-6-g64a6bd4c3e[KMTESTS:SE] Avoid use of uninitialized pool and hardcoded offsets (#5308) WHS x86 before-and-after-state, the after-test had a few fixes from Timos unrelated PR7343 inside unfortunately: https://reactos.org/testman/compare.php?ids=97640,97871 (This is added to prove the test being wrong) I tested it also successfully on my local 2k3sp2 x86 with the releases/0.4.15 afterstate, built with RosBEWin2.2.2 GCC8.4.0dbg x86. Win2003_x64 0.4.16-dev-11-g44bdafa at 2024-09-12 15:19 (after-state): https://reactos.org/testman/compare.php?ids=97791 0.4.16-dev-5-g2913ef5 vs. 0.4.16-dev-11-g44bdafa vs. 0.4.16-dev-23-g53b304e: VBox x86 https://reactos.org/testman/compare.php?ids=97795,97806,97877 0.4.16-dev-5-g2913ef5 vs. 0.4.16-dev-20-g144a8b5 vs. 0.4.16-dev-21-g2af6fd4: KVM x86 https://reactos.org/testman/compare.php?ids=97793,97855,97856 Since we do touch the NTOS and NDK here the fix is not guaranteed to be side-effect-free, but since we are so early in the RC-phase, I dared to pick it, especially since the alternative would have been to disable the test altogether in the releases/0.4.15 which would have been a pity, if we can also have it all green everywhere.
This directory contains the ReactOS Kernel-Mode Test Suite. The kmtest, kmtest_drv and include subdirectories contain the testing framework infrastructure, other directories contain tests. The example subdirectory contains a set of small tests that can be used as examples and templates. See https://reactos.org/wiki/KmtestsHowto for more information and a guide on how to use the framework.