github.com/ttpreport/gvisor-ligolo@v0.0.0-20240123134145-a858404967ba/pkg/sentry/kernel/kernel_state_autogen.go (about)

     1  // automatically generated by stateify.
     2  
     3  package kernel
     4  
     5  import (
     6  	"github.com/ttpreport/gvisor-ligolo/pkg/bpf"
     7  	"github.com/ttpreport/gvisor-ligolo/pkg/state"
     8  	"github.com/ttpreport/gvisor-ligolo/pkg/tcpip"
     9  )
    10  
    11  func (a *abstractEndpoint) StateTypeName() string {
    12  	return "pkg/sentry/kernel.abstractEndpoint"
    13  }
    14  
    15  func (a *abstractEndpoint) StateFields() []string {
    16  	return []string{
    17  		"ep",
    18  		"socket",
    19  		"name",
    20  		"ns",
    21  	}
    22  }
    23  
    24  func (a *abstractEndpoint) beforeSave() {}
    25  
    26  // +checklocksignore
    27  func (a *abstractEndpoint) StateSave(stateSinkObject state.Sink) {
    28  	a.beforeSave()
    29  	stateSinkObject.Save(0, &a.ep)
    30  	stateSinkObject.Save(1, &a.socket)
    31  	stateSinkObject.Save(2, &a.name)
    32  	stateSinkObject.Save(3, &a.ns)
    33  }
    34  
    35  func (a *abstractEndpoint) afterLoad() {}
    36  
    37  // +checklocksignore
    38  func (a *abstractEndpoint) StateLoad(stateSourceObject state.Source) {
    39  	stateSourceObject.Load(0, &a.ep)
    40  	stateSourceObject.Load(1, &a.socket)
    41  	stateSourceObject.Load(2, &a.name)
    42  	stateSourceObject.Load(3, &a.ns)
    43  }
    44  
    45  func (a *AbstractSocketNamespace) StateTypeName() string {
    46  	return "pkg/sentry/kernel.AbstractSocketNamespace"
    47  }
    48  
    49  func (a *AbstractSocketNamespace) StateFields() []string {
    50  	return []string{
    51  		"endpoints",
    52  	}
    53  }
    54  
    55  func (a *AbstractSocketNamespace) beforeSave() {}
    56  
    57  // +checklocksignore
    58  func (a *AbstractSocketNamespace) StateSave(stateSinkObject state.Sink) {
    59  	a.beforeSave()
    60  	stateSinkObject.Save(0, &a.endpoints)
    61  }
    62  
    63  func (a *AbstractSocketNamespace) afterLoad() {}
    64  
    65  // +checklocksignore
    66  func (a *AbstractSocketNamespace) StateLoad(stateSourceObject state.Source) {
    67  	stateSourceObject.Load(0, &a.endpoints)
    68  }
    69  
    70  func (c *Cgroup) StateTypeName() string {
    71  	return "pkg/sentry/kernel.Cgroup"
    72  }
    73  
    74  func (c *Cgroup) StateFields() []string {
    75  	return []string{
    76  		"Dentry",
    77  		"CgroupImpl",
    78  	}
    79  }
    80  
    81  func (c *Cgroup) beforeSave() {}
    82  
    83  // +checklocksignore
    84  func (c *Cgroup) StateSave(stateSinkObject state.Sink) {
    85  	c.beforeSave()
    86  	stateSinkObject.Save(0, &c.Dentry)
    87  	stateSinkObject.Save(1, &c.CgroupImpl)
    88  }
    89  
    90  func (c *Cgroup) afterLoad() {}
    91  
    92  // +checklocksignore
    93  func (c *Cgroup) StateLoad(stateSourceObject state.Source) {
    94  	stateSourceObject.Load(0, &c.Dentry)
    95  	stateSourceObject.Load(1, &c.CgroupImpl)
    96  }
    97  
    98  func (h *hierarchy) StateTypeName() string {
    99  	return "pkg/sentry/kernel.hierarchy"
   100  }
   101  
   102  func (h *hierarchy) StateFields() []string {
   103  	return []string{
   104  		"id",
   105  		"name",
   106  		"controllers",
   107  		"fs",
   108  	}
   109  }
   110  
   111  func (h *hierarchy) beforeSave() {}
   112  
   113  // +checklocksignore
   114  func (h *hierarchy) StateSave(stateSinkObject state.Sink) {
   115  	h.beforeSave()
   116  	stateSinkObject.Save(0, &h.id)
   117  	stateSinkObject.Save(1, &h.name)
   118  	stateSinkObject.Save(2, &h.controllers)
   119  	stateSinkObject.Save(3, &h.fs)
   120  }
   121  
   122  func (h *hierarchy) afterLoad() {}
   123  
   124  // +checklocksignore
   125  func (h *hierarchy) StateLoad(stateSourceObject state.Source) {
   126  	stateSourceObject.Load(0, &h.id)
   127  	stateSourceObject.Load(1, &h.name)
   128  	stateSourceObject.Load(2, &h.controllers)
   129  	stateSourceObject.Load(3, &h.fs)
   130  }
   131  
   132  func (r *CgroupRegistry) StateTypeName() string {
   133  	return "pkg/sentry/kernel.CgroupRegistry"
   134  }
   135  
   136  func (r *CgroupRegistry) StateFields() []string {
   137  	return []string{
   138  		"lastHierarchyID",
   139  		"lastCgroupID",
   140  		"controllers",
   141  		"hierarchies",
   142  		"hierarchiesByName",
   143  		"cgroups",
   144  	}
   145  }
   146  
   147  func (r *CgroupRegistry) beforeSave() {}
   148  
   149  // +checklocksignore
   150  func (r *CgroupRegistry) StateSave(stateSinkObject state.Sink) {
   151  	r.beforeSave()
   152  	stateSinkObject.Save(0, &r.lastHierarchyID)
   153  	stateSinkObject.Save(1, &r.lastCgroupID)
   154  	stateSinkObject.Save(2, &r.controllers)
   155  	stateSinkObject.Save(3, &r.hierarchies)
   156  	stateSinkObject.Save(4, &r.hierarchiesByName)
   157  	stateSinkObject.Save(5, &r.cgroups)
   158  }
   159  
   160  func (r *CgroupRegistry) afterLoad() {}
   161  
   162  // +checklocksignore
   163  func (r *CgroupRegistry) StateLoad(stateSourceObject state.Source) {
   164  	stateSourceObject.Load(0, &r.lastHierarchyID)
   165  	stateSourceObject.Load(1, &r.lastCgroupID)
   166  	stateSourceObject.Load(2, &r.controllers)
   167  	stateSourceObject.Load(3, &r.hierarchies)
   168  	stateSourceObject.Load(4, &r.hierarchiesByName)
   169  	stateSourceObject.Load(5, &r.cgroups)
   170  }
   171  
   172  func (f *FDFlags) StateTypeName() string {
   173  	return "pkg/sentry/kernel.FDFlags"
   174  }
   175  
   176  func (f *FDFlags) StateFields() []string {
   177  	return []string{
   178  		"CloseOnExec",
   179  	}
   180  }
   181  
   182  func (f *FDFlags) beforeSave() {}
   183  
   184  // +checklocksignore
   185  func (f *FDFlags) StateSave(stateSinkObject state.Sink) {
   186  	f.beforeSave()
   187  	stateSinkObject.Save(0, &f.CloseOnExec)
   188  }
   189  
   190  func (f *FDFlags) afterLoad() {}
   191  
   192  // +checklocksignore
   193  func (f *FDFlags) StateLoad(stateSourceObject state.Source) {
   194  	stateSourceObject.Load(0, &f.CloseOnExec)
   195  }
   196  
   197  func (d *descriptor) StateTypeName() string {
   198  	return "pkg/sentry/kernel.descriptor"
   199  }
   200  
   201  func (d *descriptor) StateFields() []string {
   202  	return []string{
   203  		"file",
   204  		"flags",
   205  	}
   206  }
   207  
   208  func (d *descriptor) beforeSave() {}
   209  
   210  // +checklocksignore
   211  func (d *descriptor) StateSave(stateSinkObject state.Sink) {
   212  	d.beforeSave()
   213  	stateSinkObject.Save(0, &d.file)
   214  	stateSinkObject.Save(1, &d.flags)
   215  }
   216  
   217  func (d *descriptor) afterLoad() {}
   218  
   219  // +checklocksignore
   220  func (d *descriptor) StateLoad(stateSourceObject state.Source) {
   221  	stateSourceObject.Load(0, &d.file)
   222  	stateSourceObject.Load(1, &d.flags)
   223  }
   224  
   225  func (f *FDTable) StateTypeName() string {
   226  	return "pkg/sentry/kernel.FDTable"
   227  }
   228  
   229  func (f *FDTable) StateFields() []string {
   230  	return []string{
   231  		"FDTableRefs",
   232  		"k",
   233  		"descriptorTable",
   234  	}
   235  }
   236  
   237  func (f *FDTable) beforeSave() {}
   238  
   239  // +checklocksignore
   240  func (f *FDTable) StateSave(stateSinkObject state.Sink) {
   241  	f.beforeSave()
   242  	var descriptorTableValue map[int32]descriptor
   243  	descriptorTableValue = f.saveDescriptorTable()
   244  	stateSinkObject.SaveValue(2, descriptorTableValue)
   245  	stateSinkObject.Save(0, &f.FDTableRefs)
   246  	stateSinkObject.Save(1, &f.k)
   247  }
   248  
   249  func (f *FDTable) afterLoad() {}
   250  
   251  // +checklocksignore
   252  func (f *FDTable) StateLoad(stateSourceObject state.Source) {
   253  	stateSourceObject.Load(0, &f.FDTableRefs)
   254  	stateSourceObject.Load(1, &f.k)
   255  	stateSourceObject.LoadValue(2, new(map[int32]descriptor), func(y any) { f.loadDescriptorTable(y.(map[int32]descriptor)) })
   256  }
   257  
   258  func (r *FDTableRefs) StateTypeName() string {
   259  	return "pkg/sentry/kernel.FDTableRefs"
   260  }
   261  
   262  func (r *FDTableRefs) StateFields() []string {
   263  	return []string{
   264  		"refCount",
   265  	}
   266  }
   267  
   268  func (r *FDTableRefs) beforeSave() {}
   269  
   270  // +checklocksignore
   271  func (r *FDTableRefs) StateSave(stateSinkObject state.Sink) {
   272  	r.beforeSave()
   273  	stateSinkObject.Save(0, &r.refCount)
   274  }
   275  
   276  // +checklocksignore
   277  func (r *FDTableRefs) StateLoad(stateSourceObject state.Source) {
   278  	stateSourceObject.Load(0, &r.refCount)
   279  	stateSourceObject.AfterLoad(r.afterLoad)
   280  }
   281  
   282  func (f *FSContext) StateTypeName() string {
   283  	return "pkg/sentry/kernel.FSContext"
   284  }
   285  
   286  func (f *FSContext) StateFields() []string {
   287  	return []string{
   288  		"FSContextRefs",
   289  		"root",
   290  		"cwd",
   291  		"umask",
   292  	}
   293  }
   294  
   295  func (f *FSContext) beforeSave() {}
   296  
   297  // +checklocksignore
   298  func (f *FSContext) StateSave(stateSinkObject state.Sink) {
   299  	f.beforeSave()
   300  	stateSinkObject.Save(0, &f.FSContextRefs)
   301  	stateSinkObject.Save(1, &f.root)
   302  	stateSinkObject.Save(2, &f.cwd)
   303  	stateSinkObject.Save(3, &f.umask)
   304  }
   305  
   306  func (f *FSContext) afterLoad() {}
   307  
   308  // +checklocksignore
   309  func (f *FSContext) StateLoad(stateSourceObject state.Source) {
   310  	stateSourceObject.Load(0, &f.FSContextRefs)
   311  	stateSourceObject.Load(1, &f.root)
   312  	stateSourceObject.Load(2, &f.cwd)
   313  	stateSourceObject.Load(3, &f.umask)
   314  }
   315  
   316  func (r *FSContextRefs) StateTypeName() string {
   317  	return "pkg/sentry/kernel.FSContextRefs"
   318  }
   319  
   320  func (r *FSContextRefs) StateFields() []string {
   321  	return []string{
   322  		"refCount",
   323  	}
   324  }
   325  
   326  func (r *FSContextRefs) beforeSave() {}
   327  
   328  // +checklocksignore
   329  func (r *FSContextRefs) StateSave(stateSinkObject state.Sink) {
   330  	r.beforeSave()
   331  	stateSinkObject.Save(0, &r.refCount)
   332  }
   333  
   334  // +checklocksignore
   335  func (r *FSContextRefs) StateLoad(stateSourceObject state.Source) {
   336  	stateSourceObject.Load(0, &r.refCount)
   337  	stateSourceObject.AfterLoad(r.afterLoad)
   338  }
   339  
   340  func (i *IPCNamespace) StateTypeName() string {
   341  	return "pkg/sentry/kernel.IPCNamespace"
   342  }
   343  
   344  func (i *IPCNamespace) StateFields() []string {
   345  	return []string{
   346  		"IPCNamespaceRefs",
   347  		"userNS",
   348  		"queues",
   349  		"semaphores",
   350  		"shms",
   351  		"posixQueues",
   352  	}
   353  }
   354  
   355  func (i *IPCNamespace) beforeSave() {}
   356  
   357  // +checklocksignore
   358  func (i *IPCNamespace) StateSave(stateSinkObject state.Sink) {
   359  	i.beforeSave()
   360  	stateSinkObject.Save(0, &i.IPCNamespaceRefs)
   361  	stateSinkObject.Save(1, &i.userNS)
   362  	stateSinkObject.Save(2, &i.queues)
   363  	stateSinkObject.Save(3, &i.semaphores)
   364  	stateSinkObject.Save(4, &i.shms)
   365  	stateSinkObject.Save(5, &i.posixQueues)
   366  }
   367  
   368  func (i *IPCNamespace) afterLoad() {}
   369  
   370  // +checklocksignore
   371  func (i *IPCNamespace) StateLoad(stateSourceObject state.Source) {
   372  	stateSourceObject.Load(0, &i.IPCNamespaceRefs)
   373  	stateSourceObject.Load(1, &i.userNS)
   374  	stateSourceObject.Load(2, &i.queues)
   375  	stateSourceObject.Load(3, &i.semaphores)
   376  	stateSourceObject.Load(4, &i.shms)
   377  	stateSourceObject.Load(5, &i.posixQueues)
   378  }
   379  
   380  func (r *IPCNamespaceRefs) StateTypeName() string {
   381  	return "pkg/sentry/kernel.IPCNamespaceRefs"
   382  }
   383  
   384  func (r *IPCNamespaceRefs) StateFields() []string {
   385  	return []string{
   386  		"refCount",
   387  	}
   388  }
   389  
   390  func (r *IPCNamespaceRefs) beforeSave() {}
   391  
   392  // +checklocksignore
   393  func (r *IPCNamespaceRefs) StateSave(stateSinkObject state.Sink) {
   394  	r.beforeSave()
   395  	stateSinkObject.Save(0, &r.refCount)
   396  }
   397  
   398  // +checklocksignore
   399  func (r *IPCNamespaceRefs) StateLoad(stateSourceObject state.Source) {
   400  	stateSourceObject.Load(0, &r.refCount)
   401  	stateSourceObject.AfterLoad(r.afterLoad)
   402  }
   403  
   404  func (uc *userCounters) StateTypeName() string {
   405  	return "pkg/sentry/kernel.userCounters"
   406  }
   407  
   408  func (uc *userCounters) StateFields() []string {
   409  	return []string{
   410  		"uid",
   411  		"rlimitNProc",
   412  	}
   413  }
   414  
   415  func (uc *userCounters) beforeSave() {}
   416  
   417  // +checklocksignore
   418  func (uc *userCounters) StateSave(stateSinkObject state.Sink) {
   419  	uc.beforeSave()
   420  	stateSinkObject.Save(0, &uc.uid)
   421  	stateSinkObject.Save(1, &uc.rlimitNProc)
   422  }
   423  
   424  func (uc *userCounters) afterLoad() {}
   425  
   426  // +checklocksignore
   427  func (uc *userCounters) StateLoad(stateSourceObject state.Source) {
   428  	stateSourceObject.Load(0, &uc.uid)
   429  	stateSourceObject.Load(1, &uc.rlimitNProc)
   430  }
   431  
   432  func (k *Kernel) StateTypeName() string {
   433  	return "pkg/sentry/kernel.Kernel"
   434  }
   435  
   436  func (k *Kernel) StateFields() []string {
   437  	return []string{
   438  		"featureSet",
   439  		"timekeeper",
   440  		"tasks",
   441  		"rootUserNamespace",
   442  		"rootNetworkNamespace",
   443  		"applicationCores",
   444  		"useHostCores",
   445  		"extraAuxv",
   446  		"vdso",
   447  		"rootUTSNamespace",
   448  		"rootIPCNamespace",
   449  		"rootAbstractSocketNamespace",
   450  		"futexes",
   451  		"globalInit",
   452  		"syslog",
   453  		"runningTasks",
   454  		"cpuClock",
   455  		"cpuClockTickerRunning",
   456  		"uniqueID",
   457  		"nextInotifyCookie",
   458  		"netlinkPorts",
   459  		"danglingEndpoints",
   460  		"sockets",
   461  		"nextSocketRecord",
   462  		"SpecialOpts",
   463  		"vfs",
   464  		"hostMount",
   465  		"pipeMount",
   466  		"nsfsMount",
   467  		"shmMount",
   468  		"socketMount",
   469  		"sysVShmDevID",
   470  		"SleepForAddressSpaceActivation",
   471  		"ptraceExceptions",
   472  		"YAMAPtraceScope",
   473  		"cgroupRegistry",
   474  		"userCountersMap",
   475  	}
   476  }
   477  
   478  func (k *Kernel) beforeSave() {}
   479  
   480  // +checklocksignore
   481  func (k *Kernel) StateSave(stateSinkObject state.Sink) {
   482  	k.beforeSave()
   483  	var danglingEndpointsValue []tcpip.Endpoint
   484  	danglingEndpointsValue = k.saveDanglingEndpoints()
   485  	stateSinkObject.SaveValue(21, danglingEndpointsValue)
   486  	stateSinkObject.Save(0, &k.featureSet)
   487  	stateSinkObject.Save(1, &k.timekeeper)
   488  	stateSinkObject.Save(2, &k.tasks)
   489  	stateSinkObject.Save(3, &k.rootUserNamespace)
   490  	stateSinkObject.Save(4, &k.rootNetworkNamespace)
   491  	stateSinkObject.Save(5, &k.applicationCores)
   492  	stateSinkObject.Save(6, &k.useHostCores)
   493  	stateSinkObject.Save(7, &k.extraAuxv)
   494  	stateSinkObject.Save(8, &k.vdso)
   495  	stateSinkObject.Save(9, &k.rootUTSNamespace)
   496  	stateSinkObject.Save(10, &k.rootIPCNamespace)
   497  	stateSinkObject.Save(11, &k.rootAbstractSocketNamespace)
   498  	stateSinkObject.Save(12, &k.futexes)
   499  	stateSinkObject.Save(13, &k.globalInit)
   500  	stateSinkObject.Save(14, &k.syslog)
   501  	stateSinkObject.Save(15, &k.runningTasks)
   502  	stateSinkObject.Save(16, &k.cpuClock)
   503  	stateSinkObject.Save(17, &k.cpuClockTickerRunning)
   504  	stateSinkObject.Save(18, &k.uniqueID)
   505  	stateSinkObject.Save(19, &k.nextInotifyCookie)
   506  	stateSinkObject.Save(20, &k.netlinkPorts)
   507  	stateSinkObject.Save(22, &k.sockets)
   508  	stateSinkObject.Save(23, &k.nextSocketRecord)
   509  	stateSinkObject.Save(24, &k.SpecialOpts)
   510  	stateSinkObject.Save(25, &k.vfs)
   511  	stateSinkObject.Save(26, &k.hostMount)
   512  	stateSinkObject.Save(27, &k.pipeMount)
   513  	stateSinkObject.Save(28, &k.nsfsMount)
   514  	stateSinkObject.Save(29, &k.shmMount)
   515  	stateSinkObject.Save(30, &k.socketMount)
   516  	stateSinkObject.Save(31, &k.sysVShmDevID)
   517  	stateSinkObject.Save(32, &k.SleepForAddressSpaceActivation)
   518  	stateSinkObject.Save(33, &k.ptraceExceptions)
   519  	stateSinkObject.Save(34, &k.YAMAPtraceScope)
   520  	stateSinkObject.Save(35, &k.cgroupRegistry)
   521  	stateSinkObject.Save(36, &k.userCountersMap)
   522  }
   523  
   524  func (k *Kernel) afterLoad() {}
   525  
   526  // +checklocksignore
   527  func (k *Kernel) StateLoad(stateSourceObject state.Source) {
   528  	stateSourceObject.Load(0, &k.featureSet)
   529  	stateSourceObject.Load(1, &k.timekeeper)
   530  	stateSourceObject.Load(2, &k.tasks)
   531  	stateSourceObject.Load(3, &k.rootUserNamespace)
   532  	stateSourceObject.Load(4, &k.rootNetworkNamespace)
   533  	stateSourceObject.Load(5, &k.applicationCores)
   534  	stateSourceObject.Load(6, &k.useHostCores)
   535  	stateSourceObject.Load(7, &k.extraAuxv)
   536  	stateSourceObject.Load(8, &k.vdso)
   537  	stateSourceObject.Load(9, &k.rootUTSNamespace)
   538  	stateSourceObject.Load(10, &k.rootIPCNamespace)
   539  	stateSourceObject.Load(11, &k.rootAbstractSocketNamespace)
   540  	stateSourceObject.Load(12, &k.futexes)
   541  	stateSourceObject.Load(13, &k.globalInit)
   542  	stateSourceObject.Load(14, &k.syslog)
   543  	stateSourceObject.Load(15, &k.runningTasks)
   544  	stateSourceObject.Load(16, &k.cpuClock)
   545  	stateSourceObject.Load(17, &k.cpuClockTickerRunning)
   546  	stateSourceObject.Load(18, &k.uniqueID)
   547  	stateSourceObject.Load(19, &k.nextInotifyCookie)
   548  	stateSourceObject.Load(20, &k.netlinkPorts)
   549  	stateSourceObject.Load(22, &k.sockets)
   550  	stateSourceObject.Load(23, &k.nextSocketRecord)
   551  	stateSourceObject.Load(24, &k.SpecialOpts)
   552  	stateSourceObject.Load(25, &k.vfs)
   553  	stateSourceObject.Load(26, &k.hostMount)
   554  	stateSourceObject.Load(27, &k.pipeMount)
   555  	stateSourceObject.Load(28, &k.nsfsMount)
   556  	stateSourceObject.Load(29, &k.shmMount)
   557  	stateSourceObject.Load(30, &k.socketMount)
   558  	stateSourceObject.Load(31, &k.sysVShmDevID)
   559  	stateSourceObject.Load(32, &k.SleepForAddressSpaceActivation)
   560  	stateSourceObject.Load(33, &k.ptraceExceptions)
   561  	stateSourceObject.Load(34, &k.YAMAPtraceScope)
   562  	stateSourceObject.Load(35, &k.cgroupRegistry)
   563  	stateSourceObject.Load(36, &k.userCountersMap)
   564  	stateSourceObject.LoadValue(21, new([]tcpip.Endpoint), func(y any) { k.loadDanglingEndpoints(y.([]tcpip.Endpoint)) })
   565  }
   566  
   567  func (s *SocketRecord) StateTypeName() string {
   568  	return "pkg/sentry/kernel.SocketRecord"
   569  }
   570  
   571  func (s *SocketRecord) StateFields() []string {
   572  	return []string{
   573  		"k",
   574  		"Sock",
   575  		"ID",
   576  	}
   577  }
   578  
   579  func (s *SocketRecord) beforeSave() {}
   580  
   581  // +checklocksignore
   582  func (s *SocketRecord) StateSave(stateSinkObject state.Sink) {
   583  	s.beforeSave()
   584  	stateSinkObject.Save(0, &s.k)
   585  	stateSinkObject.Save(1, &s.Sock)
   586  	stateSinkObject.Save(2, &s.ID)
   587  }
   588  
   589  func (s *SocketRecord) afterLoad() {}
   590  
   591  // +checklocksignore
   592  func (s *SocketRecord) StateLoad(stateSourceObject state.Source) {
   593  	stateSourceObject.Load(0, &s.k)
   594  	stateSourceObject.Load(1, &s.Sock)
   595  	stateSourceObject.Load(2, &s.ID)
   596  }
   597  
   598  func (p *pendingSignals) StateTypeName() string {
   599  	return "pkg/sentry/kernel.pendingSignals"
   600  }
   601  
   602  func (p *pendingSignals) StateFields() []string {
   603  	return []string{
   604  		"signals",
   605  	}
   606  }
   607  
   608  func (p *pendingSignals) beforeSave() {}
   609  
   610  // +checklocksignore
   611  func (p *pendingSignals) StateSave(stateSinkObject state.Sink) {
   612  	p.beforeSave()
   613  	var signalsValue []savedPendingSignal
   614  	signalsValue = p.saveSignals()
   615  	stateSinkObject.SaveValue(0, signalsValue)
   616  }
   617  
   618  func (p *pendingSignals) afterLoad() {}
   619  
   620  // +checklocksignore
   621  func (p *pendingSignals) StateLoad(stateSourceObject state.Source) {
   622  	stateSourceObject.LoadValue(0, new([]savedPendingSignal), func(y any) { p.loadSignals(y.([]savedPendingSignal)) })
   623  }
   624  
   625  func (p *pendingSignalQueue) StateTypeName() string {
   626  	return "pkg/sentry/kernel.pendingSignalQueue"
   627  }
   628  
   629  func (p *pendingSignalQueue) StateFields() []string {
   630  	return []string{
   631  		"pendingSignalList",
   632  		"length",
   633  	}
   634  }
   635  
   636  func (p *pendingSignalQueue) beforeSave() {}
   637  
   638  // +checklocksignore
   639  func (p *pendingSignalQueue) StateSave(stateSinkObject state.Sink) {
   640  	p.beforeSave()
   641  	stateSinkObject.Save(0, &p.pendingSignalList)
   642  	stateSinkObject.Save(1, &p.length)
   643  }
   644  
   645  func (p *pendingSignalQueue) afterLoad() {}
   646  
   647  // +checklocksignore
   648  func (p *pendingSignalQueue) StateLoad(stateSourceObject state.Source) {
   649  	stateSourceObject.Load(0, &p.pendingSignalList)
   650  	stateSourceObject.Load(1, &p.length)
   651  }
   652  
   653  func (p *pendingSignal) StateTypeName() string {
   654  	return "pkg/sentry/kernel.pendingSignal"
   655  }
   656  
   657  func (p *pendingSignal) StateFields() []string {
   658  	return []string{
   659  		"pendingSignalEntry",
   660  		"SignalInfo",
   661  		"timer",
   662  	}
   663  }
   664  
   665  func (p *pendingSignal) beforeSave() {}
   666  
   667  // +checklocksignore
   668  func (p *pendingSignal) StateSave(stateSinkObject state.Sink) {
   669  	p.beforeSave()
   670  	stateSinkObject.Save(0, &p.pendingSignalEntry)
   671  	stateSinkObject.Save(1, &p.SignalInfo)
   672  	stateSinkObject.Save(2, &p.timer)
   673  }
   674  
   675  func (p *pendingSignal) afterLoad() {}
   676  
   677  // +checklocksignore
   678  func (p *pendingSignal) StateLoad(stateSourceObject state.Source) {
   679  	stateSourceObject.Load(0, &p.pendingSignalEntry)
   680  	stateSourceObject.Load(1, &p.SignalInfo)
   681  	stateSourceObject.Load(2, &p.timer)
   682  }
   683  
   684  func (l *pendingSignalList) StateTypeName() string {
   685  	return "pkg/sentry/kernel.pendingSignalList"
   686  }
   687  
   688  func (l *pendingSignalList) StateFields() []string {
   689  	return []string{
   690  		"head",
   691  		"tail",
   692  	}
   693  }
   694  
   695  func (l *pendingSignalList) beforeSave() {}
   696  
   697  // +checklocksignore
   698  func (l *pendingSignalList) StateSave(stateSinkObject state.Sink) {
   699  	l.beforeSave()
   700  	stateSinkObject.Save(0, &l.head)
   701  	stateSinkObject.Save(1, &l.tail)
   702  }
   703  
   704  func (l *pendingSignalList) afterLoad() {}
   705  
   706  // +checklocksignore
   707  func (l *pendingSignalList) StateLoad(stateSourceObject state.Source) {
   708  	stateSourceObject.Load(0, &l.head)
   709  	stateSourceObject.Load(1, &l.tail)
   710  }
   711  
   712  func (e *pendingSignalEntry) StateTypeName() string {
   713  	return "pkg/sentry/kernel.pendingSignalEntry"
   714  }
   715  
   716  func (e *pendingSignalEntry) StateFields() []string {
   717  	return []string{
   718  		"next",
   719  		"prev",
   720  	}
   721  }
   722  
   723  func (e *pendingSignalEntry) beforeSave() {}
   724  
   725  // +checklocksignore
   726  func (e *pendingSignalEntry) StateSave(stateSinkObject state.Sink) {
   727  	e.beforeSave()
   728  	stateSinkObject.Save(0, &e.next)
   729  	stateSinkObject.Save(1, &e.prev)
   730  }
   731  
   732  func (e *pendingSignalEntry) afterLoad() {}
   733  
   734  // +checklocksignore
   735  func (e *pendingSignalEntry) StateLoad(stateSourceObject state.Source) {
   736  	stateSourceObject.Load(0, &e.next)
   737  	stateSourceObject.Load(1, &e.prev)
   738  }
   739  
   740  func (s *savedPendingSignal) StateTypeName() string {
   741  	return "pkg/sentry/kernel.savedPendingSignal"
   742  }
   743  
   744  func (s *savedPendingSignal) StateFields() []string {
   745  	return []string{
   746  		"si",
   747  		"timer",
   748  	}
   749  }
   750  
   751  func (s *savedPendingSignal) beforeSave() {}
   752  
   753  // +checklocksignore
   754  func (s *savedPendingSignal) StateSave(stateSinkObject state.Sink) {
   755  	s.beforeSave()
   756  	stateSinkObject.Save(0, &s.si)
   757  	stateSinkObject.Save(1, &s.timer)
   758  }
   759  
   760  func (s *savedPendingSignal) afterLoad() {}
   761  
   762  // +checklocksignore
   763  func (s *savedPendingSignal) StateLoad(stateSourceObject state.Source) {
   764  	stateSourceObject.Load(0, &s.si)
   765  	stateSourceObject.Load(1, &s.timer)
   766  }
   767  
   768  func (it *IntervalTimer) StateTypeName() string {
   769  	return "pkg/sentry/kernel.IntervalTimer"
   770  }
   771  
   772  func (it *IntervalTimer) StateFields() []string {
   773  	return []string{
   774  		"timer",
   775  		"target",
   776  		"signo",
   777  		"id",
   778  		"sigval",
   779  		"group",
   780  		"sigpending",
   781  		"sigorphan",
   782  		"overrunCur",
   783  		"overrunLast",
   784  	}
   785  }
   786  
   787  func (it *IntervalTimer) beforeSave() {}
   788  
   789  // +checklocksignore
   790  func (it *IntervalTimer) StateSave(stateSinkObject state.Sink) {
   791  	it.beforeSave()
   792  	stateSinkObject.Save(0, &it.timer)
   793  	stateSinkObject.Save(1, &it.target)
   794  	stateSinkObject.Save(2, &it.signo)
   795  	stateSinkObject.Save(3, &it.id)
   796  	stateSinkObject.Save(4, &it.sigval)
   797  	stateSinkObject.Save(5, &it.group)
   798  	stateSinkObject.Save(6, &it.sigpending)
   799  	stateSinkObject.Save(7, &it.sigorphan)
   800  	stateSinkObject.Save(8, &it.overrunCur)
   801  	stateSinkObject.Save(9, &it.overrunLast)
   802  }
   803  
   804  func (it *IntervalTimer) afterLoad() {}
   805  
   806  // +checklocksignore
   807  func (it *IntervalTimer) StateLoad(stateSourceObject state.Source) {
   808  	stateSourceObject.Load(0, &it.timer)
   809  	stateSourceObject.Load(1, &it.target)
   810  	stateSourceObject.Load(2, &it.signo)
   811  	stateSourceObject.Load(3, &it.id)
   812  	stateSourceObject.Load(4, &it.sigval)
   813  	stateSourceObject.Load(5, &it.group)
   814  	stateSourceObject.Load(6, &it.sigpending)
   815  	stateSourceObject.Load(7, &it.sigorphan)
   816  	stateSourceObject.Load(8, &it.overrunCur)
   817  	stateSourceObject.Load(9, &it.overrunLast)
   818  }
   819  
   820  func (l *processGroupList) StateTypeName() string {
   821  	return "pkg/sentry/kernel.processGroupList"
   822  }
   823  
   824  func (l *processGroupList) StateFields() []string {
   825  	return []string{
   826  		"head",
   827  		"tail",
   828  	}
   829  }
   830  
   831  func (l *processGroupList) beforeSave() {}
   832  
   833  // +checklocksignore
   834  func (l *processGroupList) StateSave(stateSinkObject state.Sink) {
   835  	l.beforeSave()
   836  	stateSinkObject.Save(0, &l.head)
   837  	stateSinkObject.Save(1, &l.tail)
   838  }
   839  
   840  func (l *processGroupList) afterLoad() {}
   841  
   842  // +checklocksignore
   843  func (l *processGroupList) StateLoad(stateSourceObject state.Source) {
   844  	stateSourceObject.Load(0, &l.head)
   845  	stateSourceObject.Load(1, &l.tail)
   846  }
   847  
   848  func (e *processGroupEntry) StateTypeName() string {
   849  	return "pkg/sentry/kernel.processGroupEntry"
   850  }
   851  
   852  func (e *processGroupEntry) StateFields() []string {
   853  	return []string{
   854  		"next",
   855  		"prev",
   856  	}
   857  }
   858  
   859  func (e *processGroupEntry) beforeSave() {}
   860  
   861  // +checklocksignore
   862  func (e *processGroupEntry) StateSave(stateSinkObject state.Sink) {
   863  	e.beforeSave()
   864  	stateSinkObject.Save(0, &e.next)
   865  	stateSinkObject.Save(1, &e.prev)
   866  }
   867  
   868  func (e *processGroupEntry) afterLoad() {}
   869  
   870  // +checklocksignore
   871  func (e *processGroupEntry) StateLoad(stateSourceObject state.Source) {
   872  	stateSourceObject.Load(0, &e.next)
   873  	stateSourceObject.Load(1, &e.prev)
   874  }
   875  
   876  func (r *ProcessGroupRefs) StateTypeName() string {
   877  	return "pkg/sentry/kernel.ProcessGroupRefs"
   878  }
   879  
   880  func (r *ProcessGroupRefs) StateFields() []string {
   881  	return []string{
   882  		"refCount",
   883  	}
   884  }
   885  
   886  func (r *ProcessGroupRefs) beforeSave() {}
   887  
   888  // +checklocksignore
   889  func (r *ProcessGroupRefs) StateSave(stateSinkObject state.Sink) {
   890  	r.beforeSave()
   891  	stateSinkObject.Save(0, &r.refCount)
   892  }
   893  
   894  // +checklocksignore
   895  func (r *ProcessGroupRefs) StateLoad(stateSourceObject state.Source) {
   896  	stateSourceObject.Load(0, &r.refCount)
   897  	stateSourceObject.AfterLoad(r.afterLoad)
   898  }
   899  
   900  func (p *ptraceOptions) StateTypeName() string {
   901  	return "pkg/sentry/kernel.ptraceOptions"
   902  }
   903  
   904  func (p *ptraceOptions) StateFields() []string {
   905  	return []string{
   906  		"ExitKill",
   907  		"SysGood",
   908  		"TraceClone",
   909  		"TraceExec",
   910  		"TraceExit",
   911  		"TraceFork",
   912  		"TraceSeccomp",
   913  		"TraceVfork",
   914  		"TraceVforkDone",
   915  	}
   916  }
   917  
   918  func (p *ptraceOptions) beforeSave() {}
   919  
   920  // +checklocksignore
   921  func (p *ptraceOptions) StateSave(stateSinkObject state.Sink) {
   922  	p.beforeSave()
   923  	stateSinkObject.Save(0, &p.ExitKill)
   924  	stateSinkObject.Save(1, &p.SysGood)
   925  	stateSinkObject.Save(2, &p.TraceClone)
   926  	stateSinkObject.Save(3, &p.TraceExec)
   927  	stateSinkObject.Save(4, &p.TraceExit)
   928  	stateSinkObject.Save(5, &p.TraceFork)
   929  	stateSinkObject.Save(6, &p.TraceSeccomp)
   930  	stateSinkObject.Save(7, &p.TraceVfork)
   931  	stateSinkObject.Save(8, &p.TraceVforkDone)
   932  }
   933  
   934  func (p *ptraceOptions) afterLoad() {}
   935  
   936  // +checklocksignore
   937  func (p *ptraceOptions) StateLoad(stateSourceObject state.Source) {
   938  	stateSourceObject.Load(0, &p.ExitKill)
   939  	stateSourceObject.Load(1, &p.SysGood)
   940  	stateSourceObject.Load(2, &p.TraceClone)
   941  	stateSourceObject.Load(3, &p.TraceExec)
   942  	stateSourceObject.Load(4, &p.TraceExit)
   943  	stateSourceObject.Load(5, &p.TraceFork)
   944  	stateSourceObject.Load(6, &p.TraceSeccomp)
   945  	stateSourceObject.Load(7, &p.TraceVfork)
   946  	stateSourceObject.Load(8, &p.TraceVforkDone)
   947  }
   948  
   949  func (s *ptraceStop) StateTypeName() string {
   950  	return "pkg/sentry/kernel.ptraceStop"
   951  }
   952  
   953  func (s *ptraceStop) StateFields() []string {
   954  	return []string{
   955  		"frozen",
   956  		"listen",
   957  	}
   958  }
   959  
   960  func (s *ptraceStop) beforeSave() {}
   961  
   962  // +checklocksignore
   963  func (s *ptraceStop) StateSave(stateSinkObject state.Sink) {
   964  	s.beforeSave()
   965  	stateSinkObject.Save(0, &s.frozen)
   966  	stateSinkObject.Save(1, &s.listen)
   967  }
   968  
   969  func (s *ptraceStop) afterLoad() {}
   970  
   971  // +checklocksignore
   972  func (s *ptraceStop) StateLoad(stateSourceObject state.Source) {
   973  	stateSourceObject.Load(0, &s.frozen)
   974  	stateSourceObject.Load(1, &s.listen)
   975  }
   976  
   977  func (o *OldRSeqCriticalRegion) StateTypeName() string {
   978  	return "pkg/sentry/kernel.OldRSeqCriticalRegion"
   979  }
   980  
   981  func (o *OldRSeqCriticalRegion) StateFields() []string {
   982  	return []string{
   983  		"CriticalSection",
   984  		"Restart",
   985  	}
   986  }
   987  
   988  func (o *OldRSeqCriticalRegion) beforeSave() {}
   989  
   990  // +checklocksignore
   991  func (o *OldRSeqCriticalRegion) StateSave(stateSinkObject state.Sink) {
   992  	o.beforeSave()
   993  	stateSinkObject.Save(0, &o.CriticalSection)
   994  	stateSinkObject.Save(1, &o.Restart)
   995  }
   996  
   997  func (o *OldRSeqCriticalRegion) afterLoad() {}
   998  
   999  // +checklocksignore
  1000  func (o *OldRSeqCriticalRegion) StateLoad(stateSourceObject state.Source) {
  1001  	stateSourceObject.Load(0, &o.CriticalSection)
  1002  	stateSourceObject.Load(1, &o.Restart)
  1003  }
  1004  
  1005  func (l *sessionList) StateTypeName() string {
  1006  	return "pkg/sentry/kernel.sessionList"
  1007  }
  1008  
  1009  func (l *sessionList) StateFields() []string {
  1010  	return []string{
  1011  		"head",
  1012  		"tail",
  1013  	}
  1014  }
  1015  
  1016  func (l *sessionList) beforeSave() {}
  1017  
  1018  // +checklocksignore
  1019  func (l *sessionList) StateSave(stateSinkObject state.Sink) {
  1020  	l.beforeSave()
  1021  	stateSinkObject.Save(0, &l.head)
  1022  	stateSinkObject.Save(1, &l.tail)
  1023  }
  1024  
  1025  func (l *sessionList) afterLoad() {}
  1026  
  1027  // +checklocksignore
  1028  func (l *sessionList) StateLoad(stateSourceObject state.Source) {
  1029  	stateSourceObject.Load(0, &l.head)
  1030  	stateSourceObject.Load(1, &l.tail)
  1031  }
  1032  
  1033  func (e *sessionEntry) StateTypeName() string {
  1034  	return "pkg/sentry/kernel.sessionEntry"
  1035  }
  1036  
  1037  func (e *sessionEntry) StateFields() []string {
  1038  	return []string{
  1039  		"next",
  1040  		"prev",
  1041  	}
  1042  }
  1043  
  1044  func (e *sessionEntry) beforeSave() {}
  1045  
  1046  // +checklocksignore
  1047  func (e *sessionEntry) StateSave(stateSinkObject state.Sink) {
  1048  	e.beforeSave()
  1049  	stateSinkObject.Save(0, &e.next)
  1050  	stateSinkObject.Save(1, &e.prev)
  1051  }
  1052  
  1053  func (e *sessionEntry) afterLoad() {}
  1054  
  1055  // +checklocksignore
  1056  func (e *sessionEntry) StateLoad(stateSourceObject state.Source) {
  1057  	stateSourceObject.Load(0, &e.next)
  1058  	stateSourceObject.Load(1, &e.prev)
  1059  }
  1060  
  1061  func (r *SessionRefs) StateTypeName() string {
  1062  	return "pkg/sentry/kernel.SessionRefs"
  1063  }
  1064  
  1065  func (r *SessionRefs) StateFields() []string {
  1066  	return []string{
  1067  		"refCount",
  1068  	}
  1069  }
  1070  
  1071  func (r *SessionRefs) beforeSave() {}
  1072  
  1073  // +checklocksignore
  1074  func (r *SessionRefs) StateSave(stateSinkObject state.Sink) {
  1075  	r.beforeSave()
  1076  	stateSinkObject.Save(0, &r.refCount)
  1077  }
  1078  
  1079  // +checklocksignore
  1080  func (r *SessionRefs) StateLoad(stateSourceObject state.Source) {
  1081  	stateSourceObject.Load(0, &r.refCount)
  1082  	stateSourceObject.AfterLoad(r.afterLoad)
  1083  }
  1084  
  1085  func (s *Session) StateTypeName() string {
  1086  	return "pkg/sentry/kernel.Session"
  1087  }
  1088  
  1089  func (s *Session) StateFields() []string {
  1090  	return []string{
  1091  		"SessionRefs",
  1092  		"leader",
  1093  		"id",
  1094  		"foreground",
  1095  		"processGroups",
  1096  		"sessionEntry",
  1097  	}
  1098  }
  1099  
  1100  func (s *Session) beforeSave() {}
  1101  
  1102  // +checklocksignore
  1103  func (s *Session) StateSave(stateSinkObject state.Sink) {
  1104  	s.beforeSave()
  1105  	stateSinkObject.Save(0, &s.SessionRefs)
  1106  	stateSinkObject.Save(1, &s.leader)
  1107  	stateSinkObject.Save(2, &s.id)
  1108  	stateSinkObject.Save(3, &s.foreground)
  1109  	stateSinkObject.Save(4, &s.processGroups)
  1110  	stateSinkObject.Save(5, &s.sessionEntry)
  1111  }
  1112  
  1113  func (s *Session) afterLoad() {}
  1114  
  1115  // +checklocksignore
  1116  func (s *Session) StateLoad(stateSourceObject state.Source) {
  1117  	stateSourceObject.Load(0, &s.SessionRefs)
  1118  	stateSourceObject.Load(1, &s.leader)
  1119  	stateSourceObject.Load(2, &s.id)
  1120  	stateSourceObject.Load(3, &s.foreground)
  1121  	stateSourceObject.Load(4, &s.processGroups)
  1122  	stateSourceObject.Load(5, &s.sessionEntry)
  1123  }
  1124  
  1125  func (pg *ProcessGroup) StateTypeName() string {
  1126  	return "pkg/sentry/kernel.ProcessGroup"
  1127  }
  1128  
  1129  func (pg *ProcessGroup) StateFields() []string {
  1130  	return []string{
  1131  		"refs",
  1132  		"originator",
  1133  		"id",
  1134  		"session",
  1135  		"ancestors",
  1136  		"processGroupEntry",
  1137  	}
  1138  }
  1139  
  1140  func (pg *ProcessGroup) beforeSave() {}
  1141  
  1142  // +checklocksignore
  1143  func (pg *ProcessGroup) StateSave(stateSinkObject state.Sink) {
  1144  	pg.beforeSave()
  1145  	stateSinkObject.Save(0, &pg.refs)
  1146  	stateSinkObject.Save(1, &pg.originator)
  1147  	stateSinkObject.Save(2, &pg.id)
  1148  	stateSinkObject.Save(3, &pg.session)
  1149  	stateSinkObject.Save(4, &pg.ancestors)
  1150  	stateSinkObject.Save(5, &pg.processGroupEntry)
  1151  }
  1152  
  1153  func (pg *ProcessGroup) afterLoad() {}
  1154  
  1155  // +checklocksignore
  1156  func (pg *ProcessGroup) StateLoad(stateSourceObject state.Source) {
  1157  	stateSourceObject.Load(0, &pg.refs)
  1158  	stateSourceObject.Load(1, &pg.originator)
  1159  	stateSourceObject.Load(2, &pg.id)
  1160  	stateSourceObject.Load(3, &pg.session)
  1161  	stateSourceObject.Load(4, &pg.ancestors)
  1162  	stateSourceObject.Load(5, &pg.processGroupEntry)
  1163  }
  1164  
  1165  func (sh *SignalHandlers) StateTypeName() string {
  1166  	return "pkg/sentry/kernel.SignalHandlers"
  1167  }
  1168  
  1169  func (sh *SignalHandlers) StateFields() []string {
  1170  	return []string{
  1171  		"actions",
  1172  	}
  1173  }
  1174  
  1175  func (sh *SignalHandlers) beforeSave() {}
  1176  
  1177  // +checklocksignore
  1178  func (sh *SignalHandlers) StateSave(stateSinkObject state.Sink) {
  1179  	sh.beforeSave()
  1180  	stateSinkObject.Save(0, &sh.actions)
  1181  }
  1182  
  1183  func (sh *SignalHandlers) afterLoad() {}
  1184  
  1185  // +checklocksignore
  1186  func (sh *SignalHandlers) StateLoad(stateSourceObject state.Source) {
  1187  	stateSourceObject.Load(0, &sh.actions)
  1188  }
  1189  
  1190  func (s *syscallTableInfo) StateTypeName() string {
  1191  	return "pkg/sentry/kernel.syscallTableInfo"
  1192  }
  1193  
  1194  func (s *syscallTableInfo) StateFields() []string {
  1195  	return []string{
  1196  		"OS",
  1197  		"Arch",
  1198  	}
  1199  }
  1200  
  1201  func (s *syscallTableInfo) beforeSave() {}
  1202  
  1203  // +checklocksignore
  1204  func (s *syscallTableInfo) StateSave(stateSinkObject state.Sink) {
  1205  	s.beforeSave()
  1206  	stateSinkObject.Save(0, &s.OS)
  1207  	stateSinkObject.Save(1, &s.Arch)
  1208  }
  1209  
  1210  func (s *syscallTableInfo) afterLoad() {}
  1211  
  1212  // +checklocksignore
  1213  func (s *syscallTableInfo) StateLoad(stateSourceObject state.Source) {
  1214  	stateSourceObject.Load(0, &s.OS)
  1215  	stateSourceObject.Load(1, &s.Arch)
  1216  }
  1217  
  1218  func (s *syslog) StateTypeName() string {
  1219  	return "pkg/sentry/kernel.syslog"
  1220  }
  1221  
  1222  func (s *syslog) StateFields() []string {
  1223  	return []string{
  1224  		"msg",
  1225  	}
  1226  }
  1227  
  1228  func (s *syslog) beforeSave() {}
  1229  
  1230  // +checklocksignore
  1231  func (s *syslog) StateSave(stateSinkObject state.Sink) {
  1232  	s.beforeSave()
  1233  	stateSinkObject.Save(0, &s.msg)
  1234  }
  1235  
  1236  func (s *syslog) afterLoad() {}
  1237  
  1238  // +checklocksignore
  1239  func (s *syslog) StateLoad(stateSourceObject state.Source) {
  1240  	stateSourceObject.Load(0, &s.msg)
  1241  }
  1242  
  1243  func (t *Task) StateTypeName() string {
  1244  	return "pkg/sentry/kernel.Task"
  1245  }
  1246  
  1247  func (t *Task) StateFields() []string {
  1248  	return []string{
  1249  		"taskNode",
  1250  		"runState",
  1251  		"taskWorkCount",
  1252  		"taskWork",
  1253  		"haveSyscallReturn",
  1254  		"gosched",
  1255  		"yieldCount",
  1256  		"pendingSignals",
  1257  		"signalMask",
  1258  		"realSignalMask",
  1259  		"haveSavedSignalMask",
  1260  		"savedSignalMask",
  1261  		"signalStack",
  1262  		"signalQueue",
  1263  		"groupStopPending",
  1264  		"groupStopAcknowledged",
  1265  		"trapStopPending",
  1266  		"trapNotifyPending",
  1267  		"stop",
  1268  		"exitStatus",
  1269  		"syscallRestartBlock",
  1270  		"k",
  1271  		"containerID",
  1272  		"image",
  1273  		"fsContext",
  1274  		"fdTable",
  1275  		"vforkParent",
  1276  		"exitState",
  1277  		"exitTracerNotified",
  1278  		"exitTracerAcked",
  1279  		"exitParentNotified",
  1280  		"exitParentAcked",
  1281  		"ptraceTracer",
  1282  		"ptraceTracees",
  1283  		"ptraceSeized",
  1284  		"ptraceOpts",
  1285  		"ptraceSyscallMode",
  1286  		"ptraceSinglestep",
  1287  		"ptraceCode",
  1288  		"ptraceSiginfo",
  1289  		"ptraceEventMsg",
  1290  		"ptraceYAMAExceptionAdded",
  1291  		"ioUsage",
  1292  		"creds",
  1293  		"utsns",
  1294  		"ipcns",
  1295  		"abstractSockets",
  1296  		"mountNamespace",
  1297  		"parentDeathSignal",
  1298  		"syscallFilters",
  1299  		"cleartid",
  1300  		"allowedCPUMask",
  1301  		"cpu",
  1302  		"niceness",
  1303  		"numaPolicy",
  1304  		"numaNodeMask",
  1305  		"netns",
  1306  		"rseqCPU",
  1307  		"oldRSeqCPUAddr",
  1308  		"rseqAddr",
  1309  		"rseqSignature",
  1310  		"robustList",
  1311  		"startTime",
  1312  		"kcov",
  1313  		"cgroups",
  1314  		"memCgID",
  1315  		"userCounters",
  1316  	}
  1317  }
  1318  
  1319  func (t *Task) beforeSave() {}
  1320  
  1321  // +checklocksignore
  1322  func (t *Task) StateSave(stateSinkObject state.Sink) {
  1323  	t.beforeSave()
  1324  	var ptraceTracerValue *Task
  1325  	ptraceTracerValue = t.savePtraceTracer()
  1326  	stateSinkObject.SaveValue(32, ptraceTracerValue)
  1327  	var syscallFiltersValue []bpf.Program
  1328  	syscallFiltersValue = t.saveSyscallFilters()
  1329  	stateSinkObject.SaveValue(49, syscallFiltersValue)
  1330  	stateSinkObject.Save(0, &t.taskNode)
  1331  	stateSinkObject.Save(1, &t.runState)
  1332  	stateSinkObject.Save(2, &t.taskWorkCount)
  1333  	stateSinkObject.Save(3, &t.taskWork)
  1334  	stateSinkObject.Save(4, &t.haveSyscallReturn)
  1335  	stateSinkObject.Save(5, &t.gosched)
  1336  	stateSinkObject.Save(6, &t.yieldCount)
  1337  	stateSinkObject.Save(7, &t.pendingSignals)
  1338  	stateSinkObject.Save(8, &t.signalMask)
  1339  	stateSinkObject.Save(9, &t.realSignalMask)
  1340  	stateSinkObject.Save(10, &t.haveSavedSignalMask)
  1341  	stateSinkObject.Save(11, &t.savedSignalMask)
  1342  	stateSinkObject.Save(12, &t.signalStack)
  1343  	stateSinkObject.Save(13, &t.signalQueue)
  1344  	stateSinkObject.Save(14, &t.groupStopPending)
  1345  	stateSinkObject.Save(15, &t.groupStopAcknowledged)
  1346  	stateSinkObject.Save(16, &t.trapStopPending)
  1347  	stateSinkObject.Save(17, &t.trapNotifyPending)
  1348  	stateSinkObject.Save(18, &t.stop)
  1349  	stateSinkObject.Save(19, &t.exitStatus)
  1350  	stateSinkObject.Save(20, &t.syscallRestartBlock)
  1351  	stateSinkObject.Save(21, &t.k)
  1352  	stateSinkObject.Save(22, &t.containerID)
  1353  	stateSinkObject.Save(23, &t.image)
  1354  	stateSinkObject.Save(24, &t.fsContext)
  1355  	stateSinkObject.Save(25, &t.fdTable)
  1356  	stateSinkObject.Save(26, &t.vforkParent)
  1357  	stateSinkObject.Save(27, &t.exitState)
  1358  	stateSinkObject.Save(28, &t.exitTracerNotified)
  1359  	stateSinkObject.Save(29, &t.exitTracerAcked)
  1360  	stateSinkObject.Save(30, &t.exitParentNotified)
  1361  	stateSinkObject.Save(31, &t.exitParentAcked)
  1362  	stateSinkObject.Save(33, &t.ptraceTracees)
  1363  	stateSinkObject.Save(34, &t.ptraceSeized)
  1364  	stateSinkObject.Save(35, &t.ptraceOpts)
  1365  	stateSinkObject.Save(36, &t.ptraceSyscallMode)
  1366  	stateSinkObject.Save(37, &t.ptraceSinglestep)
  1367  	stateSinkObject.Save(38, &t.ptraceCode)
  1368  	stateSinkObject.Save(39, &t.ptraceSiginfo)
  1369  	stateSinkObject.Save(40, &t.ptraceEventMsg)
  1370  	stateSinkObject.Save(41, &t.ptraceYAMAExceptionAdded)
  1371  	stateSinkObject.Save(42, &t.ioUsage)
  1372  	stateSinkObject.Save(43, &t.creds)
  1373  	stateSinkObject.Save(44, &t.utsns)
  1374  	stateSinkObject.Save(45, &t.ipcns)
  1375  	stateSinkObject.Save(46, &t.abstractSockets)
  1376  	stateSinkObject.Save(47, &t.mountNamespace)
  1377  	stateSinkObject.Save(48, &t.parentDeathSignal)
  1378  	stateSinkObject.Save(50, &t.cleartid)
  1379  	stateSinkObject.Save(51, &t.allowedCPUMask)
  1380  	stateSinkObject.Save(52, &t.cpu)
  1381  	stateSinkObject.Save(53, &t.niceness)
  1382  	stateSinkObject.Save(54, &t.numaPolicy)
  1383  	stateSinkObject.Save(55, &t.numaNodeMask)
  1384  	stateSinkObject.Save(56, &t.netns)
  1385  	stateSinkObject.Save(57, &t.rseqCPU)
  1386  	stateSinkObject.Save(58, &t.oldRSeqCPUAddr)
  1387  	stateSinkObject.Save(59, &t.rseqAddr)
  1388  	stateSinkObject.Save(60, &t.rseqSignature)
  1389  	stateSinkObject.Save(61, &t.robustList)
  1390  	stateSinkObject.Save(62, &t.startTime)
  1391  	stateSinkObject.Save(63, &t.kcov)
  1392  	stateSinkObject.Save(64, &t.cgroups)
  1393  	stateSinkObject.Save(65, &t.memCgID)
  1394  	stateSinkObject.Save(66, &t.userCounters)
  1395  }
  1396  
  1397  // +checklocksignore
  1398  func (t *Task) StateLoad(stateSourceObject state.Source) {
  1399  	stateSourceObject.Load(0, &t.taskNode)
  1400  	stateSourceObject.Load(1, &t.runState)
  1401  	stateSourceObject.Load(2, &t.taskWorkCount)
  1402  	stateSourceObject.Load(3, &t.taskWork)
  1403  	stateSourceObject.Load(4, &t.haveSyscallReturn)
  1404  	stateSourceObject.Load(5, &t.gosched)
  1405  	stateSourceObject.Load(6, &t.yieldCount)
  1406  	stateSourceObject.Load(7, &t.pendingSignals)
  1407  	stateSourceObject.Load(8, &t.signalMask)
  1408  	stateSourceObject.Load(9, &t.realSignalMask)
  1409  	stateSourceObject.Load(10, &t.haveSavedSignalMask)
  1410  	stateSourceObject.Load(11, &t.savedSignalMask)
  1411  	stateSourceObject.Load(12, &t.signalStack)
  1412  	stateSourceObject.Load(13, &t.signalQueue)
  1413  	stateSourceObject.Load(14, &t.groupStopPending)
  1414  	stateSourceObject.Load(15, &t.groupStopAcknowledged)
  1415  	stateSourceObject.Load(16, &t.trapStopPending)
  1416  	stateSourceObject.Load(17, &t.trapNotifyPending)
  1417  	stateSourceObject.Load(18, &t.stop)
  1418  	stateSourceObject.Load(19, &t.exitStatus)
  1419  	stateSourceObject.Load(20, &t.syscallRestartBlock)
  1420  	stateSourceObject.Load(21, &t.k)
  1421  	stateSourceObject.Load(22, &t.containerID)
  1422  	stateSourceObject.Load(23, &t.image)
  1423  	stateSourceObject.Load(24, &t.fsContext)
  1424  	stateSourceObject.Load(25, &t.fdTable)
  1425  	stateSourceObject.Load(26, &t.vforkParent)
  1426  	stateSourceObject.Load(27, &t.exitState)
  1427  	stateSourceObject.Load(28, &t.exitTracerNotified)
  1428  	stateSourceObject.Load(29, &t.exitTracerAcked)
  1429  	stateSourceObject.Load(30, &t.exitParentNotified)
  1430  	stateSourceObject.Load(31, &t.exitParentAcked)
  1431  	stateSourceObject.Load(33, &t.ptraceTracees)
  1432  	stateSourceObject.Load(34, &t.ptraceSeized)
  1433  	stateSourceObject.Load(35, &t.ptraceOpts)
  1434  	stateSourceObject.Load(36, &t.ptraceSyscallMode)
  1435  	stateSourceObject.Load(37, &t.ptraceSinglestep)
  1436  	stateSourceObject.Load(38, &t.ptraceCode)
  1437  	stateSourceObject.Load(39, &t.ptraceSiginfo)
  1438  	stateSourceObject.Load(40, &t.ptraceEventMsg)
  1439  	stateSourceObject.Load(41, &t.ptraceYAMAExceptionAdded)
  1440  	stateSourceObject.Load(42, &t.ioUsage)
  1441  	stateSourceObject.Load(43, &t.creds)
  1442  	stateSourceObject.Load(44, &t.utsns)
  1443  	stateSourceObject.Load(45, &t.ipcns)
  1444  	stateSourceObject.Load(46, &t.abstractSockets)
  1445  	stateSourceObject.Load(47, &t.mountNamespace)
  1446  	stateSourceObject.Load(48, &t.parentDeathSignal)
  1447  	stateSourceObject.Load(50, &t.cleartid)
  1448  	stateSourceObject.Load(51, &t.allowedCPUMask)
  1449  	stateSourceObject.Load(52, &t.cpu)
  1450  	stateSourceObject.Load(53, &t.niceness)
  1451  	stateSourceObject.Load(54, &t.numaPolicy)
  1452  	stateSourceObject.Load(55, &t.numaNodeMask)
  1453  	stateSourceObject.Load(56, &t.netns)
  1454  	stateSourceObject.Load(57, &t.rseqCPU)
  1455  	stateSourceObject.Load(58, &t.oldRSeqCPUAddr)
  1456  	stateSourceObject.Load(59, &t.rseqAddr)
  1457  	stateSourceObject.Load(60, &t.rseqSignature)
  1458  	stateSourceObject.Load(61, &t.robustList)
  1459  	stateSourceObject.Load(62, &t.startTime)
  1460  	stateSourceObject.Load(63, &t.kcov)
  1461  	stateSourceObject.Load(64, &t.cgroups)
  1462  	stateSourceObject.Load(65, &t.memCgID)
  1463  	stateSourceObject.Load(66, &t.userCounters)
  1464  	stateSourceObject.LoadValue(32, new(*Task), func(y any) { t.loadPtraceTracer(y.(*Task)) })
  1465  	stateSourceObject.LoadValue(49, new([]bpf.Program), func(y any) { t.loadSyscallFilters(y.([]bpf.Program)) })
  1466  	stateSourceObject.AfterLoad(t.afterLoad)
  1467  }
  1468  
  1469  func (r *runSyscallAfterPtraceEventClone) StateTypeName() string {
  1470  	return "pkg/sentry/kernel.runSyscallAfterPtraceEventClone"
  1471  }
  1472  
  1473  func (r *runSyscallAfterPtraceEventClone) StateFields() []string {
  1474  	return []string{
  1475  		"vforkChild",
  1476  		"vforkChildTID",
  1477  	}
  1478  }
  1479  
  1480  func (r *runSyscallAfterPtraceEventClone) beforeSave() {}
  1481  
  1482  // +checklocksignore
  1483  func (r *runSyscallAfterPtraceEventClone) StateSave(stateSinkObject state.Sink) {
  1484  	r.beforeSave()
  1485  	stateSinkObject.Save(0, &r.vforkChild)
  1486  	stateSinkObject.Save(1, &r.vforkChildTID)
  1487  }
  1488  
  1489  func (r *runSyscallAfterPtraceEventClone) afterLoad() {}
  1490  
  1491  // +checklocksignore
  1492  func (r *runSyscallAfterPtraceEventClone) StateLoad(stateSourceObject state.Source) {
  1493  	stateSourceObject.Load(0, &r.vforkChild)
  1494  	stateSourceObject.Load(1, &r.vforkChildTID)
  1495  }
  1496  
  1497  func (r *runSyscallAfterVforkStop) StateTypeName() string {
  1498  	return "pkg/sentry/kernel.runSyscallAfterVforkStop"
  1499  }
  1500  
  1501  func (r *runSyscallAfterVforkStop) StateFields() []string {
  1502  	return []string{
  1503  		"childTID",
  1504  	}
  1505  }
  1506  
  1507  func (r *runSyscallAfterVforkStop) beforeSave() {}
  1508  
  1509  // +checklocksignore
  1510  func (r *runSyscallAfterVforkStop) StateSave(stateSinkObject state.Sink) {
  1511  	r.beforeSave()
  1512  	stateSinkObject.Save(0, &r.childTID)
  1513  }
  1514  
  1515  func (r *runSyscallAfterVforkStop) afterLoad() {}
  1516  
  1517  // +checklocksignore
  1518  func (r *runSyscallAfterVforkStop) StateLoad(stateSourceObject state.Source) {
  1519  	stateSourceObject.Load(0, &r.childTID)
  1520  }
  1521  
  1522  func (v *vforkStop) StateTypeName() string {
  1523  	return "pkg/sentry/kernel.vforkStop"
  1524  }
  1525  
  1526  func (v *vforkStop) StateFields() []string {
  1527  	return []string{}
  1528  }
  1529  
  1530  func (v *vforkStop) beforeSave() {}
  1531  
  1532  // +checklocksignore
  1533  func (v *vforkStop) StateSave(stateSinkObject state.Sink) {
  1534  	v.beforeSave()
  1535  }
  1536  
  1537  func (v *vforkStop) afterLoad() {}
  1538  
  1539  // +checklocksignore
  1540  func (v *vforkStop) StateLoad(stateSourceObject state.Source) {
  1541  }
  1542  
  1543  func (e *execStop) StateTypeName() string {
  1544  	return "pkg/sentry/kernel.execStop"
  1545  }
  1546  
  1547  func (e *execStop) StateFields() []string {
  1548  	return []string{}
  1549  }
  1550  
  1551  func (e *execStop) beforeSave() {}
  1552  
  1553  // +checklocksignore
  1554  func (e *execStop) StateSave(stateSinkObject state.Sink) {
  1555  	e.beforeSave()
  1556  }
  1557  
  1558  func (e *execStop) afterLoad() {}
  1559  
  1560  // +checklocksignore
  1561  func (e *execStop) StateLoad(stateSourceObject state.Source) {
  1562  }
  1563  
  1564  func (r *runSyscallAfterExecStop) StateTypeName() string {
  1565  	return "pkg/sentry/kernel.runSyscallAfterExecStop"
  1566  }
  1567  
  1568  func (r *runSyscallAfterExecStop) StateFields() []string {
  1569  	return []string{
  1570  		"image",
  1571  	}
  1572  }
  1573  
  1574  func (r *runSyscallAfterExecStop) beforeSave() {}
  1575  
  1576  // +checklocksignore
  1577  func (r *runSyscallAfterExecStop) StateSave(stateSinkObject state.Sink) {
  1578  	r.beforeSave()
  1579  	stateSinkObject.Save(0, &r.image)
  1580  }
  1581  
  1582  func (r *runSyscallAfterExecStop) afterLoad() {}
  1583  
  1584  // +checklocksignore
  1585  func (r *runSyscallAfterExecStop) StateLoad(stateSourceObject state.Source) {
  1586  	stateSourceObject.Load(0, &r.image)
  1587  }
  1588  
  1589  func (r *runExit) StateTypeName() string {
  1590  	return "pkg/sentry/kernel.runExit"
  1591  }
  1592  
  1593  func (r *runExit) StateFields() []string {
  1594  	return []string{}
  1595  }
  1596  
  1597  func (r *runExit) beforeSave() {}
  1598  
  1599  // +checklocksignore
  1600  func (r *runExit) StateSave(stateSinkObject state.Sink) {
  1601  	r.beforeSave()
  1602  }
  1603  
  1604  func (r *runExit) afterLoad() {}
  1605  
  1606  // +checklocksignore
  1607  func (r *runExit) StateLoad(stateSourceObject state.Source) {
  1608  }
  1609  
  1610  func (r *runExitMain) StateTypeName() string {
  1611  	return "pkg/sentry/kernel.runExitMain"
  1612  }
  1613  
  1614  func (r *runExitMain) StateFields() []string {
  1615  	return []string{}
  1616  }
  1617  
  1618  func (r *runExitMain) beforeSave() {}
  1619  
  1620  // +checklocksignore
  1621  func (r *runExitMain) StateSave(stateSinkObject state.Sink) {
  1622  	r.beforeSave()
  1623  }
  1624  
  1625  func (r *runExitMain) afterLoad() {}
  1626  
  1627  // +checklocksignore
  1628  func (r *runExitMain) StateLoad(stateSourceObject state.Source) {
  1629  }
  1630  
  1631  func (r *runExitNotify) StateTypeName() string {
  1632  	return "pkg/sentry/kernel.runExitNotify"
  1633  }
  1634  
  1635  func (r *runExitNotify) StateFields() []string {
  1636  	return []string{}
  1637  }
  1638  
  1639  func (r *runExitNotify) beforeSave() {}
  1640  
  1641  // +checklocksignore
  1642  func (r *runExitNotify) StateSave(stateSinkObject state.Sink) {
  1643  	r.beforeSave()
  1644  }
  1645  
  1646  func (r *runExitNotify) afterLoad() {}
  1647  
  1648  // +checklocksignore
  1649  func (r *runExitNotify) StateLoad(stateSourceObject state.Source) {
  1650  }
  1651  
  1652  func (image *TaskImage) StateTypeName() string {
  1653  	return "pkg/sentry/kernel.TaskImage"
  1654  }
  1655  
  1656  func (image *TaskImage) StateFields() []string {
  1657  	return []string{
  1658  		"Name",
  1659  		"Arch",
  1660  		"MemoryManager",
  1661  		"fu",
  1662  		"st",
  1663  	}
  1664  }
  1665  
  1666  func (image *TaskImage) beforeSave() {}
  1667  
  1668  // +checklocksignore
  1669  func (image *TaskImage) StateSave(stateSinkObject state.Sink) {
  1670  	image.beforeSave()
  1671  	var stValue syscallTableInfo
  1672  	stValue = image.saveSt()
  1673  	stateSinkObject.SaveValue(4, stValue)
  1674  	stateSinkObject.Save(0, &image.Name)
  1675  	stateSinkObject.Save(1, &image.Arch)
  1676  	stateSinkObject.Save(2, &image.MemoryManager)
  1677  	stateSinkObject.Save(3, &image.fu)
  1678  }
  1679  
  1680  func (image *TaskImage) afterLoad() {}
  1681  
  1682  // +checklocksignore
  1683  func (image *TaskImage) StateLoad(stateSourceObject state.Source) {
  1684  	stateSourceObject.Load(0, &image.Name)
  1685  	stateSourceObject.Load(1, &image.Arch)
  1686  	stateSourceObject.Load(2, &image.MemoryManager)
  1687  	stateSourceObject.Load(3, &image.fu)
  1688  	stateSourceObject.LoadValue(4, new(syscallTableInfo), func(y any) { image.loadSt(y.(syscallTableInfo)) })
  1689  }
  1690  
  1691  func (l *taskList) StateTypeName() string {
  1692  	return "pkg/sentry/kernel.taskList"
  1693  }
  1694  
  1695  func (l *taskList) StateFields() []string {
  1696  	return []string{
  1697  		"head",
  1698  		"tail",
  1699  	}
  1700  }
  1701  
  1702  func (l *taskList) beforeSave() {}
  1703  
  1704  // +checklocksignore
  1705  func (l *taskList) StateSave(stateSinkObject state.Sink) {
  1706  	l.beforeSave()
  1707  	stateSinkObject.Save(0, &l.head)
  1708  	stateSinkObject.Save(1, &l.tail)
  1709  }
  1710  
  1711  func (l *taskList) afterLoad() {}
  1712  
  1713  // +checklocksignore
  1714  func (l *taskList) StateLoad(stateSourceObject state.Source) {
  1715  	stateSourceObject.Load(0, &l.head)
  1716  	stateSourceObject.Load(1, &l.tail)
  1717  }
  1718  
  1719  func (e *taskEntry) StateTypeName() string {
  1720  	return "pkg/sentry/kernel.taskEntry"
  1721  }
  1722  
  1723  func (e *taskEntry) StateFields() []string {
  1724  	return []string{
  1725  		"next",
  1726  		"prev",
  1727  	}
  1728  }
  1729  
  1730  func (e *taskEntry) beforeSave() {}
  1731  
  1732  // +checklocksignore
  1733  func (e *taskEntry) StateSave(stateSinkObject state.Sink) {
  1734  	e.beforeSave()
  1735  	stateSinkObject.Save(0, &e.next)
  1736  	stateSinkObject.Save(1, &e.prev)
  1737  }
  1738  
  1739  func (e *taskEntry) afterLoad() {}
  1740  
  1741  // +checklocksignore
  1742  func (e *taskEntry) StateLoad(stateSourceObject state.Source) {
  1743  	stateSourceObject.Load(0, &e.next)
  1744  	stateSourceObject.Load(1, &e.prev)
  1745  }
  1746  
  1747  func (app *runApp) StateTypeName() string {
  1748  	return "pkg/sentry/kernel.runApp"
  1749  }
  1750  
  1751  func (app *runApp) StateFields() []string {
  1752  	return []string{}
  1753  }
  1754  
  1755  func (app *runApp) beforeSave() {}
  1756  
  1757  // +checklocksignore
  1758  func (app *runApp) StateSave(stateSinkObject state.Sink) {
  1759  	app.beforeSave()
  1760  }
  1761  
  1762  func (app *runApp) afterLoad() {}
  1763  
  1764  // +checklocksignore
  1765  func (app *runApp) StateLoad(stateSourceObject state.Source) {
  1766  }
  1767  
  1768  func (ts *TaskGoroutineSchedInfo) StateTypeName() string {
  1769  	return "pkg/sentry/kernel.TaskGoroutineSchedInfo"
  1770  }
  1771  
  1772  func (ts *TaskGoroutineSchedInfo) StateFields() []string {
  1773  	return []string{
  1774  		"Timestamp",
  1775  		"State",
  1776  		"UserTicks",
  1777  		"SysTicks",
  1778  	}
  1779  }
  1780  
  1781  func (ts *TaskGoroutineSchedInfo) beforeSave() {}
  1782  
  1783  // +checklocksignore
  1784  func (ts *TaskGoroutineSchedInfo) StateSave(stateSinkObject state.Sink) {
  1785  	ts.beforeSave()
  1786  	stateSinkObject.Save(0, &ts.Timestamp)
  1787  	stateSinkObject.Save(1, &ts.State)
  1788  	stateSinkObject.Save(2, &ts.UserTicks)
  1789  	stateSinkObject.Save(3, &ts.SysTicks)
  1790  }
  1791  
  1792  func (ts *TaskGoroutineSchedInfo) afterLoad() {}
  1793  
  1794  // +checklocksignore
  1795  func (ts *TaskGoroutineSchedInfo) StateLoad(stateSourceObject state.Source) {
  1796  	stateSourceObject.Load(0, &ts.Timestamp)
  1797  	stateSourceObject.Load(1, &ts.State)
  1798  	stateSourceObject.Load(2, &ts.UserTicks)
  1799  	stateSourceObject.Load(3, &ts.SysTicks)
  1800  }
  1801  
  1802  func (tc *taskClock) StateTypeName() string {
  1803  	return "pkg/sentry/kernel.taskClock"
  1804  }
  1805  
  1806  func (tc *taskClock) StateFields() []string {
  1807  	return []string{
  1808  		"t",
  1809  		"includeSys",
  1810  	}
  1811  }
  1812  
  1813  func (tc *taskClock) beforeSave() {}
  1814  
  1815  // +checklocksignore
  1816  func (tc *taskClock) StateSave(stateSinkObject state.Sink) {
  1817  	tc.beforeSave()
  1818  	stateSinkObject.Save(0, &tc.t)
  1819  	stateSinkObject.Save(1, &tc.includeSys)
  1820  }
  1821  
  1822  func (tc *taskClock) afterLoad() {}
  1823  
  1824  // +checklocksignore
  1825  func (tc *taskClock) StateLoad(stateSourceObject state.Source) {
  1826  	stateSourceObject.Load(0, &tc.t)
  1827  	stateSourceObject.Load(1, &tc.includeSys)
  1828  }
  1829  
  1830  func (tgc *tgClock) StateTypeName() string {
  1831  	return "pkg/sentry/kernel.tgClock"
  1832  }
  1833  
  1834  func (tgc *tgClock) StateFields() []string {
  1835  	return []string{
  1836  		"tg",
  1837  		"includeSys",
  1838  	}
  1839  }
  1840  
  1841  func (tgc *tgClock) beforeSave() {}
  1842  
  1843  // +checklocksignore
  1844  func (tgc *tgClock) StateSave(stateSinkObject state.Sink) {
  1845  	tgc.beforeSave()
  1846  	stateSinkObject.Save(0, &tgc.tg)
  1847  	stateSinkObject.Save(1, &tgc.includeSys)
  1848  }
  1849  
  1850  func (tgc *tgClock) afterLoad() {}
  1851  
  1852  // +checklocksignore
  1853  func (tgc *tgClock) StateLoad(stateSourceObject state.Source) {
  1854  	stateSourceObject.Load(0, &tgc.tg)
  1855  	stateSourceObject.Load(1, &tgc.includeSys)
  1856  }
  1857  
  1858  func (g *groupStop) StateTypeName() string {
  1859  	return "pkg/sentry/kernel.groupStop"
  1860  }
  1861  
  1862  func (g *groupStop) StateFields() []string {
  1863  	return []string{}
  1864  }
  1865  
  1866  func (g *groupStop) beforeSave() {}
  1867  
  1868  // +checklocksignore
  1869  func (g *groupStop) StateSave(stateSinkObject state.Sink) {
  1870  	g.beforeSave()
  1871  }
  1872  
  1873  func (g *groupStop) afterLoad() {}
  1874  
  1875  // +checklocksignore
  1876  func (g *groupStop) StateLoad(stateSourceObject state.Source) {
  1877  }
  1878  
  1879  func (r *runInterrupt) StateTypeName() string {
  1880  	return "pkg/sentry/kernel.runInterrupt"
  1881  }
  1882  
  1883  func (r *runInterrupt) StateFields() []string {
  1884  	return []string{}
  1885  }
  1886  
  1887  func (r *runInterrupt) beforeSave() {}
  1888  
  1889  // +checklocksignore
  1890  func (r *runInterrupt) StateSave(stateSinkObject state.Sink) {
  1891  	r.beforeSave()
  1892  }
  1893  
  1894  func (r *runInterrupt) afterLoad() {}
  1895  
  1896  // +checklocksignore
  1897  func (r *runInterrupt) StateLoad(stateSourceObject state.Source) {
  1898  }
  1899  
  1900  func (r *runInterruptAfterSignalDeliveryStop) StateTypeName() string {
  1901  	return "pkg/sentry/kernel.runInterruptAfterSignalDeliveryStop"
  1902  }
  1903  
  1904  func (r *runInterruptAfterSignalDeliveryStop) StateFields() []string {
  1905  	return []string{}
  1906  }
  1907  
  1908  func (r *runInterruptAfterSignalDeliveryStop) beforeSave() {}
  1909  
  1910  // +checklocksignore
  1911  func (r *runInterruptAfterSignalDeliveryStop) StateSave(stateSinkObject state.Sink) {
  1912  	r.beforeSave()
  1913  }
  1914  
  1915  func (r *runInterruptAfterSignalDeliveryStop) afterLoad() {}
  1916  
  1917  // +checklocksignore
  1918  func (r *runInterruptAfterSignalDeliveryStop) StateLoad(stateSourceObject state.Source) {
  1919  }
  1920  
  1921  func (r *runSyscallAfterSyscallEnterStop) StateTypeName() string {
  1922  	return "pkg/sentry/kernel.runSyscallAfterSyscallEnterStop"
  1923  }
  1924  
  1925  func (r *runSyscallAfterSyscallEnterStop) StateFields() []string {
  1926  	return []string{}
  1927  }
  1928  
  1929  func (r *runSyscallAfterSyscallEnterStop) beforeSave() {}
  1930  
  1931  // +checklocksignore
  1932  func (r *runSyscallAfterSyscallEnterStop) StateSave(stateSinkObject state.Sink) {
  1933  	r.beforeSave()
  1934  }
  1935  
  1936  func (r *runSyscallAfterSyscallEnterStop) afterLoad() {}
  1937  
  1938  // +checklocksignore
  1939  func (r *runSyscallAfterSyscallEnterStop) StateLoad(stateSourceObject state.Source) {
  1940  }
  1941  
  1942  func (r *runSyscallAfterSysemuStop) StateTypeName() string {
  1943  	return "pkg/sentry/kernel.runSyscallAfterSysemuStop"
  1944  }
  1945  
  1946  func (r *runSyscallAfterSysemuStop) StateFields() []string {
  1947  	return []string{}
  1948  }
  1949  
  1950  func (r *runSyscallAfterSysemuStop) beforeSave() {}
  1951  
  1952  // +checklocksignore
  1953  func (r *runSyscallAfterSysemuStop) StateSave(stateSinkObject state.Sink) {
  1954  	r.beforeSave()
  1955  }
  1956  
  1957  func (r *runSyscallAfterSysemuStop) afterLoad() {}
  1958  
  1959  // +checklocksignore
  1960  func (r *runSyscallAfterSysemuStop) StateLoad(stateSourceObject state.Source) {
  1961  }
  1962  
  1963  func (r *runSyscallReinvoke) StateTypeName() string {
  1964  	return "pkg/sentry/kernel.runSyscallReinvoke"
  1965  }
  1966  
  1967  func (r *runSyscallReinvoke) StateFields() []string {
  1968  	return []string{}
  1969  }
  1970  
  1971  func (r *runSyscallReinvoke) beforeSave() {}
  1972  
  1973  // +checklocksignore
  1974  func (r *runSyscallReinvoke) StateSave(stateSinkObject state.Sink) {
  1975  	r.beforeSave()
  1976  }
  1977  
  1978  func (r *runSyscallReinvoke) afterLoad() {}
  1979  
  1980  // +checklocksignore
  1981  func (r *runSyscallReinvoke) StateLoad(stateSourceObject state.Source) {
  1982  }
  1983  
  1984  func (r *runSyscallExit) StateTypeName() string {
  1985  	return "pkg/sentry/kernel.runSyscallExit"
  1986  }
  1987  
  1988  func (r *runSyscallExit) StateFields() []string {
  1989  	return []string{}
  1990  }
  1991  
  1992  func (r *runSyscallExit) beforeSave() {}
  1993  
  1994  // +checklocksignore
  1995  func (r *runSyscallExit) StateSave(stateSinkObject state.Sink) {
  1996  	r.beforeSave()
  1997  }
  1998  
  1999  func (r *runSyscallExit) afterLoad() {}
  2000  
  2001  // +checklocksignore
  2002  func (r *runSyscallExit) StateLoad(stateSourceObject state.Source) {
  2003  }
  2004  
  2005  func (tg *ThreadGroup) StateTypeName() string {
  2006  	return "pkg/sentry/kernel.ThreadGroup"
  2007  }
  2008  
  2009  func (tg *ThreadGroup) StateFields() []string {
  2010  	return []string{
  2011  		"threadGroupNode",
  2012  		"signalHandlers",
  2013  		"pendingSignals",
  2014  		"groupStopDequeued",
  2015  		"groupStopSignal",
  2016  		"groupStopPendingCount",
  2017  		"groupStopComplete",
  2018  		"groupStopWaitable",
  2019  		"groupContNotify",
  2020  		"groupContInterrupted",
  2021  		"groupContWaitable",
  2022  		"exiting",
  2023  		"exitStatus",
  2024  		"terminationSignal",
  2025  		"itimerRealTimer",
  2026  		"itimerVirtSetting",
  2027  		"itimerProfSetting",
  2028  		"rlimitCPUSoftSetting",
  2029  		"cpuTimersEnabled",
  2030  		"timers",
  2031  		"nextTimerID",
  2032  		"exitedCPUStats",
  2033  		"childCPUStats",
  2034  		"ioUsage",
  2035  		"maxRSS",
  2036  		"childMaxRSS",
  2037  		"limits",
  2038  		"processGroup",
  2039  		"execed",
  2040  		"oldRSeqCritical",
  2041  		"tty",
  2042  		"oomScoreAdj",
  2043  		"isChildSubreaper",
  2044  		"hasChildSubreaper",
  2045  	}
  2046  }
  2047  
  2048  func (tg *ThreadGroup) beforeSave() {}
  2049  
  2050  // +checklocksignore
  2051  func (tg *ThreadGroup) StateSave(stateSinkObject state.Sink) {
  2052  	tg.beforeSave()
  2053  	var oldRSeqCriticalValue *OldRSeqCriticalRegion
  2054  	oldRSeqCriticalValue = tg.saveOldRSeqCritical()
  2055  	stateSinkObject.SaveValue(29, oldRSeqCriticalValue)
  2056  	stateSinkObject.Save(0, &tg.threadGroupNode)
  2057  	stateSinkObject.Save(1, &tg.signalHandlers)
  2058  	stateSinkObject.Save(2, &tg.pendingSignals)
  2059  	stateSinkObject.Save(3, &tg.groupStopDequeued)
  2060  	stateSinkObject.Save(4, &tg.groupStopSignal)
  2061  	stateSinkObject.Save(5, &tg.groupStopPendingCount)
  2062  	stateSinkObject.Save(6, &tg.groupStopComplete)
  2063  	stateSinkObject.Save(7, &tg.groupStopWaitable)
  2064  	stateSinkObject.Save(8, &tg.groupContNotify)
  2065  	stateSinkObject.Save(9, &tg.groupContInterrupted)
  2066  	stateSinkObject.Save(10, &tg.groupContWaitable)
  2067  	stateSinkObject.Save(11, &tg.exiting)
  2068  	stateSinkObject.Save(12, &tg.exitStatus)
  2069  	stateSinkObject.Save(13, &tg.terminationSignal)
  2070  	stateSinkObject.Save(14, &tg.itimerRealTimer)
  2071  	stateSinkObject.Save(15, &tg.itimerVirtSetting)
  2072  	stateSinkObject.Save(16, &tg.itimerProfSetting)
  2073  	stateSinkObject.Save(17, &tg.rlimitCPUSoftSetting)
  2074  	stateSinkObject.Save(18, &tg.cpuTimersEnabled)
  2075  	stateSinkObject.Save(19, &tg.timers)
  2076  	stateSinkObject.Save(20, &tg.nextTimerID)
  2077  	stateSinkObject.Save(21, &tg.exitedCPUStats)
  2078  	stateSinkObject.Save(22, &tg.childCPUStats)
  2079  	stateSinkObject.Save(23, &tg.ioUsage)
  2080  	stateSinkObject.Save(24, &tg.maxRSS)
  2081  	stateSinkObject.Save(25, &tg.childMaxRSS)
  2082  	stateSinkObject.Save(26, &tg.limits)
  2083  	stateSinkObject.Save(27, &tg.processGroup)
  2084  	stateSinkObject.Save(28, &tg.execed)
  2085  	stateSinkObject.Save(30, &tg.tty)
  2086  	stateSinkObject.Save(31, &tg.oomScoreAdj)
  2087  	stateSinkObject.Save(32, &tg.isChildSubreaper)
  2088  	stateSinkObject.Save(33, &tg.hasChildSubreaper)
  2089  }
  2090  
  2091  func (tg *ThreadGroup) afterLoad() {}
  2092  
  2093  // +checklocksignore
  2094  func (tg *ThreadGroup) StateLoad(stateSourceObject state.Source) {
  2095  	stateSourceObject.Load(0, &tg.threadGroupNode)
  2096  	stateSourceObject.Load(1, &tg.signalHandlers)
  2097  	stateSourceObject.Load(2, &tg.pendingSignals)
  2098  	stateSourceObject.Load(3, &tg.groupStopDequeued)
  2099  	stateSourceObject.Load(4, &tg.groupStopSignal)
  2100  	stateSourceObject.Load(5, &tg.groupStopPendingCount)
  2101  	stateSourceObject.Load(6, &tg.groupStopComplete)
  2102  	stateSourceObject.Load(7, &tg.groupStopWaitable)
  2103  	stateSourceObject.Load(8, &tg.groupContNotify)
  2104  	stateSourceObject.Load(9, &tg.groupContInterrupted)
  2105  	stateSourceObject.Load(10, &tg.groupContWaitable)
  2106  	stateSourceObject.Load(11, &tg.exiting)
  2107  	stateSourceObject.Load(12, &tg.exitStatus)
  2108  	stateSourceObject.Load(13, &tg.terminationSignal)
  2109  	stateSourceObject.Load(14, &tg.itimerRealTimer)
  2110  	stateSourceObject.Load(15, &tg.itimerVirtSetting)
  2111  	stateSourceObject.Load(16, &tg.itimerProfSetting)
  2112  	stateSourceObject.Load(17, &tg.rlimitCPUSoftSetting)
  2113  	stateSourceObject.Load(18, &tg.cpuTimersEnabled)
  2114  	stateSourceObject.Load(19, &tg.timers)
  2115  	stateSourceObject.Load(20, &tg.nextTimerID)
  2116  	stateSourceObject.Load(21, &tg.exitedCPUStats)
  2117  	stateSourceObject.Load(22, &tg.childCPUStats)
  2118  	stateSourceObject.Load(23, &tg.ioUsage)
  2119  	stateSourceObject.Load(24, &tg.maxRSS)
  2120  	stateSourceObject.Load(25, &tg.childMaxRSS)
  2121  	stateSourceObject.Load(26, &tg.limits)
  2122  	stateSourceObject.Load(27, &tg.processGroup)
  2123  	stateSourceObject.Load(28, &tg.execed)
  2124  	stateSourceObject.Load(30, &tg.tty)
  2125  	stateSourceObject.Load(31, &tg.oomScoreAdj)
  2126  	stateSourceObject.Load(32, &tg.isChildSubreaper)
  2127  	stateSourceObject.Load(33, &tg.hasChildSubreaper)
  2128  	stateSourceObject.LoadValue(29, new(*OldRSeqCriticalRegion), func(y any) { tg.loadOldRSeqCritical(y.(*OldRSeqCriticalRegion)) })
  2129  }
  2130  
  2131  func (l *itimerRealListener) StateTypeName() string {
  2132  	return "pkg/sentry/kernel.itimerRealListener"
  2133  }
  2134  
  2135  func (l *itimerRealListener) StateFields() []string {
  2136  	return []string{
  2137  		"tg",
  2138  	}
  2139  }
  2140  
  2141  func (l *itimerRealListener) beforeSave() {}
  2142  
  2143  // +checklocksignore
  2144  func (l *itimerRealListener) StateSave(stateSinkObject state.Sink) {
  2145  	l.beforeSave()
  2146  	stateSinkObject.Save(0, &l.tg)
  2147  }
  2148  
  2149  func (l *itimerRealListener) afterLoad() {}
  2150  
  2151  // +checklocksignore
  2152  func (l *itimerRealListener) StateLoad(stateSourceObject state.Source) {
  2153  	stateSourceObject.Load(0, &l.tg)
  2154  }
  2155  
  2156  func (ts *TaskSet) StateTypeName() string {
  2157  	return "pkg/sentry/kernel.TaskSet"
  2158  }
  2159  
  2160  func (ts *TaskSet) StateFields() []string {
  2161  	return []string{
  2162  		"Root",
  2163  		"sessions",
  2164  	}
  2165  }
  2166  
  2167  func (ts *TaskSet) beforeSave() {}
  2168  
  2169  // +checklocksignore
  2170  func (ts *TaskSet) StateSave(stateSinkObject state.Sink) {
  2171  	ts.beforeSave()
  2172  	stateSinkObject.Save(0, &ts.Root)
  2173  	stateSinkObject.Save(1, &ts.sessions)
  2174  }
  2175  
  2176  func (ts *TaskSet) afterLoad() {}
  2177  
  2178  // +checklocksignore
  2179  func (ts *TaskSet) StateLoad(stateSourceObject state.Source) {
  2180  	stateSourceObject.Load(0, &ts.Root)
  2181  	stateSourceObject.Load(1, &ts.sessions)
  2182  }
  2183  
  2184  func (ns *PIDNamespace) StateTypeName() string {
  2185  	return "pkg/sentry/kernel.PIDNamespace"
  2186  }
  2187  
  2188  func (ns *PIDNamespace) StateFields() []string {
  2189  	return []string{
  2190  		"owner",
  2191  		"parent",
  2192  		"userns",
  2193  		"id",
  2194  		"last",
  2195  		"tasks",
  2196  		"tids",
  2197  		"tgids",
  2198  		"sessions",
  2199  		"sids",
  2200  		"processGroups",
  2201  		"pgids",
  2202  		"exiting",
  2203  		"extra",
  2204  	}
  2205  }
  2206  
  2207  func (ns *PIDNamespace) beforeSave() {}
  2208  
  2209  // +checklocksignore
  2210  func (ns *PIDNamespace) StateSave(stateSinkObject state.Sink) {
  2211  	ns.beforeSave()
  2212  	stateSinkObject.Save(0, &ns.owner)
  2213  	stateSinkObject.Save(1, &ns.parent)
  2214  	stateSinkObject.Save(2, &ns.userns)
  2215  	stateSinkObject.Save(3, &ns.id)
  2216  	stateSinkObject.Save(4, &ns.last)
  2217  	stateSinkObject.Save(5, &ns.tasks)
  2218  	stateSinkObject.Save(6, &ns.tids)
  2219  	stateSinkObject.Save(7, &ns.tgids)
  2220  	stateSinkObject.Save(8, &ns.sessions)
  2221  	stateSinkObject.Save(9, &ns.sids)
  2222  	stateSinkObject.Save(10, &ns.processGroups)
  2223  	stateSinkObject.Save(11, &ns.pgids)
  2224  	stateSinkObject.Save(12, &ns.exiting)
  2225  	stateSinkObject.Save(13, &ns.extra)
  2226  }
  2227  
  2228  func (ns *PIDNamespace) afterLoad() {}
  2229  
  2230  // +checklocksignore
  2231  func (ns *PIDNamespace) StateLoad(stateSourceObject state.Source) {
  2232  	stateSourceObject.Load(0, &ns.owner)
  2233  	stateSourceObject.Load(1, &ns.parent)
  2234  	stateSourceObject.Load(2, &ns.userns)
  2235  	stateSourceObject.Load(3, &ns.id)
  2236  	stateSourceObject.Load(4, &ns.last)
  2237  	stateSourceObject.Load(5, &ns.tasks)
  2238  	stateSourceObject.Load(6, &ns.tids)
  2239  	stateSourceObject.Load(7, &ns.tgids)
  2240  	stateSourceObject.Load(8, &ns.sessions)
  2241  	stateSourceObject.Load(9, &ns.sids)
  2242  	stateSourceObject.Load(10, &ns.processGroups)
  2243  	stateSourceObject.Load(11, &ns.pgids)
  2244  	stateSourceObject.Load(12, &ns.exiting)
  2245  	stateSourceObject.Load(13, &ns.extra)
  2246  }
  2247  
  2248  func (t *threadGroupNode) StateTypeName() string {
  2249  	return "pkg/sentry/kernel.threadGroupNode"
  2250  }
  2251  
  2252  func (t *threadGroupNode) StateFields() []string {
  2253  	return []string{
  2254  		"pidns",
  2255  		"pidWithinNS",
  2256  		"eventQueue",
  2257  		"leader",
  2258  		"execing",
  2259  		"tasks",
  2260  		"tasksCount",
  2261  		"liveTasks",
  2262  		"activeTasks",
  2263  	}
  2264  }
  2265  
  2266  func (t *threadGroupNode) beforeSave() {}
  2267  
  2268  // +checklocksignore
  2269  func (t *threadGroupNode) StateSave(stateSinkObject state.Sink) {
  2270  	t.beforeSave()
  2271  	stateSinkObject.Save(0, &t.pidns)
  2272  	stateSinkObject.Save(1, &t.pidWithinNS)
  2273  	stateSinkObject.Save(2, &t.eventQueue)
  2274  	stateSinkObject.Save(3, &t.leader)
  2275  	stateSinkObject.Save(4, &t.execing)
  2276  	stateSinkObject.Save(5, &t.tasks)
  2277  	stateSinkObject.Save(6, &t.tasksCount)
  2278  	stateSinkObject.Save(7, &t.liveTasks)
  2279  	stateSinkObject.Save(8, &t.activeTasks)
  2280  }
  2281  
  2282  func (t *threadGroupNode) afterLoad() {}
  2283  
  2284  // +checklocksignore
  2285  func (t *threadGroupNode) StateLoad(stateSourceObject state.Source) {
  2286  	stateSourceObject.Load(0, &t.pidns)
  2287  	stateSourceObject.Load(1, &t.pidWithinNS)
  2288  	stateSourceObject.Load(2, &t.eventQueue)
  2289  	stateSourceObject.Load(3, &t.leader)
  2290  	stateSourceObject.Load(4, &t.execing)
  2291  	stateSourceObject.Load(5, &t.tasks)
  2292  	stateSourceObject.Load(6, &t.tasksCount)
  2293  	stateSourceObject.Load(7, &t.liveTasks)
  2294  	stateSourceObject.Load(8, &t.activeTasks)
  2295  }
  2296  
  2297  func (t *taskNode) StateTypeName() string {
  2298  	return "pkg/sentry/kernel.taskNode"
  2299  }
  2300  
  2301  func (t *taskNode) StateFields() []string {
  2302  	return []string{
  2303  		"tg",
  2304  		"taskEntry",
  2305  		"parent",
  2306  		"children",
  2307  		"childPIDNamespace",
  2308  	}
  2309  }
  2310  
  2311  func (t *taskNode) beforeSave() {}
  2312  
  2313  // +checklocksignore
  2314  func (t *taskNode) StateSave(stateSinkObject state.Sink) {
  2315  	t.beforeSave()
  2316  	stateSinkObject.Save(0, &t.tg)
  2317  	stateSinkObject.Save(1, &t.taskEntry)
  2318  	stateSinkObject.Save(2, &t.parent)
  2319  	stateSinkObject.Save(3, &t.children)
  2320  	stateSinkObject.Save(4, &t.childPIDNamespace)
  2321  }
  2322  
  2323  func (t *taskNode) afterLoad() {}
  2324  
  2325  // +checklocksignore
  2326  func (t *taskNode) StateLoad(stateSourceObject state.Source) {
  2327  	stateSourceObject.LoadWait(0, &t.tg)
  2328  	stateSourceObject.Load(1, &t.taskEntry)
  2329  	stateSourceObject.Load(2, &t.parent)
  2330  	stateSourceObject.Load(3, &t.children)
  2331  	stateSourceObject.Load(4, &t.childPIDNamespace)
  2332  }
  2333  
  2334  func (t *Timekeeper) StateTypeName() string {
  2335  	return "pkg/sentry/kernel.Timekeeper"
  2336  }
  2337  
  2338  func (t *Timekeeper) StateFields() []string {
  2339  	return []string{
  2340  		"realtimeClock",
  2341  		"monotonicClock",
  2342  		"bootTime",
  2343  		"saveMonotonic",
  2344  		"saveRealtime",
  2345  		"params",
  2346  	}
  2347  }
  2348  
  2349  // +checklocksignore
  2350  func (t *Timekeeper) StateSave(stateSinkObject state.Sink) {
  2351  	t.beforeSave()
  2352  	stateSinkObject.Save(0, &t.realtimeClock)
  2353  	stateSinkObject.Save(1, &t.monotonicClock)
  2354  	stateSinkObject.Save(2, &t.bootTime)
  2355  	stateSinkObject.Save(3, &t.saveMonotonic)
  2356  	stateSinkObject.Save(4, &t.saveRealtime)
  2357  	stateSinkObject.Save(5, &t.params)
  2358  }
  2359  
  2360  // +checklocksignore
  2361  func (t *Timekeeper) StateLoad(stateSourceObject state.Source) {
  2362  	stateSourceObject.Load(0, &t.realtimeClock)
  2363  	stateSourceObject.Load(1, &t.monotonicClock)
  2364  	stateSourceObject.Load(2, &t.bootTime)
  2365  	stateSourceObject.Load(3, &t.saveMonotonic)
  2366  	stateSourceObject.Load(4, &t.saveRealtime)
  2367  	stateSourceObject.Load(5, &t.params)
  2368  	stateSourceObject.AfterLoad(t.afterLoad)
  2369  }
  2370  
  2371  func (tc *timekeeperClock) StateTypeName() string {
  2372  	return "pkg/sentry/kernel.timekeeperClock"
  2373  }
  2374  
  2375  func (tc *timekeeperClock) StateFields() []string {
  2376  	return []string{
  2377  		"tk",
  2378  		"c",
  2379  	}
  2380  }
  2381  
  2382  func (tc *timekeeperClock) beforeSave() {}
  2383  
  2384  // +checklocksignore
  2385  func (tc *timekeeperClock) StateSave(stateSinkObject state.Sink) {
  2386  	tc.beforeSave()
  2387  	stateSinkObject.Save(0, &tc.tk)
  2388  	stateSinkObject.Save(1, &tc.c)
  2389  }
  2390  
  2391  func (tc *timekeeperClock) afterLoad() {}
  2392  
  2393  // +checklocksignore
  2394  func (tc *timekeeperClock) StateLoad(stateSourceObject state.Source) {
  2395  	stateSourceObject.Load(0, &tc.tk)
  2396  	stateSourceObject.Load(1, &tc.c)
  2397  }
  2398  
  2399  func (tty *TTY) StateTypeName() string {
  2400  	return "pkg/sentry/kernel.TTY"
  2401  }
  2402  
  2403  func (tty *TTY) StateFields() []string {
  2404  	return []string{
  2405  		"Index",
  2406  		"tg",
  2407  	}
  2408  }
  2409  
  2410  func (tty *TTY) beforeSave() {}
  2411  
  2412  // +checklocksignore
  2413  func (tty *TTY) StateSave(stateSinkObject state.Sink) {
  2414  	tty.beforeSave()
  2415  	stateSinkObject.Save(0, &tty.Index)
  2416  	stateSinkObject.Save(1, &tty.tg)
  2417  }
  2418  
  2419  func (tty *TTY) afterLoad() {}
  2420  
  2421  // +checklocksignore
  2422  func (tty *TTY) StateLoad(stateSourceObject state.Source) {
  2423  	stateSourceObject.Load(0, &tty.Index)
  2424  	stateSourceObject.Load(1, &tty.tg)
  2425  }
  2426  
  2427  func (u *UTSNamespace) StateTypeName() string {
  2428  	return "pkg/sentry/kernel.UTSNamespace"
  2429  }
  2430  
  2431  func (u *UTSNamespace) StateFields() []string {
  2432  	return []string{
  2433  		"hostName",
  2434  		"domainName",
  2435  		"userns",
  2436  	}
  2437  }
  2438  
  2439  func (u *UTSNamespace) beforeSave() {}
  2440  
  2441  // +checklocksignore
  2442  func (u *UTSNamespace) StateSave(stateSinkObject state.Sink) {
  2443  	u.beforeSave()
  2444  	stateSinkObject.Save(0, &u.hostName)
  2445  	stateSinkObject.Save(1, &u.domainName)
  2446  	stateSinkObject.Save(2, &u.userns)
  2447  }
  2448  
  2449  func (u *UTSNamespace) afterLoad() {}
  2450  
  2451  // +checklocksignore
  2452  func (u *UTSNamespace) StateLoad(stateSourceObject state.Source) {
  2453  	stateSourceObject.Load(0, &u.hostName)
  2454  	stateSourceObject.Load(1, &u.domainName)
  2455  	stateSourceObject.Load(2, &u.userns)
  2456  }
  2457  
  2458  func (v *VDSOParamPage) StateTypeName() string {
  2459  	return "pkg/sentry/kernel.VDSOParamPage"
  2460  }
  2461  
  2462  func (v *VDSOParamPage) StateFields() []string {
  2463  	return []string{
  2464  		"mfp",
  2465  		"fr",
  2466  		"seq",
  2467  		"copyScratchBuffer",
  2468  	}
  2469  }
  2470  
  2471  func (v *VDSOParamPage) beforeSave() {}
  2472  
  2473  // +checklocksignore
  2474  func (v *VDSOParamPage) StateSave(stateSinkObject state.Sink) {
  2475  	v.beforeSave()
  2476  	stateSinkObject.Save(0, &v.mfp)
  2477  	stateSinkObject.Save(1, &v.fr)
  2478  	stateSinkObject.Save(2, &v.seq)
  2479  	stateSinkObject.Save(3, &v.copyScratchBuffer)
  2480  }
  2481  
  2482  func (v *VDSOParamPage) afterLoad() {}
  2483  
  2484  // +checklocksignore
  2485  func (v *VDSOParamPage) StateLoad(stateSourceObject state.Source) {
  2486  	stateSourceObject.Load(0, &v.mfp)
  2487  	stateSourceObject.Load(1, &v.fr)
  2488  	stateSourceObject.Load(2, &v.seq)
  2489  	stateSourceObject.Load(3, &v.copyScratchBuffer)
  2490  }
  2491  
  2492  func init() {
  2493  	state.Register((*abstractEndpoint)(nil))
  2494  	state.Register((*AbstractSocketNamespace)(nil))
  2495  	state.Register((*Cgroup)(nil))
  2496  	state.Register((*hierarchy)(nil))
  2497  	state.Register((*CgroupRegistry)(nil))
  2498  	state.Register((*FDFlags)(nil))
  2499  	state.Register((*descriptor)(nil))
  2500  	state.Register((*FDTable)(nil))
  2501  	state.Register((*FDTableRefs)(nil))
  2502  	state.Register((*FSContext)(nil))
  2503  	state.Register((*FSContextRefs)(nil))
  2504  	state.Register((*IPCNamespace)(nil))
  2505  	state.Register((*IPCNamespaceRefs)(nil))
  2506  	state.Register((*userCounters)(nil))
  2507  	state.Register((*Kernel)(nil))
  2508  	state.Register((*SocketRecord)(nil))
  2509  	state.Register((*pendingSignals)(nil))
  2510  	state.Register((*pendingSignalQueue)(nil))
  2511  	state.Register((*pendingSignal)(nil))
  2512  	state.Register((*pendingSignalList)(nil))
  2513  	state.Register((*pendingSignalEntry)(nil))
  2514  	state.Register((*savedPendingSignal)(nil))
  2515  	state.Register((*IntervalTimer)(nil))
  2516  	state.Register((*processGroupList)(nil))
  2517  	state.Register((*processGroupEntry)(nil))
  2518  	state.Register((*ProcessGroupRefs)(nil))
  2519  	state.Register((*ptraceOptions)(nil))
  2520  	state.Register((*ptraceStop)(nil))
  2521  	state.Register((*OldRSeqCriticalRegion)(nil))
  2522  	state.Register((*sessionList)(nil))
  2523  	state.Register((*sessionEntry)(nil))
  2524  	state.Register((*SessionRefs)(nil))
  2525  	state.Register((*Session)(nil))
  2526  	state.Register((*ProcessGroup)(nil))
  2527  	state.Register((*SignalHandlers)(nil))
  2528  	state.Register((*syscallTableInfo)(nil))
  2529  	state.Register((*syslog)(nil))
  2530  	state.Register((*Task)(nil))
  2531  	state.Register((*runSyscallAfterPtraceEventClone)(nil))
  2532  	state.Register((*runSyscallAfterVforkStop)(nil))
  2533  	state.Register((*vforkStop)(nil))
  2534  	state.Register((*execStop)(nil))
  2535  	state.Register((*runSyscallAfterExecStop)(nil))
  2536  	state.Register((*runExit)(nil))
  2537  	state.Register((*runExitMain)(nil))
  2538  	state.Register((*runExitNotify)(nil))
  2539  	state.Register((*TaskImage)(nil))
  2540  	state.Register((*taskList)(nil))
  2541  	state.Register((*taskEntry)(nil))
  2542  	state.Register((*runApp)(nil))
  2543  	state.Register((*TaskGoroutineSchedInfo)(nil))
  2544  	state.Register((*taskClock)(nil))
  2545  	state.Register((*tgClock)(nil))
  2546  	state.Register((*groupStop)(nil))
  2547  	state.Register((*runInterrupt)(nil))
  2548  	state.Register((*runInterruptAfterSignalDeliveryStop)(nil))
  2549  	state.Register((*runSyscallAfterSyscallEnterStop)(nil))
  2550  	state.Register((*runSyscallAfterSysemuStop)(nil))
  2551  	state.Register((*runSyscallReinvoke)(nil))
  2552  	state.Register((*runSyscallExit)(nil))
  2553  	state.Register((*ThreadGroup)(nil))
  2554  	state.Register((*itimerRealListener)(nil))
  2555  	state.Register((*TaskSet)(nil))
  2556  	state.Register((*PIDNamespace)(nil))
  2557  	state.Register((*threadGroupNode)(nil))
  2558  	state.Register((*taskNode)(nil))
  2559  	state.Register((*Timekeeper)(nil))
  2560  	state.Register((*timekeeperClock)(nil))
  2561  	state.Register((*TTY)(nil))
  2562  	state.Register((*UTSNamespace)(nil))
  2563  	state.Register((*VDSOParamPage)(nil))
  2564  }