Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92468c53 authored by Guillaume Chazarain's avatar Guillaume Chazarain Committed by John W. Linville
Browse files

ieee80211: Stop net_ratelimit/IEEE80211_DEBUG_DROP log pollution



if (net_ratelimit())
	IEEE80211_DEBUG_DROP(...)

can pollute the logs with messages like:

printk: 1 messages suppressed.
printk: 2 messages suppressed.
printk: 7 messages suppressed.

if debugging information is disabled. These messages are printed by
net_ratelimit(). Add a wrapper to net_ratelimit() that takes into account
the log level, so that net_ratelimit() is called only when we really want
to print something.

Signed-off-by: default avatarGuillaume Chazarain <guichaz@yahoo.fr>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 4b50e388
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -115,8 +115,16 @@ extern u32 ieee80211_debug_level;
do { if (ieee80211_debug_level & (level)) \
do { if (ieee80211_debug_level & (level)) \
  printk(KERN_DEBUG "ieee80211: %c %s " fmt, \
  printk(KERN_DEBUG "ieee80211: %c %s " fmt, \
         in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
         in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
static inline bool ieee80211_ratelimit_debug(u32 level)
{
	return (ieee80211_debug_level & level) && net_ratelimit();
}
#else
#else
#define IEEE80211_DEBUG(level, fmt, args...) do {} while (0)
#define IEEE80211_DEBUG(level, fmt, args...) do {} while (0)
static inline bool ieee80211_ratelimit_debug(u32 level)
{
	return false;
}
#endif				/* CONFIG_IEEE80211_DEBUG */
#endif				/* CONFIG_IEEE80211_DEBUG */


/* escape_essid() is intended to be used in debug (and possibly error)
/* escape_essid() is intended to be used in debug (and possibly error)
+1 −1
Original line number Original line Diff line number Diff line
@@ -338,7 +338,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
	pos += 8;
	pos += 8;


	if (ccmp_replay_check(pn, key->rx_pn)) {
	if (ccmp_replay_check(pn, key->rx_pn)) {
		if (net_ratelimit()) {
		if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
			IEEE80211_DEBUG_DROP("CCMP: replay detected: STA=%s "
			IEEE80211_DEBUG_DROP("CCMP: replay detected: STA=%s "
				 "previous PN %02x%02x%02x%02x%02x%02x "
				 "previous PN %02x%02x%02x%02x%02x%02x "
				 "received PN %02x%02x%02x%02x%02x%02x\n",
				 "received PN %02x%02x%02x%02x%02x%02x\n",
+2 −2
Original line number Original line Diff line number Diff line
@@ -464,7 +464,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
	pos += 8;
	pos += 8;


	if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
	if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
		if (net_ratelimit()) {
		if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
			IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%s"
			IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%s"
			       " previous TSC %08x%04x received TSC "
			       " previous TSC %08x%04x received TSC "
			       "%08x%04x\n", print_mac(mac, hdr->addr2),
			       "%08x%04x\n", print_mac(mac, hdr->addr2),
@@ -504,7 +504,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
			 * it needs to be recalculated for the next packet. */
			 * it needs to be recalculated for the next packet. */
			tkey->rx_phase1_done = 0;
			tkey->rx_phase1_done = 0;
		}
		}
		if (net_ratelimit()) {
		if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
			IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA="
			IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA="
			       "%s\n", print_mac(mac, hdr->addr2));
			       "%s\n", print_mac(mac, hdr->addr2));
		}
		}