Repository navigation
Commit 026f513
fix(core): reject mismatched UUID in register() even under -O (#2704)
* fix(core): reject mismatched UUID in register() even under -O (#2697)
DeviceMemoryResource.register() and PinnedMemoryResource.register()
validated the supplied UUID against the resource's own with a bare
`assert`, which CPython removes under `-O`. A mismatched UUID was then
accepted, registered as a foreign registry key, and rewritten into the
resource's own UUID, silently corrupting the IPC registry.
Replace the assertion with an explicit ValueError so the check is
enforced regardless of the interpreter's assertion mode, and convert
the internal register() result check in MP_from_allocation_handle to
an explicit RuntimeError as well.
Signed-off-by: waterWang <[email protected]>
* cuda.core: address the review of the register() UUID check
- test_register_rejects_mismatched_uuid skips non-pool resources:
VirtualMemoryResource joined the ipc_memory_resource fixture and has no
register().
- The internal-invariant error uses the "internal cuda.core error, please
report" wording.
- register() on DeviceMemoryResource and PinnedMemoryResource documents
its RuntimeError and ValueError, and the 1.3.0 release notes record
the fix.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* test(cuda.core): compare the UUID with its original after a rejected register()
A rejected registration that cleared the UUID to None would have passed
the old check (uuid != other). CodeRabbit's suggestion.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
---------
Signed-off-by: waterWang <[email protected]>
Co-authored-by: waterWang <[email protected]>
Co-authored-by: Andy Jost <[email protected]>
Co-authored-by: Claude Fable 5.1 <[email protected]>1 parent 71e837a commit 026f513
7 files changed
Lines changed: 76 additions & 2 deletions
File tree
- cuda_core
- cuda/core/_memory
- docs/source/release
- tests/memory_ipc
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
140 | 147 | | |
141 | 148 | | |
142 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
179 | 186 | | |
180 | 187 | | |
181 | 188 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
456 | | - | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
457 | 461 | | |
458 | 462 | | |
459 | 463 | | |
| |||
476 | 480 | | |
477 | 481 | | |
478 | 482 | | |
479 | | - | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
480 | 488 | | |
481 | 489 | | |
482 | 490 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
129 | 136 | | |
130 | 137 | | |
131 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
182 | 189 | | |
183 | 190 | | |
184 | 191 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
115 | 122 | | |
116 | 123 | | |
117 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
93 | 124 | | |
94 | 125 | | |
95 | 126 | | |
| |||
0 commit comments