Commit d4d5fac
committed
refactor: enforce single GuestCounter, harden encapsulation
- Add counter_taken AtomicBool to ExclusiveSharedMemory; guest_counter()
returns an error on a second call instead of silently creating a
duplicate with divergent cached state.
- Initialize value to 0 instead of reading from the offset — scratch
memory is always zero at that point.
- Revert HostSharedMemory fields to private and add a #[cfg(test)]
simulate_build() method so tests don't leak shm internals.
- Add only_one_counter_allowed test.
Signed-off-by: danbugs <danilochiarlone@gmail.com>1 parent 4d829b2 commit d4d5fac
2 files changed
Lines changed: 68 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
145 | 152 | | |
146 | 153 | | |
147 | 154 | | |
| |||
326 | 333 | | |
327 | 334 | | |
328 | 335 | | |
329 | | - | |
330 | | - | |
| 336 | + | |
| 337 | + | |
331 | 338 | | |
332 | 339 | | |
333 | 340 | | |
| |||
430 | 437 | | |
431 | 438 | | |
432 | 439 | | |
| 440 | + | |
| 441 | + | |
433 | 442 | | |
434 | 443 | | |
435 | 444 | | |
| |||
549 | 558 | | |
550 | 559 | | |
551 | 560 | | |
| 561 | + | |
| 562 | + | |
552 | 563 | | |
553 | 564 | | |
554 | 565 | | |
| |||
661 | 672 | | |
662 | 673 | | |
663 | 674 | | |
664 | | - | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
665 | 682 | | |
666 | 683 | | |
667 | 684 | | |
| |||
671 | 688 | | |
672 | 689 | | |
673 | 690 | | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
674 | 704 | | |
675 | 705 | | |
676 | 706 | | |
| |||
859 | 889 | | |
860 | 890 | | |
861 | 891 | | |
| 892 | + | |
| 893 | + | |
862 | 894 | | |
863 | 895 | | |
864 | 896 | | |
| |||
1225 | 1257 | | |
1226 | 1258 | | |
1227 | 1259 | | |
| 1260 | + | |
| 1261 | + | |
1228 | 1262 | | |
1229 | 1263 | | |
1230 | 1264 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | | - | |
| 79 | + | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
272 | 272 | | |
273 | 273 | | |
274 | 274 | | |
275 | | - | |
276 | | - | |
277 | | - | |
| 275 | + | |
| 276 | + | |
278 | 277 | | |
279 | 278 | | |
| 279 | + | |
| 280 | + | |
280 | 281 | | |
281 | 282 | | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
282 | 294 | | |
283 | 295 | | |
284 | 296 | | |
| |||
290 | 302 | | |
291 | 303 | | |
292 | 304 | | |
293 | | - | |
294 | 305 | | |
295 | 306 | | |
296 | 307 | | |
297 | 308 | | |
298 | 309 | | |
299 | | - | |
| 310 | + | |
300 | 311 | | |
301 | 312 | | |
302 | 313 | | |
| |||
1449 | 1460 | | |
1450 | 1461 | | |
1451 | 1462 | | |
1452 | | - | |
1453 | | - | |
1454 | 1463 | | |
1455 | 1464 | | |
1456 | 1465 | | |
1457 | | - | |
1458 | 1466 | | |
1459 | 1467 | | |
1460 | 1468 | | |
| |||
1465 | 1473 | | |
1466 | 1474 | | |
1467 | 1475 | | |
1468 | | - | |
1469 | | - | |
1470 | | - | |
1471 | | - | |
1472 | | - | |
1473 | | - | |
1474 | | - | |
1475 | | - | |
1476 | | - | |
1477 | | - | |
1478 | | - | |
1479 | 1476 | | |
1480 | 1477 | | |
1481 | 1478 | | |
1482 | 1479 | | |
1483 | 1480 | | |
1484 | 1481 | | |
1485 | 1482 | | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
1486 | 1491 | | |
1487 | 1492 | | |
1488 | 1493 | | |
| |||
1495 | 1500 | | |
1496 | 1501 | | |
1497 | 1502 | | |
1498 | | - | |
| 1503 | + | |
1499 | 1504 | | |
1500 | | - | |
1501 | 1505 | | |
1502 | | - | |
| 1506 | + | |
1503 | 1507 | | |
1504 | | - | |
| 1508 | + | |
1505 | 1509 | | |
1506 | | - | |
| 1510 | + | |
1507 | 1511 | | |
1508 | 1512 | | |
1509 | 1513 | | |
1510 | 1514 | | |
1511 | 1515 | | |
1512 | 1516 | | |
1513 | | - | |
| 1517 | + | |
1514 | 1518 | | |
1515 | 1519 | | |
1516 | 1520 | | |
| |||
0 commit comments