)]}'
{
  "commit": "b22366cd54c6fe05db426f20adb10f461c19ec06",
  "tree": "3eb42a6ae0c6b25c27d946e6ffa4787f82ac952f",
  "parents": [
    "6c1e0256fad84a843d915414e4b5973b7443d48d"
  ],
  "author": {
    "name": "Frederic Weisbecker",
    "email": "fweisbec@gmail.com",
    "time": "Sun Feb 24 12:59:30 2013 +0100"
  },
  "committer": {
    "name": "Frederic Weisbecker",
    "email": "fweisbec@gmail.com",
    "time": "Thu Mar 07 17:10:21 2013 +0100"
  },
  "message": "context_tracking: Restore preempted context state after preempt_schedule_irq()\n\nFrom the context tracking POV, preempt_schedule_irq() behaves pretty much\nlike an exception: It can be called anytime and schedule another task.\n\nBut currently it doesn\u0027t restore the context tracking state of the preempted\ncode on preempt_schedule_irq() return.\n\nAs a result, if preempt_schedule_irq() is called in the tiny frame between\nuser_enter() and the actual return to userspace, we resume userspace with\nthe wrong context tracking state.\n\nFix this by using exception_enter/exit() which are a perfect fit for this\nkind of issue.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Mats Liljegren \u003cmats.liljegren@enea.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f12624a393c3100506e5a3eaf588b5f463332ee",
      "old_mode": 33188,
      "old_path": "kernel/sched/core.c",
      "new_id": "af7a8c84b797c535a3be96e36e61c73e4c0addc5",
      "new_mode": 33188,
      "new_path": "kernel/sched/core.c"
    }
  ]
}
