Skip to content

Commit 497e8ed

Browse files
authored
[fix] try using mimalloc on musl (#132)
1 parent 8b441a8 commit 497e8ed

11 files changed

Lines changed: 94 additions & 48 deletions

File tree

.github/workflows/deploy-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
runs-on: ubuntu-latest
3030
steps:
3131
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
32-
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
32+
- uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
3333
with:
3434
python-version: 3.x
3535
cache: pip

Cargo.lock

Lines changed: 53 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/dependencies/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
aws-lambda-powertools[tracer,parser]==3.4.1
1+
aws-lambda-powertools[tracer,parser]==3.5.0
22
cryptography==43.0.3
33
hpke==0.3.2
44
pksuid==1.1.2

api/requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
black==24.10.0
2-
aws-lambda-powertools[all,aws-sdk]==3.4.1
2+
aws-lambda-powertools[all,aws-sdk]==3.5.0
33
boto3-stubs[dynamodb,kms]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aws-lambda-powertools==3.4.1
1+
aws-lambda-powertools==3.5.0

canary/requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
black==24.10.0
2-
aws-lambda-powertools[all,aws-sdk]==3.4.1
2+
aws-lambda-powertools[all,aws-sdk]==3.5.0
33
boto3-stubs[dynamodb,kms]

ci_template.yml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -913,12 +913,6 @@ Resources:
913913
- Effect: Allow
914914
Action: "s3:ListBucket" # required for Lambda code signing
915915
Resource: !GetAtt rArtifactBucket.Arn
916-
- Effect: Allow
917-
Action: "secretsmanager:GetSecretValue"
918-
Resource: !Ref rSigningSecret
919-
- Effect: Allow
920-
Action: "secretsmanager:PutSecretValue"
921-
Resource: !Ref rMeasurementSecret
922916
- Effect: Allow
923917
Action: "signer:StartSigningJob"
924918
Resource: !Ref rSigningProfile
@@ -937,6 +931,28 @@ Resources:
937931
- Key: "dp:exclude:network"
938932
Value: "true"
939933

934+
rSecretsManagerPolicy:
935+
Type: "AWS::IAM::Policy"
936+
Properties:
937+
PolicyName: SecretsManager
938+
PolicyDocument:
939+
Version: "2012-10-17"
940+
Statement:
941+
- Effect: Allow
942+
Action: "secretsmanager:GetSecretValue"
943+
Resource: !Ref rSigningSecret
944+
Condition:
945+
ArnEquals:
946+
"codebuild:projectArn": !GetAtt rVaultCodeBuildProject.Arn
947+
- Effect: Allow
948+
Action: "secretsmanager:PutSecretValue"
949+
Resource: !Ref rMeasurementSecret
950+
Condition:
951+
ArnEquals:
952+
"codebuild:projectArn": !GetAtt rVaultCodeBuildProject.Arn
953+
Roles:
954+
- !Ref rCodeBuildRole
955+
940956
rCloudWatchLogsPolicy:
941957
Type: "AWS::IAM::Policy"
942958
Properties:

enclave/Cargo.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ cel-interpreter = { version = "=0.9.0", default-features = false, features = ["j
2020
chrono = { version = "=0.4.39", default-features = false, features = ["now"] }
2121
data-encoding = { version = "=2.7.0", default-features = false, features = ["alloc"] }
2222
serde = { version = "=1.0.217", default-features = false, features = ["derive"] }
23-
serde_json = { version = "=1.0.137", default-features = false }
24-
rustls = { version = "=0.23.21", default-features = false, features = ["aws_lc_rs"] }
23+
serde_json = { version = "=1.0.138", default-features = false }
24+
rustls = { version = "=0.23.22", default-features = false, features = ["aws_lc_rs"] }
2525
vsock = { version = "=0.5.1", default-features = false }
2626
zeroize = { version = "=1.8.1", default-features = false, features = ["zeroize_derive"] }
27+
28+
[target.'cfg(target_env = "musl")'.dependencies]
29+
mimalloc = { version = "=0.1.43", default-features = false, features = ["secure"] }

enclave/src/main.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ use enclave_vault::{
1313
use rustls::crypto::hpke::HpkePrivateKey;
1414
use vsock::{VsockAddr, VsockListener, VsockStream, VMADDR_CID_ANY};
1515

16+
// Avoid musl's default allocator due to terrible performance
17+
#[cfg(target_env = "musl")]
18+
#[global_allocator]
19+
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
20+
1621
#[inline]
1722
fn parse_payload(payload_buffer: &[u8]) -> Result<EnclaveRequest> {
1823
let payload: EnclaveRequest = serde_json::from_slice(payload_buffer)

parent/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ byteorder = { version = "=1.5.0", default-features = false }
2323
clap = { version = "=4.5.27", default-features = false, features = ["std", "derive", "env"] }
2424
fastrand = { version = "=2.3.0", default-features = false }
2525
serde = { version = "=1.0.217", default-features = false, features = ["derive"] }
26-
serde_json = { version = "=1.0.137", default-features = false }
26+
serde_json = { version = "=1.0.138", default-features = false }
2727
thiserror = { version = "=2.0.11", default-features = false }
2828
tokio = { version = "=1.43.0", default-features = false, features = ["rt-multi-thread", "process", "tracing"] }
2929
tracing = { version = "=0.1.41", default-features = false, features = ["log"] }

0 commit comments

Comments
 (0)