)]}'
{
  "commit": "428622986858aebddc32d022af65e88b9d2ea8bb",
  "tree": "888b968f53e55d81386836ae3f43f46cea4ad6ce",
  "parents": [
    "e358c1a2c45f7ec32d77cc09a2bb42d6823a4193"
  ],
  "author": {
    "name": "Kirill Korotaev",
    "email": "dev@openvz.org",
    "time": "Fri Mar 31 17:58:46 2006 +0400"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Fri Mar 31 12:25:46 2006 -0800"
  },
  "message": "[PATCH] wrong error path in dup_fd() leading to oopses in RCU\n\nWrong error path in dup_fd() - it should return NULL on error,\nnot an address of already freed memory :/\n\nTriggered by OpenVZ stress test suite.\n\nWhat is interesting is that it was causing different oopses in RCU like\nbelow:\nCall Trace:\n   [\u003cc013492c\u003e] rcu_do_batch+0x2c/0x80\n   [\u003cc0134bdd\u003e] rcu_process_callbacks+0x3d/0x70\n   [\u003cc0126cf3\u003e] tasklet_action+0x73/0xe0\n   [\u003cc01269aa\u003e] __do_softirq+0x10a/0x130\n   [\u003cc01058ff\u003e] do_softirq+0x4f/0x60\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   [\u003cc0113817\u003e] smp_apic_timer_interrupt+0x77/0x110\n   [\u003cc0103b54\u003e] apic_timer_interrupt+0x1c/0x24\n  Code:  Bad EIP value.\n   \u003c0\u003eKernel panic - not syncing: Fatal exception in interrupt\n\nSigned-Off-By: Pavel Emelianov \u003cxemul@sw.ru\u003e\nSigned-Off-By: Dmitry Mishin \u003cdim@openvz.org\u003e\nSigned-Off-By: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-Off-By: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "03975d0467f9e945d108bc97333804d642e7dcfb",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "3384eb89cb1c4ff25c5448ff91502bd4a79ee7db",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    }
  ]
}
