FreeBSD Bugzilla – Attachment 155958 Details for
Bug 199676
[net80211] [patch]: fix possible kernel panic in IBSS mode (iv_bss may be freed twice)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Remove old iv_bss entry from the node table
patch-fix_kernel_panic_ibss.diff (text/plain), 1.04 KB, created by
Andriy Voskoboinyk
on 2015-04-25 01:04:06 UTC
(
hide
)
Description:
Remove old iv_bss entry from the node table
Filename:
MIME Type:
Creator:
Andriy Voskoboinyk
Created:
2015-04-25 01:04:06 UTC
Size:
1.04 KB
patch
obsolete
>Index: sys/net80211/ieee80211_node.c >=================================================================== >--- sys/net80211/ieee80211_node.c (revision 281839) >+++ sys/net80211/ieee80211_node.c (working copy) >@@ -93,6 +93,8 @@ > > static void _ieee80211_free_node(struct ieee80211_node *); > >+static void node_reclaim(struct ieee80211_node_table *nt, >+ struct ieee80211_node *ni); > static void ieee80211_node_table_init(struct ieee80211com *ic, > struct ieee80211_node_table *nt, const char *name, > int inact, int keymaxix); >@@ -719,9 +721,15 @@ > IEEE80211_ADDR_EQ(obss->ni_macaddr, selbs->ni_macaddr)); > vap->iv_bss = selbs; /* NB: caller assumed to bump refcnt */ > if (obss != NULL) { >+ struct ieee80211_node_table *nt = obss->ni_table; >+ > copy_bss(selbs, obss); > ieee80211_node_decref(obss); /* iv_bss reference */ >- ieee80211_free_node(obss); /* station table reference */ >+ >+ IEEE80211_NODE_LOCK(nt); >+ node_reclaim(nt, obss); /* station table reference */ >+ IEEE80211_NODE_UNLOCK(nt); >+ > obss = NULL; /* NB: guard against later use */ > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 199676
: 155958