On 22/12/16(Thu) 00:32, Mark Kettenis wrote: > splassert: ip_output: want 1 have 0 > Starting stack trace... > ip_output() at ip_output+0x7d > ipsp_process_done() at ipsp_process_done+0x2ad > esp_output_cb() at esp_output_cb+0x135 > taskq_thread() at taskq_thread+0x6c > end trace frame: 0x0, count: 253 > End of stack trace. > > This makes no sense to me since esp_output_cb() calls > ipsp_process_done() while at splsoftnet. What am I missing?
It's a missing NET_LOCK(), right now we're abusing splassert() to find code paths where the lock is not held and should be.
