Zebediah Figura (@zfigura) commented about dlls/ntoskrnl.exe/sync.c:
+{
- PLIST_ENTRY ret;
- KIRQL irql;
- TRACE( "(%p %p %p)\n", head, entry, lock );
- if ( !head || !entry || !lock )
return NULL;
- KeAcquireSpinLock( lock, &irql );
- if ( IsListEmpty(head) )
- {
KeReleaseSpinLock( lock, irql );
return NULL;
- }
So... if the list was empty we don't insert the item? Are you sure that's right?