)]}'
{
  "commit": "e804a4a4dd596d853f6d6f814fbdcf97b8efcdea",
  "tree": "8a19854d3ab326d7157065a72528db2bf91bce21",
  "parents": [
    "bbe06f6bf7e764a9eb0e3cdcec2b12c743f35757"
  ],
  "author": {
    "name": "Satyam Sharma",
    "email": "ssatyam@cse.iitk.ac.in",
    "time": "Tue Jul 31 00:39:16 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue Jul 31 15:39:42 2007 -0700"
  },
  "message": "kthread: silence bogus section mismatch warning\n\nWARNING: kernel/built-in.o(.text+0x16910): Section mismatch:\nreference to .init.text: (between \u0027kthreadd\u0027 and \u0027init_waitqueue_head\u0027)\n\ncomes because kernel/kthread.c:kthreadd() is not __init but calls\nkthreadd_setup() which is __init. But this is ok, because kthreadd_setup()\nis only ever called at init time, and then kthreadd() proceeds into its\n\"for (;;)\" loop. We could mark kthreadd __init_refok, but kthreadd_setup()\nwith just one callsite and 4 lines in it (it\u0027s been that small since\n10ab825bdef8df51) doesn\u0027t need to be a separate function at all -- so let\u0027s\njust move those four lines at beginning of kthreadd() itself.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\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": "a404f7ee73959a154fddca8b59c5bb79db1773be",
      "old_mode": 33188,
      "old_path": "kernel/kthread.c",
      "new_id": "dcfe724300eb3cd32c46c2d06de4fc92c7de070b",
      "new_mode": 33188,
      "new_path": "kernel/kthread.c"
    }
  ]
}
