diff options
author | glebius <glebius@FreeBSD.org> | 2004-07-27 20:30:56 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2004-07-27 20:30:56 +0000 |
commit | 1a302abfe10a4008193863aa28d2f3bff8a91b19 (patch) | |
tree | eacfbebb8ab24714d31e2956f059a1feae6822b7 /sys/netgraph/netgraph.h | |
parent | b050f5c62b8c2eb737e52df3b4c97fdd01b72cb0 (diff) | |
download | FreeBSD-src-1a302abfe10a4008193863aa28d2f3bff8a91b19.zip FreeBSD-src-1a302abfe10a4008193863aa28d2f3bff8a91b19.tar.gz |
When making a peer of unknown type framework tries to load module
using linker_load_module(). This works OK if NGM_MKPEER message came
from userland and we have process associated with thread. But when
NGM_MKPEER was queued because target node was busy, linker_load_module()
is called from netisr thread leading to panic.
To workaround that we do not load modules by framework, instead ng_socket
loads module (if this is required) before sending NGM_MKPEER.
However, the race condition between return from NgSendMsg() and actual
creation of node still exist and needs to be solved.
PR: kern/62789
Approved by: julian
Diffstat (limited to 'sys/netgraph/netgraph.h')
-rw-r--r-- | sys/netgraph/netgraph.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netgraph/netgraph.h b/sys/netgraph/netgraph.h index f0925c4..b390a4c 100644 --- a/sys/netgraph/netgraph.h +++ b/sys/netgraph/netgraph.h @@ -1059,6 +1059,7 @@ int ng_address_hook(node_p here, item_p item, hook_p hook, ng_ID_t retaddr); int ng_address_path(node_p here, item_p item, char *address, ng_ID_t raddr); int ng_bypass(hook_p hook1, hook_p hook2); hook_p ng_findhook(node_p node, const char *name); +struct ng_type *ng_findtype(const char *type); int ng_make_node_common(struct ng_type *typep, node_p *nodep); int ng_name_node(node_p node, const char *name); int ng_newtype(struct ng_type *tp); |