)]}'
{
  "commit": "aa00d89c2780d72d082a015e8cbb751e65fb30ee",
  "tree": "a326cbf62ab21d76af7c82c0038a985db77e69b1",
  "parents": [
    "e13fe8695c57fed678877a9f3f8e99fc637ff4fb"
  ],
  "author": {
    "name": "Tang Chen",
    "email": "tangchen@cn.fujitsu.com",
    "time": "Fri Feb 22 16:33:33 2013 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Feb 23 17:50:13 2013 -0800"
  },
  "message": "sched: do not use cpu_to_node() to find an offlined cpu\u0027s node.\n\nIf a cpu is offline, its nid will be set to -1, and cpu_to_node(cpu)\nwill return -1.  As a result, cpumask_of_node(nid) will return NULL.  In\nthis case, find_next_bit() in for_each_cpu will get a NULL pointer and\ncause panic.\n\nHere is a call trace:\n  Call Trace:\n   \u003cIRQ\u003e\n    select_fallback_rq+0x71/0x190\n    try_to_wake_up+0x2cb/0x2f0\n    wake_up_process+0x15/0x20\n    hrtimer_wakeup+0x22/0x30\n    __run_hrtimer+0x83/0x320\n    hrtimer_interrupt+0x106/0x280\n    smp_apic_timer_interrupt+0x69/0x99\n    apic_timer_interrupt+0x6f/0x80\n\nThere is a hrtimer process sleeping, whose cpu has already been\nofflined.  When it is waken up, it tries to find another cpu to run, and\nget a -1 nid.  As a result, cpumask_of_node(-1) returns NULL, and causes\nernel panic.\n\nThis patch fixes this problem by judging if the nid is -1.  If nid is\nnot -1, a cpu on the same node will be picked.  Else, a online cpu on\nanother node will be picked.\n\nSigned-off-by: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3a673a3b0c6bb7ffbfcb2897220a2806b320b6d5",
      "old_mode": 33188,
      "old_path": "kernel/sched/core.c",
      "new_id": "053dfd7692d1ffafefa38698d9cc0e1277955013",
      "new_mode": 33188,
      "new_path": "kernel/sched/core.c"
    }
  ]
}
