)]}'
{
  "commit": "7e2447075690860e2cea96b119fc9cadbaa7e83c",
  "tree": "1bede27944240867d96e0440fbadb254b04368cd",
  "parents": [
    "f933ebed7888a9a7d73ebeeb6bcbb3f710c423b4"
  ],
  "author": {
    "name": "Helmut Schaa",
    "email": "helmut.schaa@googlemail.com",
    "time": "Thu Dec 02 18:44:09 2010 +0100"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Wed Dec 08 15:23:48 2010 -0500"
  },
  "message": "mac80211: Fix BUG in pskb_expand_head when transmitting shared skbs\n\nmac80211 doesn\u0027t handle shared skbs correctly at the moment. As a result\na possible resize can trigger a BUG in pskb_expand_head.\n\n[  676.030000] Kernel bug detected[#1]:\n[  676.030000] Cpu 0\n[  676.030000] $ 0   : 00000000 00000000 819662ff 00000002\n[  676.030000] $ 4   : 81966200 00000020 00000000 00000020\n[  676.030000] $ 8   : 819662e0 800043c0 00000002 00020000\n[  676.030000] $12   : 3b9aca00 00000000 00000000 00470000\n[  676.030000] $16   : 80ea2000 00000000 00000000 00000000\n[  676.030000] $20   : 818aa200 80ea2018 80ea2000 00000008\n[  676.030000] $24   : 00000002 800ace5c\n[  676.030000] $28   : 8199a000 8199bd20 81938f88 80f180d4\n[  676.030000] Hi    : 0000026e\n[  676.030000] Lo    : 0000757e\n[  676.030000] epc   : 801245e4 pskb_expand_head+0x44/0x1d8\n[  676.030000]     Not tainted\n[  676.030000] ra    : 80f180d4 ieee80211_skb_resize+0xb0/0x114 [mac80211]\n[  676.030000] Status: 1000a403    KERNEL EXL IE\n[  676.030000] Cause : 10800024\n[  676.030000] PrId  : 0001964c (MIPS 24Kc)\n[  676.030000] Modules linked in: mac80211_hwsim rt2800lib rt2x00soc rt2x00pci rt2x00lib mac80211 crc_itu_t crc_ccitt cfg80211 compat arc4 aes_generic deflate ecb cbc [last unloaded: rt2800pci]\n[  676.030000] Process kpktgend_0 (pid: 97, threadinfo\u003d8199a000, task\u003d81879f48, tls\u003d00000000)\n[  676.030000] Stack : ffffffff 00000000 00000000 00000014 00000004 80ea2000 00000000 00000000\n[  676.030000]         818aa200 80f180d4 ffffffff 0000000a 81879f78 81879f48 81879f48 00000018\n[  676.030000]         81966246 80ea2000 818432e0 80f1a420 80203050 81814d98 00000001 81879f48\n[  676.030000]         81879f48 00000018 81966246 818432e0 0000001a 8199bdd4 0000001c 80f1b72c\n[  676.030000]         80203020 8001292c 80ef4aa2 7f10b55d 801ab5b8 81879f48 00000188 80005c90\n[  676.030000]         ...\n[  676.030000] Call Trace:\n[  676.030000] [\u003c801245e4\u003e] pskb_expand_head+0x44/0x1d8\n[  676.030000] [\u003c80f180d4\u003e] ieee80211_skb_resize+0xb0/0x114 [mac80211]\n[  676.030000] [\u003c80f1a420\u003e] ieee80211_xmit+0x150/0x22c [mac80211]\n[  676.030000] [\u003c80f1b72c\u003e] ieee80211_subif_start_xmit+0x6f4/0x73c [mac80211]\n[  676.030000] [\u003c8014361c\u003e] pktgen_thread_worker+0xfac/0x16f8\n[  676.030000] [\u003c8002ebe8\u003e] kthread+0x7c/0x88\n[  676.030000] [\u003c80008e0c\u003e] kernel_thread_helper+0x10/0x18\n[  676.030000]\n[  676.030000]\n[  676.030000] Code: 24020001  10620005  2502001f \u003c0200000d\u003e 0804917a  00000000  2502001f  00441023  00531021\n\nFix this by making a local copy of shared skbs prior to mangeling them.\nTo avoid copying the skb unnecessarily move the skb_copy call below the\nchecks that don\u0027t need write access to the skb.\n\nAlso, move the assignment of nh_pos and h_pos below the skb_copy to point\nto the correct skb.\n\nIt would be possible to avoid another resize of the copied skb by using\nskb_copy_expand instead of skb_copy but that would make the patch more\ncomplex. Also, shared skbs are a corner case right now, so the resize\nshouldn\u0027t matter much.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "df6aac523532c5d5bb8940d4d98fa91b48e0e4b2",
      "old_mode": 33188,
      "old_path": "net/mac80211/tx.c",
      "new_id": "7a637b80a62ef7a8d00d49285d9d6995b4083d9e",
      "new_mode": 33188,
      "new_path": "net/mac80211/tx.c"
    }
  ]
}
