Jinoh Kang (@iamahuman) commented about dlls/ntdll/tests/om.c:
+ ok( !!info.dbi[0].ObjectTypeName.Buffer, "expected no less than 1 entry\n" ); + ok( !info.dbi[1].ObjectName.Buffer, "expected no more than 1 entry\n" ); + ok( !info.dbi[1].ObjectTypeName.Buffer, "expected no more than 1 entry\n" ); + + if (winetest_debug > 1) trace( "Trying to open %s %s\n", wine_dbgstr_w(info.dbi[0].ObjectTypeName.Buffer), wine_dbgstr_w(info.dbi[0].ObjectName.Buffer) ); + InitializeObjectAttributes( &child_attr, &info.dbi[0].ObjectName, 0, krnobjs, NULL ); + child = NULL; + status = open_object( &child, MAXIMUM_ALLOWED, &child_attr, info.dbi[0].ObjectTypeName.Buffer ); + ok( !status || status == STATUS_ACCESS_DENIED, "open object returned %08lx\n", status ); + if (status) continue; + + status = pNtQueryObject( child, ObjectBasicInformation, &obi, sizeof(obi), &obi_len ); + ok( !status, "NtQueryObject returned %08lx\n", status ); + + trace( "Trying to delete %s with access %08lx\n", wine_dbgstr_w(child_attr.ObjectName->Buffer), obi.GrantedAccess ); + status = NtMakeTemporaryObject( child ); This patch doesn't restore the object after deleting it, potentially causing system malfunction or subsequent test failures.
MR !5279 aims to introduce NtMakePermanentObject() for reverting the temporary (pending deletion) state. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5268#note_64219