From 874abd03abe2e8dbbaef5b5681304ad00c5d56a8 Mon Sep 17 00:00:00 2001 From: mtaylor Date: Wed, 30 Jan 2008 19:26:13 +0000 Subject: [PATCH] Reduce the maximum message length for node messages from 1000 to 192 and drop the length needed to display the [atomic] node count. Slamming this much data on the stack can cause stack overflows with 4k stacks quite easily, especially when hard interrupts occur and extend a stack that is already almost full. git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3307 0192ed92-7a03-0410-a25b-9323aeb14dbd --- net80211/ieee80211_node.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/net80211/ieee80211_node.c b/net80211/ieee80211_node.c index 7079eee..b702c08 100644 --- a/net80211/ieee80211_node.c +++ b/net80211/ieee80211_node.c @@ -934,10 +934,10 @@ static void node_print_message( { va_list args; int adjusted_refcount = atomic_read(&ni->ni_refcnt) + refcnt_adjust; - char node_count[32] = { '\0' }; - char expanded_message[1024] = { '\0' }; + char node_count[10] = { '\0' }; + char expanded_message[192] = { '\0' }; - if (0 == (ni->ni_ic->ic_debug & flags) && (flags != IEEE80211_MSG_ANY)) + if (0 == (ni->ni_ic->ic_debug & flags)) return; if (adjusted_refcount == 0) @@ -954,22 +954,22 @@ static void node_print_message( #ifdef IEEE80211_DEBUG_REFCNT printk(KERN_DEBUG "%s/%s: %s%s:%d -> %s:%d %s [node %p<" MAC_FMT ">%s%s%s%s, refs=%02d]\n", #else - printk(KERN_DEBUG "%s/%s: %s%s:%d %s [node %p<" MAC_FMT ">%s%s%s%s, refs=%02d]\n", + printk(KERN_DEBUG "%s/%s: %s%s:%d %s [node %p<" MAC_FMT ">%s%s%s%s, refs=%02d]\n", #endif /* #ifdef IEEE80211_DEBUG_REFCNT */ - ni->ni_ic->ic_dev->name, - ni->ni_vap->iv_dev->name, - node_count, + ni->ni_ic->ic_dev->name, + ni->ni_vap->iv_dev->name, + node_count, #ifdef IEEE80211_DEBUG_REFCNT - func1, line1, + func1, line1, #endif /* #ifdef IEEE80211_DEBUG_REFCNT */ - func2, line2, - expanded_message, - ni, MAC_ADDR(ni->ni_macaddr), - ni->ni_table != NULL ? " in " : "", - ni->ni_table != NULL ? ni->ni_table->nt_name : "", - ni->ni_table != NULL ? " table" : "", - ni->ni_table != NULL ? "" : " (not in any tables)", - adjusted_refcount); + func2, line2, + expanded_message, + ni, MAC_ADDR(ni->ni_macaddr), + ni->ni_table != NULL ? " in " : "", + ni->ni_table != NULL ? ni->ni_table->nt_name : "", + ni->ni_table != NULL ? " table" : "", + ni->ni_table != NULL ? "" : " (not in any tables)", + adjusted_refcount); va_end(args); } EXPORT_SYMBOL(node_print_message); -- 2.35.1