github.com/MerlinKodo/gvisor@v0.0.0-20231110090155-957f62ecf90e/pkg/sentry/mm/mm_state_autogen.go (about) 1 // automatically generated by stateify. 2 3 package mm 4 5 import ( 6 "github.com/MerlinKodo/gvisor/pkg/state" 7 ) 8 9 func (a *aioManager) StateTypeName() string { 10 return "pkg/sentry/mm.aioManager" 11 } 12 13 func (a *aioManager) StateFields() []string { 14 return []string{ 15 "contexts", 16 } 17 } 18 19 func (a *aioManager) beforeSave() {} 20 21 // +checklocksignore 22 func (a *aioManager) StateSave(stateSinkObject state.Sink) { 23 a.beforeSave() 24 stateSinkObject.Save(0, &a.contexts) 25 } 26 27 func (a *aioManager) afterLoad() {} 28 29 // +checklocksignore 30 func (a *aioManager) StateLoad(stateSourceObject state.Source) { 31 stateSourceObject.Load(0, &a.contexts) 32 } 33 34 func (i *ioResult) StateTypeName() string { 35 return "pkg/sentry/mm.ioResult" 36 } 37 38 func (i *ioResult) StateFields() []string { 39 return []string{ 40 "data", 41 "ioEntry", 42 } 43 } 44 45 func (i *ioResult) beforeSave() {} 46 47 // +checklocksignore 48 func (i *ioResult) StateSave(stateSinkObject state.Sink) { 49 i.beforeSave() 50 stateSinkObject.Save(0, &i.data) 51 stateSinkObject.Save(1, &i.ioEntry) 52 } 53 54 func (i *ioResult) afterLoad() {} 55 56 // +checklocksignore 57 func (i *ioResult) StateLoad(stateSourceObject state.Source) { 58 stateSourceObject.Load(0, &i.data) 59 stateSourceObject.Load(1, &i.ioEntry) 60 } 61 62 func (ctx *AIOContext) StateTypeName() string { 63 return "pkg/sentry/mm.AIOContext" 64 } 65 66 func (ctx *AIOContext) StateFields() []string { 67 return []string{ 68 "results", 69 "maxOutstanding", 70 "outstanding", 71 } 72 } 73 74 func (ctx *AIOContext) beforeSave() {} 75 76 // +checklocksignore 77 func (ctx *AIOContext) StateSave(stateSinkObject state.Sink) { 78 ctx.beforeSave() 79 if !state.IsZeroValue(&ctx.dead) { 80 state.Failf("dead is %#v, expected zero", &ctx.dead) 81 } 82 stateSinkObject.Save(0, &ctx.results) 83 stateSinkObject.Save(1, &ctx.maxOutstanding) 84 stateSinkObject.Save(2, &ctx.outstanding) 85 } 86 87 // +checklocksignore 88 func (ctx *AIOContext) StateLoad(stateSourceObject state.Source) { 89 stateSourceObject.Load(0, &ctx.results) 90 stateSourceObject.Load(1, &ctx.maxOutstanding) 91 stateSourceObject.Load(2, &ctx.outstanding) 92 stateSourceObject.AfterLoad(ctx.afterLoad) 93 } 94 95 func (m *aioMappable) StateTypeName() string { 96 return "pkg/sentry/mm.aioMappable" 97 } 98 99 func (m *aioMappable) StateFields() []string { 100 return []string{ 101 "aioMappableRefs", 102 "mfp", 103 "fr", 104 } 105 } 106 107 func (m *aioMappable) beforeSave() {} 108 109 // +checklocksignore 110 func (m *aioMappable) StateSave(stateSinkObject state.Sink) { 111 m.beforeSave() 112 stateSinkObject.Save(0, &m.aioMappableRefs) 113 stateSinkObject.Save(1, &m.mfp) 114 stateSinkObject.Save(2, &m.fr) 115 } 116 117 func (m *aioMappable) afterLoad() {} 118 119 // +checklocksignore 120 func (m *aioMappable) StateLoad(stateSourceObject state.Source) { 121 stateSourceObject.Load(0, &m.aioMappableRefs) 122 stateSourceObject.Load(1, &m.mfp) 123 stateSourceObject.Load(2, &m.fr) 124 } 125 126 func (r *aioMappableRefs) StateTypeName() string { 127 return "pkg/sentry/mm.aioMappableRefs" 128 } 129 130 func (r *aioMappableRefs) StateFields() []string { 131 return []string{ 132 "refCount", 133 } 134 } 135 136 func (r *aioMappableRefs) beforeSave() {} 137 138 // +checklocksignore 139 func (r *aioMappableRefs) StateSave(stateSinkObject state.Sink) { 140 r.beforeSave() 141 stateSinkObject.Save(0, &r.refCount) 142 } 143 144 // +checklocksignore 145 func (r *aioMappableRefs) StateLoad(stateSourceObject state.Source) { 146 stateSourceObject.Load(0, &r.refCount) 147 stateSourceObject.AfterLoad(r.afterLoad) 148 } 149 150 func (s *fileRefcountSet) StateTypeName() string { 151 return "pkg/sentry/mm.fileRefcountSet" 152 } 153 154 func (s *fileRefcountSet) StateFields() []string { 155 return []string{ 156 "root", 157 } 158 } 159 160 func (s *fileRefcountSet) beforeSave() {} 161 162 // +checklocksignore 163 func (s *fileRefcountSet) StateSave(stateSinkObject state.Sink) { 164 s.beforeSave() 165 var rootValue *fileRefcountSegmentDataSlices 166 rootValue = s.saveRoot() 167 stateSinkObject.SaveValue(0, rootValue) 168 } 169 170 func (s *fileRefcountSet) afterLoad() {} 171 172 // +checklocksignore 173 func (s *fileRefcountSet) StateLoad(stateSourceObject state.Source) { 174 stateSourceObject.LoadValue(0, new(*fileRefcountSegmentDataSlices), func(y any) { s.loadRoot(y.(*fileRefcountSegmentDataSlices)) }) 175 } 176 177 func (n *fileRefcountnode) StateTypeName() string { 178 return "pkg/sentry/mm.fileRefcountnode" 179 } 180 181 func (n *fileRefcountnode) StateFields() []string { 182 return []string{ 183 "nrSegments", 184 "parent", 185 "parentIndex", 186 "hasChildren", 187 "maxGap", 188 "keys", 189 "values", 190 "children", 191 } 192 } 193 194 func (n *fileRefcountnode) beforeSave() {} 195 196 // +checklocksignore 197 func (n *fileRefcountnode) StateSave(stateSinkObject state.Sink) { 198 n.beforeSave() 199 stateSinkObject.Save(0, &n.nrSegments) 200 stateSinkObject.Save(1, &n.parent) 201 stateSinkObject.Save(2, &n.parentIndex) 202 stateSinkObject.Save(3, &n.hasChildren) 203 stateSinkObject.Save(4, &n.maxGap) 204 stateSinkObject.Save(5, &n.keys) 205 stateSinkObject.Save(6, &n.values) 206 stateSinkObject.Save(7, &n.children) 207 } 208 209 func (n *fileRefcountnode) afterLoad() {} 210 211 // +checklocksignore 212 func (n *fileRefcountnode) StateLoad(stateSourceObject state.Source) { 213 stateSourceObject.Load(0, &n.nrSegments) 214 stateSourceObject.Load(1, &n.parent) 215 stateSourceObject.Load(2, &n.parentIndex) 216 stateSourceObject.Load(3, &n.hasChildren) 217 stateSourceObject.Load(4, &n.maxGap) 218 stateSourceObject.Load(5, &n.keys) 219 stateSourceObject.Load(6, &n.values) 220 stateSourceObject.Load(7, &n.children) 221 } 222 223 func (f *fileRefcountSegmentDataSlices) StateTypeName() string { 224 return "pkg/sentry/mm.fileRefcountSegmentDataSlices" 225 } 226 227 func (f *fileRefcountSegmentDataSlices) StateFields() []string { 228 return []string{ 229 "Start", 230 "End", 231 "Values", 232 } 233 } 234 235 func (f *fileRefcountSegmentDataSlices) beforeSave() {} 236 237 // +checklocksignore 238 func (f *fileRefcountSegmentDataSlices) StateSave(stateSinkObject state.Sink) { 239 f.beforeSave() 240 stateSinkObject.Save(0, &f.Start) 241 stateSinkObject.Save(1, &f.End) 242 stateSinkObject.Save(2, &f.Values) 243 } 244 245 func (f *fileRefcountSegmentDataSlices) afterLoad() {} 246 247 // +checklocksignore 248 func (f *fileRefcountSegmentDataSlices) StateLoad(stateSourceObject state.Source) { 249 stateSourceObject.Load(0, &f.Start) 250 stateSourceObject.Load(1, &f.End) 251 stateSourceObject.Load(2, &f.Values) 252 } 253 254 func (l *ioList) StateTypeName() string { 255 return "pkg/sentry/mm.ioList" 256 } 257 258 func (l *ioList) StateFields() []string { 259 return []string{ 260 "head", 261 "tail", 262 } 263 } 264 265 func (l *ioList) beforeSave() {} 266 267 // +checklocksignore 268 func (l *ioList) StateSave(stateSinkObject state.Sink) { 269 l.beforeSave() 270 stateSinkObject.Save(0, &l.head) 271 stateSinkObject.Save(1, &l.tail) 272 } 273 274 func (l *ioList) afterLoad() {} 275 276 // +checklocksignore 277 func (l *ioList) StateLoad(stateSourceObject state.Source) { 278 stateSourceObject.Load(0, &l.head) 279 stateSourceObject.Load(1, &l.tail) 280 } 281 282 func (e *ioEntry) StateTypeName() string { 283 return "pkg/sentry/mm.ioEntry" 284 } 285 286 func (e *ioEntry) StateFields() []string { 287 return []string{ 288 "next", 289 "prev", 290 } 291 } 292 293 func (e *ioEntry) beforeSave() {} 294 295 // +checklocksignore 296 func (e *ioEntry) StateSave(stateSinkObject state.Sink) { 297 e.beforeSave() 298 stateSinkObject.Save(0, &e.next) 299 stateSinkObject.Save(1, &e.prev) 300 } 301 302 func (e *ioEntry) afterLoad() {} 303 304 // +checklocksignore 305 func (e *ioEntry) StateLoad(stateSourceObject state.Source) { 306 stateSourceObject.Load(0, &e.next) 307 stateSourceObject.Load(1, &e.prev) 308 } 309 310 func (mm *MemoryManager) StateTypeName() string { 311 return "pkg/sentry/mm.MemoryManager" 312 } 313 314 func (mm *MemoryManager) StateFields() []string { 315 return []string{ 316 "p", 317 "mfp", 318 "layout", 319 "privateRefs", 320 "users", 321 "vmas", 322 "brk", 323 "usageAS", 324 "lockedAS", 325 "dataAS", 326 "defMLockMode", 327 "pmas", 328 "curRSS", 329 "maxRSS", 330 "dumpability", 331 "argv", 332 "envv", 333 "auxv", 334 "executable", 335 "aioManager", 336 "sleepForActivation", 337 "vdsoSigReturnAddr", 338 "membarrierPrivateEnabled", 339 "membarrierRSeqEnabled", 340 } 341 } 342 343 // +checklocksignore 344 func (mm *MemoryManager) StateSave(stateSinkObject state.Sink) { 345 mm.beforeSave() 346 if !state.IsZeroValue(&mm.active) { 347 state.Failf("active is %#v, expected zero", &mm.active) 348 } 349 if !state.IsZeroValue(&mm.captureInvalidations) { 350 state.Failf("captureInvalidations is %#v, expected zero", &mm.captureInvalidations) 351 } 352 stateSinkObject.Save(0, &mm.p) 353 stateSinkObject.Save(1, &mm.mfp) 354 stateSinkObject.Save(2, &mm.layout) 355 stateSinkObject.Save(3, &mm.privateRefs) 356 stateSinkObject.Save(4, &mm.users) 357 stateSinkObject.Save(5, &mm.vmas) 358 stateSinkObject.Save(6, &mm.brk) 359 stateSinkObject.Save(7, &mm.usageAS) 360 stateSinkObject.Save(8, &mm.lockedAS) 361 stateSinkObject.Save(9, &mm.dataAS) 362 stateSinkObject.Save(10, &mm.defMLockMode) 363 stateSinkObject.Save(11, &mm.pmas) 364 stateSinkObject.Save(12, &mm.curRSS) 365 stateSinkObject.Save(13, &mm.maxRSS) 366 stateSinkObject.Save(14, &mm.dumpability) 367 stateSinkObject.Save(15, &mm.argv) 368 stateSinkObject.Save(16, &mm.envv) 369 stateSinkObject.Save(17, &mm.auxv) 370 stateSinkObject.Save(18, &mm.executable) 371 stateSinkObject.Save(19, &mm.aioManager) 372 stateSinkObject.Save(20, &mm.sleepForActivation) 373 stateSinkObject.Save(21, &mm.vdsoSigReturnAddr) 374 stateSinkObject.Save(22, &mm.membarrierPrivateEnabled) 375 stateSinkObject.Save(23, &mm.membarrierRSeqEnabled) 376 } 377 378 // +checklocksignore 379 func (mm *MemoryManager) StateLoad(stateSourceObject state.Source) { 380 stateSourceObject.Load(0, &mm.p) 381 stateSourceObject.Load(1, &mm.mfp) 382 stateSourceObject.Load(2, &mm.layout) 383 stateSourceObject.Load(3, &mm.privateRefs) 384 stateSourceObject.Load(4, &mm.users) 385 stateSourceObject.Load(5, &mm.vmas) 386 stateSourceObject.Load(6, &mm.brk) 387 stateSourceObject.Load(7, &mm.usageAS) 388 stateSourceObject.Load(8, &mm.lockedAS) 389 stateSourceObject.Load(9, &mm.dataAS) 390 stateSourceObject.Load(10, &mm.defMLockMode) 391 stateSourceObject.Load(11, &mm.pmas) 392 stateSourceObject.Load(12, &mm.curRSS) 393 stateSourceObject.Load(13, &mm.maxRSS) 394 stateSourceObject.Load(14, &mm.dumpability) 395 stateSourceObject.Load(15, &mm.argv) 396 stateSourceObject.Load(16, &mm.envv) 397 stateSourceObject.Load(17, &mm.auxv) 398 stateSourceObject.Load(18, &mm.executable) 399 stateSourceObject.Load(19, &mm.aioManager) 400 stateSourceObject.Load(20, &mm.sleepForActivation) 401 stateSourceObject.Load(21, &mm.vdsoSigReturnAddr) 402 stateSourceObject.Load(22, &mm.membarrierPrivateEnabled) 403 stateSourceObject.Load(23, &mm.membarrierRSeqEnabled) 404 stateSourceObject.AfterLoad(mm.afterLoad) 405 } 406 407 func (v *vma) StateTypeName() string { 408 return "pkg/sentry/mm.vma" 409 } 410 411 func (v *vma) StateFields() []string { 412 return []string{ 413 "mappable", 414 "off", 415 "realPerms", 416 "dontfork", 417 "mlockMode", 418 "numaPolicy", 419 "numaNodemask", 420 "id", 421 "hint", 422 "lastFault", 423 } 424 } 425 426 func (v *vma) beforeSave() {} 427 428 // +checklocksignore 429 func (v *vma) StateSave(stateSinkObject state.Sink) { 430 v.beforeSave() 431 var realPermsValue int 432 realPermsValue = v.saveRealPerms() 433 stateSinkObject.SaveValue(2, realPermsValue) 434 stateSinkObject.Save(0, &v.mappable) 435 stateSinkObject.Save(1, &v.off) 436 stateSinkObject.Save(3, &v.dontfork) 437 stateSinkObject.Save(4, &v.mlockMode) 438 stateSinkObject.Save(5, &v.numaPolicy) 439 stateSinkObject.Save(6, &v.numaNodemask) 440 stateSinkObject.Save(7, &v.id) 441 stateSinkObject.Save(8, &v.hint) 442 stateSinkObject.Save(9, &v.lastFault) 443 } 444 445 func (v *vma) afterLoad() {} 446 447 // +checklocksignore 448 func (v *vma) StateLoad(stateSourceObject state.Source) { 449 stateSourceObject.Load(0, &v.mappable) 450 stateSourceObject.Load(1, &v.off) 451 stateSourceObject.Load(3, &v.dontfork) 452 stateSourceObject.Load(4, &v.mlockMode) 453 stateSourceObject.Load(5, &v.numaPolicy) 454 stateSourceObject.Load(6, &v.numaNodemask) 455 stateSourceObject.Load(7, &v.id) 456 stateSourceObject.Load(8, &v.hint) 457 stateSourceObject.Load(9, &v.lastFault) 458 stateSourceObject.LoadValue(2, new(int), func(y any) { v.loadRealPerms(y.(int)) }) 459 } 460 461 func (p *pma) StateTypeName() string { 462 return "pkg/sentry/mm.pma" 463 } 464 465 func (p *pma) StateFields() []string { 466 return []string{ 467 "off", 468 "translatePerms", 469 "effectivePerms", 470 "maxPerms", 471 "needCOW", 472 "private", 473 } 474 } 475 476 func (p *pma) beforeSave() {} 477 478 // +checklocksignore 479 func (p *pma) StateSave(stateSinkObject state.Sink) { 480 p.beforeSave() 481 stateSinkObject.Save(0, &p.off) 482 stateSinkObject.Save(1, &p.translatePerms) 483 stateSinkObject.Save(2, &p.effectivePerms) 484 stateSinkObject.Save(3, &p.maxPerms) 485 stateSinkObject.Save(4, &p.needCOW) 486 stateSinkObject.Save(5, &p.private) 487 } 488 489 func (p *pma) afterLoad() {} 490 491 // +checklocksignore 492 func (p *pma) StateLoad(stateSourceObject state.Source) { 493 stateSourceObject.Load(0, &p.off) 494 stateSourceObject.Load(1, &p.translatePerms) 495 stateSourceObject.Load(2, &p.effectivePerms) 496 stateSourceObject.Load(3, &p.maxPerms) 497 stateSourceObject.Load(4, &p.needCOW) 498 stateSourceObject.Load(5, &p.private) 499 } 500 501 func (p *privateRefs) StateTypeName() string { 502 return "pkg/sentry/mm.privateRefs" 503 } 504 505 func (p *privateRefs) StateFields() []string { 506 return []string{ 507 "refs", 508 } 509 } 510 511 func (p *privateRefs) beforeSave() {} 512 513 // +checklocksignore 514 func (p *privateRefs) StateSave(stateSinkObject state.Sink) { 515 p.beforeSave() 516 stateSinkObject.Save(0, &p.refs) 517 } 518 519 func (p *privateRefs) afterLoad() {} 520 521 // +checklocksignore 522 func (p *privateRefs) StateLoad(stateSourceObject state.Source) { 523 stateSourceObject.Load(0, &p.refs) 524 } 525 526 func (s *pmaSet) StateTypeName() string { 527 return "pkg/sentry/mm.pmaSet" 528 } 529 530 func (s *pmaSet) StateFields() []string { 531 return []string{ 532 "root", 533 } 534 } 535 536 func (s *pmaSet) beforeSave() {} 537 538 // +checklocksignore 539 func (s *pmaSet) StateSave(stateSinkObject state.Sink) { 540 s.beforeSave() 541 var rootValue *pmaSegmentDataSlices 542 rootValue = s.saveRoot() 543 stateSinkObject.SaveValue(0, rootValue) 544 } 545 546 func (s *pmaSet) afterLoad() {} 547 548 // +checklocksignore 549 func (s *pmaSet) StateLoad(stateSourceObject state.Source) { 550 stateSourceObject.LoadValue(0, new(*pmaSegmentDataSlices), func(y any) { s.loadRoot(y.(*pmaSegmentDataSlices)) }) 551 } 552 553 func (n *pmanode) StateTypeName() string { 554 return "pkg/sentry/mm.pmanode" 555 } 556 557 func (n *pmanode) StateFields() []string { 558 return []string{ 559 "nrSegments", 560 "parent", 561 "parentIndex", 562 "hasChildren", 563 "maxGap", 564 "keys", 565 "values", 566 "children", 567 } 568 } 569 570 func (n *pmanode) beforeSave() {} 571 572 // +checklocksignore 573 func (n *pmanode) StateSave(stateSinkObject state.Sink) { 574 n.beforeSave() 575 stateSinkObject.Save(0, &n.nrSegments) 576 stateSinkObject.Save(1, &n.parent) 577 stateSinkObject.Save(2, &n.parentIndex) 578 stateSinkObject.Save(3, &n.hasChildren) 579 stateSinkObject.Save(4, &n.maxGap) 580 stateSinkObject.Save(5, &n.keys) 581 stateSinkObject.Save(6, &n.values) 582 stateSinkObject.Save(7, &n.children) 583 } 584 585 func (n *pmanode) afterLoad() {} 586 587 // +checklocksignore 588 func (n *pmanode) StateLoad(stateSourceObject state.Source) { 589 stateSourceObject.Load(0, &n.nrSegments) 590 stateSourceObject.Load(1, &n.parent) 591 stateSourceObject.Load(2, &n.parentIndex) 592 stateSourceObject.Load(3, &n.hasChildren) 593 stateSourceObject.Load(4, &n.maxGap) 594 stateSourceObject.Load(5, &n.keys) 595 stateSourceObject.Load(6, &n.values) 596 stateSourceObject.Load(7, &n.children) 597 } 598 599 func (p *pmaSegmentDataSlices) StateTypeName() string { 600 return "pkg/sentry/mm.pmaSegmentDataSlices" 601 } 602 603 func (p *pmaSegmentDataSlices) StateFields() []string { 604 return []string{ 605 "Start", 606 "End", 607 "Values", 608 } 609 } 610 611 func (p *pmaSegmentDataSlices) beforeSave() {} 612 613 // +checklocksignore 614 func (p *pmaSegmentDataSlices) StateSave(stateSinkObject state.Sink) { 615 p.beforeSave() 616 stateSinkObject.Save(0, &p.Start) 617 stateSinkObject.Save(1, &p.End) 618 stateSinkObject.Save(2, &p.Values) 619 } 620 621 func (p *pmaSegmentDataSlices) afterLoad() {} 622 623 // +checklocksignore 624 func (p *pmaSegmentDataSlices) StateLoad(stateSourceObject state.Source) { 625 stateSourceObject.Load(0, &p.Start) 626 stateSourceObject.Load(1, &p.End) 627 stateSourceObject.Load(2, &p.Values) 628 } 629 630 func (m *SpecialMappable) StateTypeName() string { 631 return "pkg/sentry/mm.SpecialMappable" 632 } 633 634 func (m *SpecialMappable) StateFields() []string { 635 return []string{ 636 "SpecialMappableRefs", 637 "mfp", 638 "fr", 639 "name", 640 } 641 } 642 643 func (m *SpecialMappable) beforeSave() {} 644 645 // +checklocksignore 646 func (m *SpecialMappable) StateSave(stateSinkObject state.Sink) { 647 m.beforeSave() 648 stateSinkObject.Save(0, &m.SpecialMappableRefs) 649 stateSinkObject.Save(1, &m.mfp) 650 stateSinkObject.Save(2, &m.fr) 651 stateSinkObject.Save(3, &m.name) 652 } 653 654 func (m *SpecialMappable) afterLoad() {} 655 656 // +checklocksignore 657 func (m *SpecialMappable) StateLoad(stateSourceObject state.Source) { 658 stateSourceObject.Load(0, &m.SpecialMappableRefs) 659 stateSourceObject.Load(1, &m.mfp) 660 stateSourceObject.Load(2, &m.fr) 661 stateSourceObject.Load(3, &m.name) 662 } 663 664 func (r *SpecialMappableRefs) StateTypeName() string { 665 return "pkg/sentry/mm.SpecialMappableRefs" 666 } 667 668 func (r *SpecialMappableRefs) StateFields() []string { 669 return []string{ 670 "refCount", 671 } 672 } 673 674 func (r *SpecialMappableRefs) beforeSave() {} 675 676 // +checklocksignore 677 func (r *SpecialMappableRefs) StateSave(stateSinkObject state.Sink) { 678 r.beforeSave() 679 stateSinkObject.Save(0, &r.refCount) 680 } 681 682 // +checklocksignore 683 func (r *SpecialMappableRefs) StateLoad(stateSourceObject state.Source) { 684 stateSourceObject.Load(0, &r.refCount) 685 stateSourceObject.AfterLoad(r.afterLoad) 686 } 687 688 func (s *vmaSet) StateTypeName() string { 689 return "pkg/sentry/mm.vmaSet" 690 } 691 692 func (s *vmaSet) StateFields() []string { 693 return []string{ 694 "root", 695 } 696 } 697 698 func (s *vmaSet) beforeSave() {} 699 700 // +checklocksignore 701 func (s *vmaSet) StateSave(stateSinkObject state.Sink) { 702 s.beforeSave() 703 var rootValue *vmaSegmentDataSlices 704 rootValue = s.saveRoot() 705 stateSinkObject.SaveValue(0, rootValue) 706 } 707 708 func (s *vmaSet) afterLoad() {} 709 710 // +checklocksignore 711 func (s *vmaSet) StateLoad(stateSourceObject state.Source) { 712 stateSourceObject.LoadValue(0, new(*vmaSegmentDataSlices), func(y any) { s.loadRoot(y.(*vmaSegmentDataSlices)) }) 713 } 714 715 func (n *vmanode) StateTypeName() string { 716 return "pkg/sentry/mm.vmanode" 717 } 718 719 func (n *vmanode) StateFields() []string { 720 return []string{ 721 "nrSegments", 722 "parent", 723 "parentIndex", 724 "hasChildren", 725 "maxGap", 726 "keys", 727 "values", 728 "children", 729 } 730 } 731 732 func (n *vmanode) beforeSave() {} 733 734 // +checklocksignore 735 func (n *vmanode) StateSave(stateSinkObject state.Sink) { 736 n.beforeSave() 737 stateSinkObject.Save(0, &n.nrSegments) 738 stateSinkObject.Save(1, &n.parent) 739 stateSinkObject.Save(2, &n.parentIndex) 740 stateSinkObject.Save(3, &n.hasChildren) 741 stateSinkObject.Save(4, &n.maxGap) 742 stateSinkObject.Save(5, &n.keys) 743 stateSinkObject.Save(6, &n.values) 744 stateSinkObject.Save(7, &n.children) 745 } 746 747 func (n *vmanode) afterLoad() {} 748 749 // +checklocksignore 750 func (n *vmanode) StateLoad(stateSourceObject state.Source) { 751 stateSourceObject.Load(0, &n.nrSegments) 752 stateSourceObject.Load(1, &n.parent) 753 stateSourceObject.Load(2, &n.parentIndex) 754 stateSourceObject.Load(3, &n.hasChildren) 755 stateSourceObject.Load(4, &n.maxGap) 756 stateSourceObject.Load(5, &n.keys) 757 stateSourceObject.Load(6, &n.values) 758 stateSourceObject.Load(7, &n.children) 759 } 760 761 func (v *vmaSegmentDataSlices) StateTypeName() string { 762 return "pkg/sentry/mm.vmaSegmentDataSlices" 763 } 764 765 func (v *vmaSegmentDataSlices) StateFields() []string { 766 return []string{ 767 "Start", 768 "End", 769 "Values", 770 } 771 } 772 773 func (v *vmaSegmentDataSlices) beforeSave() {} 774 775 // +checklocksignore 776 func (v *vmaSegmentDataSlices) StateSave(stateSinkObject state.Sink) { 777 v.beforeSave() 778 stateSinkObject.Save(0, &v.Start) 779 stateSinkObject.Save(1, &v.End) 780 stateSinkObject.Save(2, &v.Values) 781 } 782 783 func (v *vmaSegmentDataSlices) afterLoad() {} 784 785 // +checklocksignore 786 func (v *vmaSegmentDataSlices) StateLoad(stateSourceObject state.Source) { 787 stateSourceObject.Load(0, &v.Start) 788 stateSourceObject.Load(1, &v.End) 789 stateSourceObject.Load(2, &v.Values) 790 } 791 792 func init() { 793 state.Register((*aioManager)(nil)) 794 state.Register((*ioResult)(nil)) 795 state.Register((*AIOContext)(nil)) 796 state.Register((*aioMappable)(nil)) 797 state.Register((*aioMappableRefs)(nil)) 798 state.Register((*fileRefcountSet)(nil)) 799 state.Register((*fileRefcountnode)(nil)) 800 state.Register((*fileRefcountSegmentDataSlices)(nil)) 801 state.Register((*ioList)(nil)) 802 state.Register((*ioEntry)(nil)) 803 state.Register((*MemoryManager)(nil)) 804 state.Register((*vma)(nil)) 805 state.Register((*pma)(nil)) 806 state.Register((*privateRefs)(nil)) 807 state.Register((*pmaSet)(nil)) 808 state.Register((*pmanode)(nil)) 809 state.Register((*pmaSegmentDataSlices)(nil)) 810 state.Register((*SpecialMappable)(nil)) 811 state.Register((*SpecialMappableRefs)(nil)) 812 state.Register((*vmaSet)(nil)) 813 state.Register((*vmanode)(nil)) 814 state.Register((*vmaSegmentDataSlices)(nil)) 815 }