Skip to content

Commit e9d854e

Browse files
authored
Backport ETW silo fix to v2.3 (#5057)
1 parent ca39850 commit e9d854e

15 files changed

+37
-21
lines changed

.azure/OneBranch.Package.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ extends:
9595
ob_createvpack_owneralias: quicdev
9696
ob_createvpack_description: msquic.$(Build.SourceBranchName)
9797
ob_createvpack_versionAs: string
98-
ob_createvpack_version: 2.3.10-$(Build.BuildId)
98+
ob_createvpack_version: 2.3.11-$(Build.BuildId)
9999
steps:
100100
- task: DownloadPipelineArtifact@2
101101
inputs:

.github/workflows/build-reuse-unix.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
name: Build
8181
runs-on: ${{ inputs.os }}
8282
container:
83-
image: ${{ inputs.plat == 'linux' && format('ghcr.io/microsoft/msquic/linux-build-xcomp:{0}', inputs.os) || '' }}
83+
image: ${{ inputs.plat == 'linux' && format('ghcr.io/microsoft/msquic/linux-build-xcomp:{0}-cross', inputs.os) || '' }}
8484
steps:
8585
- name: Checkout repository
8686
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

.github/workflows/test-down-level.yml

+16-8
Original file line numberDiff line numberDiff line change
@@ -40,24 +40,32 @@ jobs:
4040
- name: Checkout repository
4141
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
4242
- name: Prepare Machine
43-
run: scripts/prepare-machine.ps1 -Tls ${{ matrix.tls }} -DisableTest
43+
run: scripts/prepare-machine.ps1 -Tls ${{ matrix.vec.tls }} -DisableTest
4444
shell: pwsh
45+
- name: Install Perl
46+
if: runner.os == 'Windows'
47+
uses: shogo82148/actions-setup-perl@22423f01bde48fb88785c007e3166fbbbd8e892a
48+
with:
49+
perl-version: '5.34'
50+
- name: Install NASM
51+
if: runner.os == 'Windows'
52+
uses: ilammy/setup-nasm@72793074d3c8cdda771dba85f6deafe00623038b
4553
- name: Build Release
4654
shell: pwsh
47-
run: scripts/build.ps1 -Config Release -Arch ${{ matrix.arch }} -Tls ${{ matrix.tls }} -UseSystemOpenSSLCrypto -DisableTest -DisableTools -DisablePerf
55+
run: scripts/build.ps1 -Config Release -Arch ${{ matrix.vec.arch }} -Tls ${{ matrix.vec.tls }} -UseSystemOpenSSLCrypto -DisableTest -DisableTools -DisablePerf
4856
- name: Download Tests
4957
shell: pwsh
5058
run: |
5159
$osName = "${{runner.os}}".ToLower()
52-
Invoke-WebRequest -Uri "https://github.com/microsoft/msquic/releases/download/v${{matrix.release}}/msquic_${{runner.os}}_${{matrix.arch}}_Release_${{matrix.tls}}_test.zip" -OutFile "artifacts/test.zip"
53-
Expand-Archive -Path artifacts/test.zip -DestinationPath artifacts/bin/$osName/${{matrix.arch}}_Release_${{matrix.tls}}
60+
Invoke-WebRequest -Uri "https://github.com/microsoft/msquic/releases/download/v${{matrix.vec.release}}/msquic_${{runner.os}}_${{matrix.vec.arch}}_Release_${{matrix.vec.tls}}_test.zip" -OutFile "artifacts/test.zip"
61+
Expand-Archive -Path artifacts/test.zip -DestinationPath artifacts/bin/$osName/${{matrix.vec.arch}}_Release_${{matrix.vec.tls}}
5462
- name: Run Tests (Linux)
5563
if: runner.os == 'Linux'
5664
shell: pwsh
5765
run: |
58-
chmod +x artifacts/bin/linux/${{matrix.arch}}_Release_${{matrix.tls}}/msquictest
59-
$env:LD_LIBRARY_PATH = Join-Path (Get-Location).Path "artifacts/bin/linux/${{matrix.arch}}_Release_${{matrix.tls}}"
60-
scripts/test.ps1 -AZP -Config Release -Arch ${{ matrix.arch }} -Tls ${{ matrix.tls }} -SkipUnitTests -Filter -*CredValidation*:*ConnectClientCertificate*:Basic.StartTwoListenersSameALPN:ParameterValidation.ValidateGlobalParam
66+
chmod +x artifacts/bin/linux/${{matrix.vec.arch}}_Release_${{matrix.vec.tls}}/msquictest
67+
$env:LD_LIBRARY_PATH = Join-Path (Get-Location).Path "artifacts/bin/linux/${{matrix.vec.arch}}_Release_${{matrix.vec.tls}}"
68+
scripts/test.ps1 -AZP -Config Release -Arch ${{ matrix.vec.arch }} -Tls ${{ matrix.vec.tls }} -SkipUnitTests -Filter -*CredValidation*:*ConnectClientCertificate*:Basic.StartTwoListenersSameALPN:ParameterValidation.ValidateGlobalParam
6169
- name: Run Tests (Windows)
6270
if: runner.os == 'Windows'
63-
run: scripts/test.ps1 -AZP -Config Release -Arch ${{ matrix.arch }} -Tls ${{ matrix.tls }} -SkipUnitTests -Filter -*ValidateConfiguration:*ValidAlpnLengths:*ResumeRejection*:*ConnectClientCertificate*:Basic.StartTwoListenersSameALPN:ParameterValidation.ValidateGlobalParam
71+
run: scripts/test.ps1 -AZP -Config Release -Arch ${{ matrix.vec.arch }} -Tls ${{ matrix.vec.tls }} -SkipUnitTests -Filter -*ValidateConfiguration:*ValidAlpnLengths:*ResumeRejection*:*ConnectClientCertificate*:Basic.StartTwoListenersSameALPN:ParameterValidation.ValidateGlobalParam

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ message(STATUS "Platform version: ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}")
5757
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
5858

5959
set(QUIC_MAJOR_VERSION 2)
60-
set(QUIC_FULL_VERSION 2.3.10)
60+
set(QUIC_FULL_VERSION 2.3.11)
6161

6262
if (WIN32)
6363
set(CX_PLATFORM "windows")

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "msquic"
3-
version = "2.3.10-beta"
3+
version = "2.3.11-beta"
44
edition = "2018"
55
authors = ["Microsoft"]
66
description = "Microsoft implementation of the IETF QUIC protocol"

scripts/package-distribution.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ $ArtifactsBinDir = Join-Path $BaseArtifactsDir "bin"
1919
# All direct subfolders are OS's
2020
$Platforms = Get-ChildItem -Path $ArtifactsBinDir
2121

22-
$Version = "2.3.10"
22+
$Version = "2.3.11"
2323

2424
$WindowsBuilds = @()
2525
$AllBuilds = @()

scripts/package-nuget.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ $DistDir = Join-Path $BaseArtifactsDir "dist"
153153
$CurrentCommitHash = Get-GitHash -RepoDir $RootDir
154154
$RepoRemote = Get-GitRemote -RepoDir $RootDir
155155

156-
$Version = "2.3.10"
156+
$Version = "2.3.11"
157157

158158
$BuildId = $env:BUILD_BUILDID
159159
if ($null -ne $BuildId) {

scripts/write-versions.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ $ArtifactsDir = $BuildConfig.ArtifactsDir
2626
$SourceVersion = $env:BUILD_SOURCEVERSION;
2727
$SourceBranch = $env:BUILD_SOURCEBRANCH;
2828
$BuildId = $env:BUILD_BUILDID;
29-
$VersionNumber = "2.3.10";
29+
$VersionNumber = "2.3.11";
3030

3131
class BuildData {
3232
[string]$SourceVersion;

src/bin/winkernel/driver.c

+6
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ Return Value:
9595
NTSTATUS Status;
9696
WDF_DRIVER_CONFIG Config;
9797
WDFDRIVER Driver;
98+
QUIC_SILO PrevSilo = QuicSiloAttach(QuicSiloGetHostSilo());
99+
CXPLAT_DBG_ASSERT(!QuicSiloIsServerSilo());
98100

99101
//
100102
// We explicitly load the MsQuic library upfront (instead of letting it
@@ -143,6 +145,7 @@ Return Value:
143145
MsQuicLibraryUnload();
144146
}
145147

148+
QuicSiloDetatch(PrevSilo);
146149
return Status;
147150
}
148151

@@ -168,10 +171,13 @@ Routine Description:
168171
--*/
169172
{
170173
UNREFERENCED_PARAMETER(Driver);
174+
QUIC_SILO PrevSilo = QuicSiloAttach(QuicSiloGetHostSilo());
175+
CXPLAT_DBG_ASSERT(!QuicSiloIsServerSilo());
171176

172177
PAGED_CODE();
173178

174179
MsQuicDeregisterNmrProvider();
175180
MsQuicPcwCleanup();
176181
MsQuicLibraryUnload();
182+
QuicSiloDetatch(PrevSilo);
177183
}

src/core/configuration.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ MsQuicConfigurationOpen(
116116
//
117117

118118
#ifdef QUIC_SILO
119-
Configuration->Silo = QuicSiloGetCurrentServer();
119+
Configuration->Silo = QuicSiloGetCurrentServerSilo();
120120
QuicSiloAddRef(Configuration->Silo);
121121
if (Configuration->Silo != NULL) {
122122
//

src/core/listener.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ MsQuicListenerOpen(
7171
CxPlatEventInitialize(&Listener->StopEvent, TRUE, TRUE);
7272

7373
#ifdef QUIC_SILO
74-
Listener->Silo = QuicSiloGetCurrentServer();
74+
Listener->Silo = QuicSiloGetCurrentServerSilo();
7575
QuicSiloAddRef(Listener->Silo);
7676
#endif
7777

src/distribution/Info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<key>CFBundleInfoDictionaryVersion</key>
2020
<string>6.0</string>
2121
<key>CFBundleVersion</key>
22-
<string>2.3.10</string>
22+
<string>2.3.11</string>
2323
<key>NSHumanReadableCopyright</key>
2424
<string>MIT</string>
2525
<key>CFBundleGetInfoString</key>

src/inc/msquic.ver

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#endif
1313

1414
#ifndef VER_PATCH
15-
#define VER_PATCH 10
15+
#define VER_PATCH 11
1616
#endif
1717

1818
#ifndef VER_BUILD_ID

src/inc/quic_platform_winkernel.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,9 @@ CxPlatRandom(
931931
#define QUIC_SILO PESILO
932932
#define QUIC_SILO_INVALID ((PESILO)(void*)(LONG_PTR)-1)
933933

934-
#define QuicSiloGetCurrentServer() PsGetCurrentServerSilo()
934+
#define QuicSiloGetHostSilo() PsGetHostSilo()
935+
#define QuicSiloIsServerSilo() PsIsCurrentThreadInServerSilo()
936+
#define QuicSiloGetCurrentServerSilo() PsGetCurrentServerSilo()
935937
#define QuicSiloAddRef(Silo) if (Silo != NULL) { ObReferenceObjectWithTag(Silo, QUIC_POOL_SILO); }
936938
#define QuicSiloRelease(Silo) if (Silo != NULL) { ObDereferenceObjectWithTag(Silo, QUIC_POOL_SILO); }
937939
#define QuicSiloAttach(Silo) PsAttachSiloToCurrentThread(Silo)

version.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "major": 2, "minor": 3, "patch": 10 }
1+
{ "major": 2, "minor": 3, "patch": 11 }

0 commit comments

Comments
 (0)