diff options
Diffstat (limited to 'net/ieee80211/ieee80211_crypt_tkip.c')
-rw-r--r-- | net/ieee80211/ieee80211_crypt_tkip.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/net/ieee80211/ieee80211_crypt_tkip.c b/net/ieee80211/ieee80211_crypt_tkip.c index 5a48d8e0aec..6cc54eeca3e 100644 --- a/net/ieee80211/ieee80211_crypt_tkip.c +++ b/net/ieee80211/ieee80211_crypt_tkip.c | |||
@@ -359,14 +359,15 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
359 | u8 rc4key[16], *pos, *icv; | 359 | u8 rc4key[16], *pos, *icv; |
360 | u32 crc; | 360 | u32 crc; |
361 | struct scatterlist sg; | 361 | struct scatterlist sg; |
362 | DECLARE_MAC_BUF(mac); | ||
362 | 363 | ||
363 | if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) { | 364 | if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) { |
364 | if (net_ratelimit()) { | 365 | if (net_ratelimit()) { |
365 | struct ieee80211_hdr_4addr *hdr = | 366 | struct ieee80211_hdr_4addr *hdr = |
366 | (struct ieee80211_hdr_4addr *)skb->data; | 367 | (struct ieee80211_hdr_4addr *)skb->data; |
367 | printk(KERN_DEBUG ": TKIP countermeasures: dropped " | 368 | printk(KERN_DEBUG ": TKIP countermeasures: dropped " |
368 | "TX packet to " MAC_FMT "\n", | 369 | "TX packet to %s\n", |
369 | MAC_ARG(hdr->addr1)); | 370 | print_mac(mac, hdr->addr1)); |
370 | } | 371 | } |
371 | return -1; | 372 | return -1; |
372 | } | 373 | } |
@@ -421,14 +422,15 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
421 | u32 crc; | 422 | u32 crc; |
422 | struct scatterlist sg; | 423 | struct scatterlist sg; |
423 | int plen; | 424 | int plen; |
425 | DECLARE_MAC_BUF(mac); | ||
424 | 426 | ||
425 | hdr = (struct ieee80211_hdr_4addr *)skb->data; | 427 | hdr = (struct ieee80211_hdr_4addr *)skb->data; |
426 | 428 | ||
427 | if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) { | 429 | if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) { |
428 | if (net_ratelimit()) { | 430 | if (net_ratelimit()) { |
429 | printk(KERN_DEBUG ": TKIP countermeasures: dropped " | 431 | printk(KERN_DEBUG ": TKIP countermeasures: dropped " |
430 | "received packet from " MAC_FMT "\n", | 432 | "received packet from %s\n", |
431 | MAC_ARG(hdr->addr2)); | 433 | print_mac(mac, hdr->addr2)); |
432 | } | 434 | } |
433 | return -1; | 435 | return -1; |
434 | } | 436 | } |
@@ -441,7 +443,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
441 | if (!(keyidx & (1 << 5))) { | 443 | if (!(keyidx & (1 << 5))) { |
442 | if (net_ratelimit()) { | 444 | if (net_ratelimit()) { |
443 | printk(KERN_DEBUG "TKIP: received packet without ExtIV" | 445 | printk(KERN_DEBUG "TKIP: received packet without ExtIV" |
444 | " flag from " MAC_FMT "\n", MAC_ARG(hdr->addr2)); | 446 | " flag from %s\n", print_mac(mac, hdr->addr2)); |
445 | } | 447 | } |
446 | return -2; | 448 | return -2; |
447 | } | 449 | } |
@@ -453,9 +455,9 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
453 | } | 455 | } |
454 | if (!tkey->key_set) { | 456 | if (!tkey->key_set) { |
455 | if (net_ratelimit()) { | 457 | if (net_ratelimit()) { |
456 | printk(KERN_DEBUG "TKIP: received packet from " MAC_FMT | 458 | printk(KERN_DEBUG "TKIP: received packet from %s" |
457 | " with keyid=%d that does not have a configured" | 459 | " with keyid=%d that does not have a configured" |
458 | " key\n", MAC_ARG(hdr->addr2), keyidx); | 460 | " key\n", print_mac(mac, hdr->addr2), keyidx); |
459 | } | 461 | } |
460 | return -3; | 462 | return -3; |
461 | } | 463 | } |
@@ -465,9 +467,9 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
465 | 467 | ||
466 | if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) { | 468 | if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) { |
467 | if (net_ratelimit()) { | 469 | if (net_ratelimit()) { |
468 | IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=" MAC_FMT | 470 | IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%s" |
469 | " previous TSC %08x%04x received TSC " | 471 | " previous TSC %08x%04x received TSC " |
470 | "%08x%04x\n", MAC_ARG(hdr->addr2), | 472 | "%08x%04x\n", print_mac(mac, hdr->addr2), |
471 | tkey->rx_iv32, tkey->rx_iv16, iv32, iv16); | 473 | tkey->rx_iv32, tkey->rx_iv16, iv32, iv16); |
472 | } | 474 | } |
473 | tkey->dot11RSNAStatsTKIPReplays++; | 475 | tkey->dot11RSNAStatsTKIPReplays++; |
@@ -489,8 +491,8 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
489 | if (crypto_blkcipher_decrypt(&desc, &sg, &sg, plen + 4)) { | 491 | if (crypto_blkcipher_decrypt(&desc, &sg, &sg, plen + 4)) { |
490 | if (net_ratelimit()) { | 492 | if (net_ratelimit()) { |
491 | printk(KERN_DEBUG ": TKIP: failed to decrypt " | 493 | printk(KERN_DEBUG ": TKIP: failed to decrypt " |
492 | "received packet from " MAC_FMT "\n", | 494 | "received packet from %s\n", |
493 | MAC_ARG(hdr->addr2)); | 495 | print_mac(mac, hdr->addr2)); |
494 | } | 496 | } |
495 | return -7; | 497 | return -7; |
496 | } | 498 | } |
@@ -508,7 +510,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) | |||
508 | } | 510 | } |
509 | if (net_ratelimit()) { | 511 | if (net_ratelimit()) { |
510 | IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA=" | 512 | IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA=" |
511 | MAC_FMT "\n", MAC_ARG(hdr->addr2)); | 513 | "%s\n", print_mac(mac, hdr->addr2)); |
512 | } | 514 | } |
513 | tkey->dot11RSNAStatsTKIPICVErrors++; | 515 | tkey->dot11RSNAStatsTKIPICVErrors++; |
514 | return -5; | 516 | return -5; |
@@ -639,6 +641,7 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx, | |||
639 | { | 641 | { |
640 | struct ieee80211_tkip_data *tkey = priv; | 642 | struct ieee80211_tkip_data *tkey = priv; |
641 | u8 mic[8]; | 643 | u8 mic[8]; |
644 | DECLARE_MAC_BUF(mac); | ||
642 | 645 | ||
643 | if (!tkey->key_set) | 646 | if (!tkey->key_set) |
644 | return -1; | 647 | return -1; |
@@ -651,8 +654,8 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx, | |||
651 | struct ieee80211_hdr_4addr *hdr; | 654 | struct ieee80211_hdr_4addr *hdr; |
652 | hdr = (struct ieee80211_hdr_4addr *)skb->data; | 655 | hdr = (struct ieee80211_hdr_4addr *)skb->data; |
653 | printk(KERN_DEBUG "%s: Michael MIC verification failed for " | 656 | printk(KERN_DEBUG "%s: Michael MIC verification failed for " |
654 | "MSDU from " MAC_FMT " keyidx=%d\n", | 657 | "MSDU from %s keyidx=%d\n", |
655 | skb->dev ? skb->dev->name : "N/A", MAC_ARG(hdr->addr2), | 658 | skb->dev ? skb->dev->name : "N/A", print_mac(mac, hdr->addr2), |
656 | keyidx); | 659 | keyidx); |
657 | if (skb->dev) | 660 | if (skb->dev) |
658 | ieee80211_michael_mic_failure(skb->dev, hdr, keyidx); | 661 | ieee80211_michael_mic_failure(skb->dev, hdr, keyidx); |