)]}'
{
  "commit": "cf3752e2d203bbbfc88d29e362e6938cef4339b3",
  "tree": "f48f87708423899ca04590e0a004b3c4913443f9",
  "parents": [
    "5a346a10c0b1192e7eae52f0f3a332f1d3f11226"
  ],
  "author": {
    "name": "James Chapman",
    "email": "jchapman@katalix.com",
    "time": "Wed Mar 05 18:39:08 2008 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Mar 05 18:39:08 2008 -0800"
  },
  "message": "[PPPOL2TP]: Make locking calls softirq-safe\n\nFix locking issues in the pppol2tp driver which can cause a kernel\ncrash on SMP boxes. There were two problems:-\n\n1. The driver was violating read_lock() and write_lock() scheduling\n   rules because it wasn\u0027t using softirq-safe locks in softirq\n   contexts. So we now consistently use the _bh variants of the lock\n   functions.\n\n2. The driver was calling sk_dst_get() in pppol2tp_xmit() which was\n   taking sk_dst_lock in softirq context. We now call __sk_dst_get().\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "86e5dba079fed6d9a62bcd6d9e9e31fb40888999",
      "old_mode": 33188,
      "old_path": "drivers/net/pppol2tp.c",
      "new_id": "9a90cede0ecc3d73e31373609fb9dcef64a319ad",
      "new_mode": 33188,
      "new_path": "drivers/net/pppol2tp.c"
    }
  ]
}
