)]}'
{
  "commit": "b597ef4712c05c962640a655386a7f06cc1a1fbc",
  "tree": "af2a1822d63cf447dd6e9b58808ea22341c85955",
  "parents": [
    "4fef0304eeaa4156db5625e3578f92ed94645a43"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@lst.de",
    "time": "Thu Jun 02 16:36:00 2005 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Jun 02 16:36:00 2005 -0700"
  },
  "message": "[NET]: Fix locking in shaper driver.\n\n o use a semaphore instead of an opencoded and racy lock\n o move locking out of shaper_kick and into the callers - most just\n   released the lock before calling shaper_kick\n o remove in_interrupt() tests.  from -\u003eclose we can always block, from\n   -\u003ehard_start_xmit and timer context never\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e68cf5fb4920fe70bfbcfb5c43680af523f7e24a",
      "old_mode": 33188,
      "old_path": "drivers/net/shaper.c",
      "new_id": "20edeb3457921e5377c68a6e7d69681682fca135",
      "new_mode": 33188,
      "new_path": "drivers/net/shaper.c"
    },
    {
      "type": "modify",
      "old_id": "0485b256d043adbb3c823f9a0369021643695820",
      "old_mode": 33188,
      "old_path": "include/linux/if_shaper.h",
      "new_id": "004e6f09a6e2daf89387bb2d1794cdd377c0ec1d",
      "new_mode": 33188,
      "new_path": "include/linux/if_shaper.h"
    }
  ]
}
