Skip to content

Commit 62c6159

Browse files
authored
Merge pull request #81229 from ktoso/wip-escalation-handler-priority-auth
[Concurrency] Fix ptr auth for task priority escalation handler
2 parents c2f904c + 8fccafd commit 62c6159

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

include/swift/ABI/MetadataValues.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1745,7 +1745,7 @@ namespace SpecialPointerAuthDiscriminators {
17451745
const uint16_t AsyncContextParent = 0xbda2; // = 48546
17461746
const uint16_t AsyncContextResume = 0xd707; // = 55047
17471747
const uint16_t AsyncContextYield = 0xe207; // = 57863
1748-
const uint16_t CancellationNotificationFunction = 0x1933; // = 6451
1748+
const uint16_t CancellationNotificationFunction = 0x2E3F; // = 11839 (TaskPriority, TaskPriority) -> Void
17491749
const uint16_t EscalationNotificationFunction = 0x7861; // = 30817
17501750
const uint16_t AsyncThinNullaryFunction = 0x0f08; // = 3848
17511751
const uint16_t AsyncFutureFunction = 0x720f; // = 29199

stdlib/public/Concurrency/Task.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1812,8 +1812,9 @@ swift_task_addPriorityEscalationHandlerImpl(
18121812
void *context) {
18131813
void *allocation =
18141814
swift_task_alloc(sizeof(EscalationNotificationStatusRecord));
1815+
auto unsigned_handler = swift_auth_code(handler, 11839);
18151816
auto *record = ::new (allocation)
1816-
EscalationNotificationStatusRecord(handler, context);
1817+
EscalationNotificationStatusRecord(unsigned_handler, context);
18171818

18181819
addStatusRecordToSelf(record, [&](ActiveTaskStatus oldStatus, ActiveTaskStatus& newStatus) {
18191820
return true;

0 commit comments

Comments
 (0)