snapshot: sagernet/gvisor v0.0.0-20250811.0-sing-box-mod.1
Содержимое пина, зафиксированного в go.mod sing-box-lx, одним коммитом без истории. Полная история SagerNet/gvisor — 1.45 ГБ и клонируется в каждой CI-джобе; наша дельта — одна вставка в одну функцию, история для неё не нужна. Module path github.com/sagernet/gvisor сохранён намеренно: на него опирается replace-директива суперпроекта. Патч поверх — отдельным коммитом, чтобы дельта читалась одним git show и переносилась на новый пин копированием. SPECS/TASKS/048-GVISOR_HANDSHAKE_NIL_CRASH
This commit is contained in:
commit
2c4ae3b0a4
712 changed files with 185689 additions and 0 deletions
309
pkg/tcpip/link/sharedmem/sharedmem_state_autogen.go
Normal file
309
pkg/tcpip/link/sharedmem/sharedmem_state_autogen.go
Normal file
|
|
@ -0,0 +1,309 @@
|
|||
// automatically generated by stateify.
|
||||
|
||||
//go:build linux && linux && linux && linux && linux && linux
|
||||
// +build linux,linux,linux,linux,linux,linux
|
||||
|
||||
package sharedmem
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/sagernet/gvisor/pkg/state"
|
||||
)
|
||||
|
||||
func (s *serverRx) StateTypeName() string {
|
||||
return "pkg/tcpip/link/sharedmem.serverRx"
|
||||
}
|
||||
|
||||
func (s *serverRx) StateFields() []string {
|
||||
return []string{
|
||||
"packetPipe",
|
||||
"completionPipe",
|
||||
"data",
|
||||
"eventFD",
|
||||
"sharedData",
|
||||
"sharedEventFDState",
|
||||
}
|
||||
}
|
||||
|
||||
func (s *serverRx) beforeSave() {}
|
||||
|
||||
// +checklocksignore
|
||||
func (s *serverRx) StateSave(stateSinkObject state.Sink) {
|
||||
s.beforeSave()
|
||||
stateSinkObject.Save(0, &s.packetPipe)
|
||||
stateSinkObject.Save(1, &s.completionPipe)
|
||||
stateSinkObject.Save(2, &s.data)
|
||||
stateSinkObject.Save(3, &s.eventFD)
|
||||
stateSinkObject.Save(4, &s.sharedData)
|
||||
stateSinkObject.Save(5, &s.sharedEventFDState)
|
||||
}
|
||||
|
||||
func (s *serverRx) afterLoad(context.Context) {}
|
||||
|
||||
// +checklocksignore
|
||||
func (s *serverRx) StateLoad(ctx context.Context, stateSourceObject state.Source) {
|
||||
stateSourceObject.Load(0, &s.packetPipe)
|
||||
stateSourceObject.Load(1, &s.completionPipe)
|
||||
stateSourceObject.Load(2, &s.data)
|
||||
stateSourceObject.Load(3, &s.eventFD)
|
||||
stateSourceObject.Load(4, &s.sharedData)
|
||||
stateSourceObject.Load(5, &s.sharedEventFDState)
|
||||
}
|
||||
|
||||
func (s *serverTx) StateTypeName() string {
|
||||
return "pkg/tcpip/link/sharedmem.serverTx"
|
||||
}
|
||||
|
||||
func (s *serverTx) StateFields() []string {
|
||||
return []string{
|
||||
"fillPipe",
|
||||
"completionPipe",
|
||||
"data",
|
||||
"eventFD",
|
||||
"sharedData",
|
||||
"sharedEventFDState",
|
||||
}
|
||||
}
|
||||
|
||||
func (s *serverTx) beforeSave() {}
|
||||
|
||||
// +checklocksignore
|
||||
func (s *serverTx) StateSave(stateSinkObject state.Sink) {
|
||||
s.beforeSave()
|
||||
stateSinkObject.Save(0, &s.fillPipe)
|
||||
stateSinkObject.Save(1, &s.completionPipe)
|
||||
stateSinkObject.Save(2, &s.data)
|
||||
stateSinkObject.Save(3, &s.eventFD)
|
||||
stateSinkObject.Save(4, &s.sharedData)
|
||||
stateSinkObject.Save(5, &s.sharedEventFDState)
|
||||
}
|
||||
|
||||
func (s *serverTx) afterLoad(context.Context) {}
|
||||
|
||||
// +checklocksignore
|
||||
func (s *serverTx) StateLoad(ctx context.Context, stateSourceObject state.Source) {
|
||||
stateSourceObject.Load(0, &s.fillPipe)
|
||||
stateSourceObject.Load(1, &s.completionPipe)
|
||||
stateSourceObject.Load(2, &s.data)
|
||||
stateSourceObject.Load(3, &s.eventFD)
|
||||
stateSourceObject.Load(4, &s.sharedData)
|
||||
stateSourceObject.Load(5, &s.sharedEventFDState)
|
||||
}
|
||||
|
||||
func (q *QueueConfig) StateTypeName() string {
|
||||
return "pkg/tcpip/link/sharedmem.QueueConfig"
|
||||
}
|
||||
|
||||
func (q *QueueConfig) StateFields() []string {
|
||||
return []string{
|
||||
"DataFD",
|
||||
"EventFD",
|
||||
"TxPipeFD",
|
||||
"RxPipeFD",
|
||||
"SharedDataFD",
|
||||
}
|
||||
}
|
||||
|
||||
func (q *QueueConfig) beforeSave() {}
|
||||
|
||||
// +checklocksignore
|
||||
func (q *QueueConfig) StateSave(stateSinkObject state.Sink) {
|
||||
q.beforeSave()
|
||||
stateSinkObject.Save(0, &q.DataFD)
|
||||
stateSinkObject.Save(1, &q.EventFD)
|
||||
stateSinkObject.Save(2, &q.TxPipeFD)
|
||||
stateSinkObject.Save(3, &q.RxPipeFD)
|
||||
stateSinkObject.Save(4, &q.SharedDataFD)
|
||||
}
|
||||
|
||||
func (q *QueueConfig) afterLoad(context.Context) {}
|
||||
|
||||
// +checklocksignore
|
||||
func (q *QueueConfig) StateLoad(ctx context.Context, stateSourceObject state.Source) {
|
||||
stateSourceObject.Load(0, &q.DataFD)
|
||||
stateSourceObject.Load(1, &q.EventFD)
|
||||
stateSourceObject.Load(2, &q.TxPipeFD)
|
||||
stateSourceObject.Load(3, &q.RxPipeFD)
|
||||
stateSourceObject.Load(4, &q.SharedDataFD)
|
||||
}
|
||||
|
||||
func (o *Options) StateTypeName() string {
|
||||
return "pkg/tcpip/link/sharedmem.Options"
|
||||
}
|
||||
|
||||
func (o *Options) StateFields() []string {
|
||||
return []string{
|
||||
"MTU",
|
||||
"BufferSize",
|
||||
"LinkAddress",
|
||||
"TX",
|
||||
"RX",
|
||||
"PeerFD",
|
||||
"OnClosed",
|
||||
"TXChecksumOffload",
|
||||
"RXChecksumOffload",
|
||||
"VirtioNetHeaderRequired",
|
||||
"GSOMaxSize",
|
||||
}
|
||||
}
|
||||
|
||||
func (o *Options) beforeSave() {}
|
||||
|
||||
// +checklocksignore
|
||||
func (o *Options) StateSave(stateSinkObject state.Sink) {
|
||||
o.beforeSave()
|
||||
stateSinkObject.Save(0, &o.MTU)
|
||||
stateSinkObject.Save(1, &o.BufferSize)
|
||||
stateSinkObject.Save(2, &o.LinkAddress)
|
||||
stateSinkObject.Save(3, &o.TX)
|
||||
stateSinkObject.Save(4, &o.RX)
|
||||
stateSinkObject.Save(5, &o.PeerFD)
|
||||
stateSinkObject.Save(6, &o.OnClosed)
|
||||
stateSinkObject.Save(7, &o.TXChecksumOffload)
|
||||
stateSinkObject.Save(8, &o.RXChecksumOffload)
|
||||
stateSinkObject.Save(9, &o.VirtioNetHeaderRequired)
|
||||
stateSinkObject.Save(10, &o.GSOMaxSize)
|
||||
}
|
||||
|
||||
func (o *Options) afterLoad(context.Context) {}
|
||||
|
||||
// +checklocksignore
|
||||
func (o *Options) StateLoad(ctx context.Context, stateSourceObject state.Source) {
|
||||
stateSourceObject.Load(0, &o.MTU)
|
||||
stateSourceObject.Load(1, &o.BufferSize)
|
||||
stateSourceObject.Load(2, &o.LinkAddress)
|
||||
stateSourceObject.Load(3, &o.TX)
|
||||
stateSourceObject.Load(4, &o.RX)
|
||||
stateSourceObject.Load(5, &o.PeerFD)
|
||||
stateSourceObject.Load(6, &o.OnClosed)
|
||||
stateSourceObject.Load(7, &o.TXChecksumOffload)
|
||||
stateSourceObject.Load(8, &o.RXChecksumOffload)
|
||||
stateSourceObject.Load(9, &o.VirtioNetHeaderRequired)
|
||||
stateSourceObject.Load(10, &o.GSOMaxSize)
|
||||
}
|
||||
|
||||
func (e *endpoint) StateTypeName() string {
|
||||
return "pkg/tcpip/link/sharedmem.endpoint"
|
||||
}
|
||||
|
||||
func (e *endpoint) StateFields() []string {
|
||||
return []string{
|
||||
"bufferSize",
|
||||
"peerFD",
|
||||
"caps",
|
||||
"hdrSize",
|
||||
"gsoMaxSize",
|
||||
"virtioNetHeaderRequired",
|
||||
"rx",
|
||||
"stopRequested",
|
||||
"completed",
|
||||
"tx",
|
||||
"workerStarted",
|
||||
"addr",
|
||||
"mtu",
|
||||
}
|
||||
}
|
||||
|
||||
func (e *endpoint) beforeSave() {}
|
||||
|
||||
// +checklocksignore
|
||||
func (e *endpoint) StateSave(stateSinkObject state.Sink) {
|
||||
e.beforeSave()
|
||||
stateSinkObject.Save(0, &e.bufferSize)
|
||||
stateSinkObject.Save(1, &e.peerFD)
|
||||
stateSinkObject.Save(2, &e.caps)
|
||||
stateSinkObject.Save(3, &e.hdrSize)
|
||||
stateSinkObject.Save(4, &e.gsoMaxSize)
|
||||
stateSinkObject.Save(5, &e.virtioNetHeaderRequired)
|
||||
stateSinkObject.Save(6, &e.rx)
|
||||
stateSinkObject.Save(7, &e.stopRequested)
|
||||
stateSinkObject.Save(8, &e.completed)
|
||||
stateSinkObject.Save(9, &e.tx)
|
||||
stateSinkObject.Save(10, &e.workerStarted)
|
||||
stateSinkObject.Save(11, &e.addr)
|
||||
stateSinkObject.Save(12, &e.mtu)
|
||||
}
|
||||
|
||||
func (e *endpoint) afterLoad(context.Context) {}
|
||||
|
||||
// +checklocksignore
|
||||
func (e *endpoint) StateLoad(ctx context.Context, stateSourceObject state.Source) {
|
||||
stateSourceObject.Load(0, &e.bufferSize)
|
||||
stateSourceObject.Load(1, &e.peerFD)
|
||||
stateSourceObject.Load(2, &e.caps)
|
||||
stateSourceObject.Load(3, &e.hdrSize)
|
||||
stateSourceObject.Load(4, &e.gsoMaxSize)
|
||||
stateSourceObject.Load(5, &e.virtioNetHeaderRequired)
|
||||
stateSourceObject.Load(6, &e.rx)
|
||||
stateSourceObject.Load(7, &e.stopRequested)
|
||||
stateSourceObject.Load(8, &e.completed)
|
||||
stateSourceObject.Load(9, &e.tx)
|
||||
stateSourceObject.Load(10, &e.workerStarted)
|
||||
stateSourceObject.Load(11, &e.addr)
|
||||
stateSourceObject.Load(12, &e.mtu)
|
||||
}
|
||||
|
||||
func (e *serverEndpoint) StateTypeName() string {
|
||||
return "pkg/tcpip/link/sharedmem.serverEndpoint"
|
||||
}
|
||||
|
||||
func (e *serverEndpoint) StateFields() []string {
|
||||
return []string{
|
||||
"bufferSize",
|
||||
"rx",
|
||||
"stopRequested",
|
||||
"peerFD",
|
||||
"caps",
|
||||
"hdrSize",
|
||||
"virtioNetHeaderRequired",
|
||||
"tx",
|
||||
"workerStarted",
|
||||
"addr",
|
||||
"mtu",
|
||||
}
|
||||
}
|
||||
|
||||
func (e *serverEndpoint) beforeSave() {}
|
||||
|
||||
// +checklocksignore
|
||||
func (e *serverEndpoint) StateSave(stateSinkObject state.Sink) {
|
||||
e.beforeSave()
|
||||
stateSinkObject.Save(0, &e.bufferSize)
|
||||
stateSinkObject.Save(1, &e.rx)
|
||||
stateSinkObject.Save(2, &e.stopRequested)
|
||||
stateSinkObject.Save(3, &e.peerFD)
|
||||
stateSinkObject.Save(4, &e.caps)
|
||||
stateSinkObject.Save(5, &e.hdrSize)
|
||||
stateSinkObject.Save(6, &e.virtioNetHeaderRequired)
|
||||
stateSinkObject.Save(7, &e.tx)
|
||||
stateSinkObject.Save(8, &e.workerStarted)
|
||||
stateSinkObject.Save(9, &e.addr)
|
||||
stateSinkObject.Save(10, &e.mtu)
|
||||
}
|
||||
|
||||
func (e *serverEndpoint) afterLoad(context.Context) {}
|
||||
|
||||
// +checklocksignore
|
||||
func (e *serverEndpoint) StateLoad(ctx context.Context, stateSourceObject state.Source) {
|
||||
stateSourceObject.Load(0, &e.bufferSize)
|
||||
stateSourceObject.Load(1, &e.rx)
|
||||
stateSourceObject.Load(2, &e.stopRequested)
|
||||
stateSourceObject.Load(3, &e.peerFD)
|
||||
stateSourceObject.Load(4, &e.caps)
|
||||
stateSourceObject.Load(5, &e.hdrSize)
|
||||
stateSourceObject.Load(6, &e.virtioNetHeaderRequired)
|
||||
stateSourceObject.Load(7, &e.tx)
|
||||
stateSourceObject.Load(8, &e.workerStarted)
|
||||
stateSourceObject.Load(9, &e.addr)
|
||||
stateSourceObject.Load(10, &e.mtu)
|
||||
}
|
||||
|
||||
func init() {
|
||||
state.Register((*serverRx)(nil))
|
||||
state.Register((*serverTx)(nil))
|
||||
state.Register((*QueueConfig)(nil))
|
||||
state.Register((*Options)(nil))
|
||||
state.Register((*endpoint)(nil))
|
||||
state.Register((*serverEndpoint)(nil))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue