VIMAGE + kldload wlan + kldload wtap panic

Marko Zec zec at fer.hr
Tue Mar 6 19:59:55 UTC 2012


On Tuesday 06 March 2012 20:49:38 Monthadar Al Jaberi wrote:
> I added VNET_DEBUG and noticed this warning (original scan_task code):
>
> CURVNET_SET() recursion in sosend() line 1350, prev in kern_kldload()
>     0xfffffe0002202c40 -> 0xfffffe0002202c40
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> kdb_backtrace() at kdb_backtrace+0x37
> sosend() at sosend+0xbd
> clnt_vc_call() at clnt_vc_call+0x3e6
> clnt_reconnect_call() at clnt_reconnect_call+0xf5
> newnfs_request() at newnfs_request+0x9fb
> nfscl_request() at nfscl_request+0x72
> nfsrpc_lookup() at nfsrpc_lookup+0x1be
> nfs_lookup() at nfs_lookup+0x297
> VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x95
> lookup() at lookup+0x3b8
> namei() at namei+0x484
> vn_open_cred() at vn_open_cred+0x1e2
> link_elf_load_file() at link_elf_load_file+0xb3
> linker_load_module() at linker_load_module+0x794
> kern_kldload() at kern_kldload+0x145
> sys_kldload() at sys_kldload+0x84
> amd64_syscall() at amd64_syscall+0x39e
> Xfast_syscall() at Xfast_syscall+0xf7

You can safely ignore those.  Recursing on curvnet is harmless, but in certain 
cases can't be avoided.

When injecting new CURVNET_SET() / CURVNET_RESTORE() points in the existing 
code, those warnings are here to help us becoming aware that we are setting 
curvnet in a function which was invoked with an already valid curvnet 
context.

Marko


More information about the freebsd-virtualization mailing list