1use crate::Unlocked;
6use lock_ordering_macro::lock_ordering;
7
8lock_ordering! {
9 AioPendingOperationsLock => WaitQueueImplLock,
11 BeforeFsNodeAppend => FsNodeAppend,
12 BinderFreezeLevel => BinderProcessStateLevel,
13 BinderFsDevicesLevel => DeviceRegistryState,
14 BinderFsDevicesLevel => FsNodeInfoLevel,
15 BinderObjectLevel => BinderThreadStateLock,
16 BinderProcessSharedMemoryLevel => BinderFreezeLevel,
17 BinderProcessSharedMemoryLevel => FdTableWriterQueueLock,
18 BinderProcessSharedMemoryLevel => FsRenameRecursive,
19 BinderProcessStateLevel => BinderContextManagerLevel,
20 BinderProcessStateLevel => BinderObjectLevel,
21 BinderProcsLevel => BinderProcessSharedMemoryLevel,
22 CgroupChildrenLock => CgroupStateLock,
23 CgroupPidTableLock => ThreadGroupMutableStateLock,
24 CgroupStateLock => ThreadGroupMutableStateLock,
25 CgroupV1Level => CgroupPidTableLock,
26 DeviceRegistryState => NetlinkSocketInnerLock,
27 DeviceTerminalsLock => TerminalMutableStateLock,
28 DirEntryChildrenLevel => BinderFsDevicesLevel,
29 DirEntryChildrenLevel => CgroupChildrenLock,
30 DirEntryChildrenLevel => DeviceTerminalsLock,
31 DirEntryChildrenLevel => InotifyStateLock,
32 DirEntryChildrenLevel => NetstackDevicesLock,
33 DirEntryChildrenRecursiveLevel => FsNodeInfoRecursiveLevel,
34 DirEntryChildrenRecursiveLevel => MemoryDirectoryReaddirPositionLock,
35 DynamicFileStateLock => CgroupPidTableLock,
36 EbpfMapStateLevel => EbpfSuspendLock,
37 EbpfStateLock => EbpfSuspendLock,
38 EpollStateLock => EpollWaitableStateLock,
39 EpollWaitableStateLock => WaitQueueImplLock,
40 ExecutorVmarManagerLock => PidToKoidMapLock,
41 FileEpollFilesLock => EpollStateLock,
42 FileObjectOffset => BeforeFsNodeAppend,
43 FileObjectOffset => DynamicFileStateLock,
44 FileOpsCore => UninterruptibleLock,
45 FsContextStateLock => MountsLevel,
46 FsNodeAppend => FileOpsCore,
47 FsNodeFlockInfoLock => WaitQueueImplLock,
48 FsNodeInfoLevel => FsNodeWriteGuardStateLock,
49 FsNodeInfoRecursiveLevel => FsRename,
50 FsRename => DirEntryChildrenLevel,
51 FsRenameRecursive => DirEntryChildrenRecursiveLevel,
52 FuseDirEntryChildrenLevel => FuseFsNodeInfoLevel,
53 FuseFsNodeInfoLevel => UninterruptibleLock,
54 FuseFsRenameLevel => FuseDirEntryChildrenLevel,
55 FutexTableStateLock => FsContextStateLock,
56 FutexTableStateLock => FsNodeInfoLevel,
57 FutexTableStateLock => InflightVmsplicedPayloadsLock,
58 GenericNetlinkServerStateLock => NetlinkSocketInnerLock,
59 InotifyStateLock => EventHandlerReadyQueueLock,
60 InotifyStateLock => PortWaiterCallbacksLock,
61 InotifyStateLock => WaitQueueImplLock,
62 MemoryAttributionPublisherLock => DynamicThreadSpawnerLock,
63 MemoryDirectoryReaddirPositionLock => DirEntryChildrenLevel,
64 MemoryPressureMonitor => MemoryPressureMonitorClientState,
65 MmDumpable => ThreadGroupLimits,
66 NetlinkSocketInnerLock => EpollWaitableStateLock,
67 NetstackDevicesLock => RwQueueInnerLock,
68 NetstackDevicesLock => SimpleDirectoryEntriesLock,
69 ProcessGroupState => ThreadGroupLimits,
70 RecordLocksStateLock => WaitQueueImplLock,
71 RemoteBinderHandleLevel => BinderProcsLevel,
72 RemoteBlockDeviceRegistryDevicesLock => SimpleDirectoryEntriesLock,
73 ResourceAccessorLevel => FileOpsCore,
74 SessionMutableStateLock => TaskMutableStateLock,
75 SignalFdMaskLock => ThreadGroupPendingSignalsLock,
76 SimpleDirectoryEntriesLock => FsNodeInfoLevel,
77 SyslogSubscriptionLock => PortWaiterCallbacksLock,
78 SyslogSubscriptionLock => WaitQueueImplLock,
79 TaskCredsLock => FdTableWriterQueueLock,
80 TaskCredsLock => FsNodeInfoRecursiveLevel,
81 TaskMutableStateLock => EpollWaitableStateLock,
82 TaskMutableStateLock => FdTableWriterQueueLock,
83 TaskMutableStateLock => FutexTableStateLock,
84 TaskMutableStateLock => IntervalTimerState,
85 TaskMutableStateLock => MmDumpable,
86 TaskMutableStateLock => SeccompNotifierLock,
87 TaskMutableStateLock => SignalFdMaskLock,
88 TaskRelease => FileOpsCore,
89 TerminalMutableStateLock => EventHandlerReadyQueueLock,
90 TerminalMutableStateLock => PortWaiterCallbacksLock,
91 TerminalMutableStateLock => SessionMutableStateLock,
92 ThreadGroupMutableStateLock => DeviceTerminalsLock,
93 ThreadGroupMutableStateLock => ProcessGroupState,
94 ThreadGroupMutableStateLock => TaskCommandLevel,
95 ThreadGroupMutableStateLock => TerminalMutableStateLock,
96 ThreadGroupPtraceesLock => ThreadGroupMutableStateLock,
97 TimerFileInfoLock => HrTimerManagerStateLock,
98 TimerFileInfoLock => PortWaiterCallbacksLock,
99 TimerFileInfoLock => TaskMutableStateLock,
100 TimerTableStateLock => IntervalTimerState,
101 UEventNetlinkSocketDeviceListenerKeyLock => DeviceRegistryState,
102 UninterruptibleLock => AioPendingOperationsLock,
103 UninterruptibleLock => CgroupV1Level,
104 UninterruptibleLock => ComponentMountRecordLock,
105 UninterruptibleLock => DevKmsgLock,
106 UninterruptibleLock => EbpfMapStateLevel,
107 UninterruptibleLock => EbpfStateLock,
108 UninterruptibleLock => ExecutorVmarManagerLock,
109 UninterruptibleLock => FastrpcInnerState,
110 UninterruptibleLock => FileEpollFilesLock,
111 UninterruptibleLock => FsNodeFlockInfoLock,
112 UninterruptibleLock => GenericNetlinkServerStateLock,
113 UninterruptibleLock => InotifyWatchersLock,
114 UninterruptibleLock => KernelIpTables,
115 UninterruptibleLock => KernelSwapFiles,
116 UninterruptibleLock => MemoryAttributionPublisherLock,
117 UninterruptibleLock => MemoryPressureMonitor,
118 UninterruptibleLock => MemoryXattrStorageLevel,
119 UninterruptibleLock => PerfEventLevel,
120 UninterruptibleLock => QipcrtrSocketInnerLock,
121 UninterruptibleLock => RemoteBinderHandleLevel,
122 UninterruptibleLock => RemoteBlockDeviceRegistryDevicesLock,
123 UninterruptibleLock => SeccompNotifierLock,
124 UninterruptibleLock => SyslogSubscriptionLock,
125 UninterruptibleLock => TaskCredsLock,
126 UninterruptibleLock => ThreadGroupPtraceesLock,
127 UninterruptibleLock => TimerFileInfoLock,
128 UninterruptibleLock => UnixSocketInnerLock,
129 UninterruptibleLock => UserFaultInner,
130 UninterruptibleLock => VsockSocketInnerLock,
131 UninterruptibleLock => WaiterEventHandlerLock,
132 Unlocked => FileObjectOffset,
133 Unlocked => FuseFsRenameLevel,
134 Unlocked => RecordLocksStateLock,
135 Unlocked => ResourceAccessorLevel,
136 Unlocked => TaskRelease,
137 VsockSocketInnerLock => PortWaiterCallbacksLock,
138 VsockSocketInnerLock => WaitQueueImplLock,
139 WaitQueueImplLock => PortWaiterWaitQueuesLock,
140 WaiterEventHandlerLock => EpollWaitableStateLock,
141 Terminal(AioEventsLock),
147 Terminal(AuditDenyCountsLock),
148 Terminal(AuditNetlinkClientAuditResponseLock),
149 Terminal(AuditQueueLock),
150 Terminal(AuditSinkLock),
151 Terminal(BootedLock),
152 Terminal(ComponentControllerLock),
153 Terminal(DynamicThreadSpawnerLock),
154 Terminal(EventFdInnerLock),
155 Terminal(EventHandlerReadyQueueLock),
156 Terminal(FileAsyncOwnerLock),
157 Terminal(FileLeaseLock),
158 Terminal(FileServerStatsLock),
159 Terminal(FileSystemEntriesLock),
160 Terminal(FileSystemPermanentLock),
161 Terminal(FsNodeFsVerityLock),
162 Terminal(FsRegistryLock),
163 Terminal(FuchsiaRemoteTargetLock),
164 Terminal(HrTimerIsIntervalLock),
165 Terminal(HrTimerManagerStateLock),
166 Terminal(IcmpPingGidsLock),
167 Terminal(InotifyWatchersLock),
168 Terminal(IoUringStateLock),
169 Terminal(MapInfoCacheBufLock),
170 Terminal(MountsLevel),
171 Terminal(NamespaceFlagsLock),
172 Terminal(PagerFilesByInodeLock),
173 Terminal(PagerFilesystemsLock),
174 Terminal(PerfFormatIdLookupTableLock),
175 Terminal(PerfRingBufferStateLock),
176 Terminal(PidToKoidMapInnerLock),
177 Terminal(PortWaiterCallbacksLock),
178 Terminal(PortWaiterWaitQueuesLock),
179 Terminal(PowerMessageCountersLock),
180 Terminal(ProfileHandleCacheLock),
181 Terminal(PtsIdsSetLock),
182 Terminal(RemoteBinderControllerLock),
183 Terminal(RemoteBundleInnerLock),
184 Terminal(RemoteUnixDomainSocketStateLock),
185 Terminal(RwQueueInnerLock),
186 Terminal(SeLinuxPeerSidLock),
187 Terminal(SeLinuxPendingEntriesLock),
188 Terminal(SeLinuxPendingFileSystemsLock),
189 Terminal(SeLinuxUpdateLock),
190 Terminal(SignalActionsLock),
191 Terminal(SocketStateLock),
192 Terminal(StubBytesFileStateLock),
193 Terminal(SuspendResumeManagerInnerLock),
194 Terminal(SyscallLogFiltersLock),
195 Terminal(SyslogStateLock),
196 Terminal(TaskCommandLevel),
197 Terminal(ThreadLockupDetectorRegistryLock),
198 Terminal(TouchPowerPolicyEnabledLock),
199 Terminal(UtsNamespaceLock),
200 Terminal(VmspliceSegmentsLock),
201 Terminal(WakeSourcesLock),
202 Terminal(WakeWatchersLock),
203 }