Alexandre Julliard (@julliard) commented about dlls/ntdll/unix/process.c:
SERVER_END_REQ; return ret;
+ case ProcessWineSetAdminToken: + SERVER_START_REQ( create_primary_admin_token ) + { + if (!(ret = wine_server_call( req ))) + { + HANDLE token = wine_server_ptr_handle( reply->token ); + PROCESS_ACCESS_TOKEN info = { .Token = token, .Thread = NULL }; + ret = NtSetInformationProcess( handle, ProcessAccessToken, &info, sizeof(info) ); + } + } + SERVER_END_REQ;
Please avoid nesting server requests like that. It looks like this could be done just as well as a single request instead of 2 (actually 3 since you need to close the handle). -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6602#note_85459