On 20 September 2016 at 17:09, Martin Pieuchot <m...@openbsd.org> wrote: > On 20/09/16(Tue) 10:51, David Hill wrote: >> On Tue, Sep 20, 2016 at 09:53:02AM -0400, David Hill wrote: >> > More... >> > >> > splassert: sorwakeup: want 5 have 0 >> > Starting stack trace... >> > splassert_check() at splassert_check+0x78 >> > sorwakeup() at sorwakeup+0x27 >> > route_input() at route_input+0x284 >> > pflog_clone_create() at pflog_clone_create+0xa4 >> > if_clone_create() at if_clone_create+0x7f >> > ifioctl() at ifioctl+0x35a >> > sys_ioctl() at sys_ioctl+0x196 >> > syscall() at syscall+0x27b >> > --- syscall (number 54) --- >> > end of kernel >> > end trace frame: 0x7f7ffffc7930, count: 249 >> > 0x1aeaedf1af1a: >> > End of stack trace. >> > >> > >> >> Another similar... >> >> Sep 20 10:33:25 olive /bsd: splassert: sorwakeup: want 5 have 0 >> Sep 20 10:33:25 olive /bsd: Starting stack trace... >> Sep 20 10:33:25 olive /bsd: splassert_check() at splassert_check+0x78 >> Sep 20 10:33:25 olive /bsd: sorwakeup() at sorwakeup+0x27 >> Sep 20 10:33:25 olive /bsd: route_input() at route_input+0x284 >> Sep 20 10:33:25 olive /bsd: vether_clone_create() at >> vether_clone_create+0xd9 >> Sep 20 10:33:25 olive /bsd: if_clone_create() at if_clone_create+0x7f >> Sep 20 10:33:25 olive /bsd: ifioctl() at ifioctl+0x35a >> Sep 20 10:33:25 olive /bsd: sys_ioctl() at sys_ioctl+0x196 >> Sep 20 10:33:25 olive /bsd: syscall() at syscall+0x27b >> Sep 20 10:33:25 olive /bsd: --- syscall (number 54) --- >> Sep 20 10:33:25 olive /bsd: end of kernel >> Sep 20 10:33:25 olive /bsd: end trace frame: 0x7f7ffffd0df1, count: 249 >> Sep 20 10:33:25 olive /bsd: 0x119ca1c1af1a: >> Sep 20 10:33:25 olive /bsd: End of stack trace. > > Diff below should fix that. I'd rather keep the splsoftnet() close > to ifioctl() because that's where the lock is going to be taken. > > ok? >
I'm fine with this too. Don't you want to splsoftnet around ifc_destroy for the symmetry?