github.com/nicocha30/gvisor-ligolo@v0.0.0-20230726075806-989fa2c0a413/pkg/sentry/loader/loader_state_autogen.go (about) 1 // automatically generated by stateify. 2 3 package loader 4 5 import ( 6 "github.com/nicocha30/gvisor-ligolo/pkg/state" 7 ) 8 9 func (v *VDSO) StateTypeName() string { 10 return "pkg/sentry/loader.VDSO" 11 } 12 13 func (v *VDSO) StateFields() []string { 14 return []string{ 15 "ParamPage", 16 "vdso", 17 "os", 18 "arch", 19 "phdrs", 20 } 21 } 22 23 func (v *VDSO) beforeSave() {} 24 25 // +checklocksignore 26 func (v *VDSO) StateSave(stateSinkObject state.Sink) { 27 v.beforeSave() 28 var phdrsValue []elfProgHeader 29 phdrsValue = v.savePhdrs() 30 stateSinkObject.SaveValue(4, phdrsValue) 31 stateSinkObject.Save(0, &v.ParamPage) 32 stateSinkObject.Save(1, &v.vdso) 33 stateSinkObject.Save(2, &v.os) 34 stateSinkObject.Save(3, &v.arch) 35 } 36 37 func (v *VDSO) afterLoad() {} 38 39 // +checklocksignore 40 func (v *VDSO) StateLoad(stateSourceObject state.Source) { 41 stateSourceObject.Load(0, &v.ParamPage) 42 stateSourceObject.Load(1, &v.vdso) 43 stateSourceObject.Load(2, &v.os) 44 stateSourceObject.Load(3, &v.arch) 45 stateSourceObject.LoadValue(4, new([]elfProgHeader), func(y any) { v.loadPhdrs(y.([]elfProgHeader)) }) 46 } 47 48 func (e *elfProgHeader) StateTypeName() string { 49 return "pkg/sentry/loader.elfProgHeader" 50 } 51 52 func (e *elfProgHeader) StateFields() []string { 53 return []string{ 54 "Type", 55 "Flags", 56 "Off", 57 "Vaddr", 58 "Paddr", 59 "Filesz", 60 "Memsz", 61 "Align", 62 } 63 } 64 65 func (e *elfProgHeader) beforeSave() {} 66 67 // +checklocksignore 68 func (e *elfProgHeader) StateSave(stateSinkObject state.Sink) { 69 e.beforeSave() 70 stateSinkObject.Save(0, &e.Type) 71 stateSinkObject.Save(1, &e.Flags) 72 stateSinkObject.Save(2, &e.Off) 73 stateSinkObject.Save(3, &e.Vaddr) 74 stateSinkObject.Save(4, &e.Paddr) 75 stateSinkObject.Save(5, &e.Filesz) 76 stateSinkObject.Save(6, &e.Memsz) 77 stateSinkObject.Save(7, &e.Align) 78 } 79 80 func (e *elfProgHeader) afterLoad() {} 81 82 // +checklocksignore 83 func (e *elfProgHeader) StateLoad(stateSourceObject state.Source) { 84 stateSourceObject.Load(0, &e.Type) 85 stateSourceObject.Load(1, &e.Flags) 86 stateSourceObject.Load(2, &e.Off) 87 stateSourceObject.Load(3, &e.Vaddr) 88 stateSourceObject.Load(4, &e.Paddr) 89 stateSourceObject.Load(5, &e.Filesz) 90 stateSourceObject.Load(6, &e.Memsz) 91 stateSourceObject.Load(7, &e.Align) 92 } 93 94 func init() { 95 state.Register((*VDSO)(nil)) 96 state.Register((*elfProgHeader)(nil)) 97 }