)]}'
{
  "commit": "3338368e922a6686a3b3d6f4da07babd224788d4",
  "tree": "fa29c8aaef547723cb5f5f81fe60d441947481b6",
  "parents": [
    "9a596a6236e1b4d6c2e6105bd85eac19c9f4ec4c"
  ],
  "author": {
    "name": "Haavard Skinnemoen",
    "email": "hskinnemoen@atmel.com",
    "time": "Wed Feb 21 13:08:06 2007 +0100"
  },
  "committer": {
    "name": "Haavard Skinnemoen",
    "email": "hskinnemoen@atmel.com",
    "time": "Wed Mar 07 10:50:27 2007 +0100"
  },
  "message": "[AVR32] show_trace: Only walk valid stack addresses\n\nTerminate the frame pointer walk if (a) the address is outside the\ntask\u0027s kernel stack or (b) if the frame pointer isn\u0027t monotonically\nincreasing. Without this fix, show_trace() may enter an infinite\nloop, walking through random data anywhere in memory.\n\nSince any address within the kernel stack is guaranteed to be valid,\nwe may eliminate the __get_user() calls as well.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7e803f4d7a12902972da2ce1325acd0bc43cafc2",
      "old_mode": 33188,
      "old_path": "arch/avr32/kernel/traps.c",
      "new_id": "adc01a12d15487ff8ae335f8352b9820d00b9395",
      "new_mode": 33188,
      "new_path": "arch/avr32/kernel/traps.c"
    }
  ]
}
