)]}'
{
  "commit": "c72258c7c9de448d5ea826ec6b4737eccbaa6718",
  "tree": "718d9a53c535e92ccd59f9f50d33a2421d9d5953",
  "parents": [
    "69e97c028b25ef10018d513ead6e7caad276e19f"
  ],
  "author": {
    "name": "Sam Ravnborg",
    "email": "sam@ravnborg.org",
    "time": "Fri Feb 01 17:49:42 2008 +0100"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Fri Feb 01 17:49:42 2008 +0100"
  },
  "message": "x86: fix section mismatch warnings when referencing notifiers\n\nFix the following warnings:\nWARNING: arch/x86/kernel/built-in.o(.exit.text+0xf8): Section mismatch in reference from the function msr_exit() to the variable .cpuinit.data:msr_class_cpu_notifier\nWARNING: arch/x86/kernel/built-in.o(.exit.text+0x158): Section mismatch in reference from the function cpuid_exit() to the variable .cpuinit.data:cpuid_class_cpu_notifier\nWARNING: arch/x86/kernel/built-in.o(.exit.text+0x171): Section mismatch in reference from the function microcode_exit() to the variable .cpuinit.data:mc_cpu_notifier\n\nIn all three cases there were a function annotated __exit\nthat referenced a variable annotated __cpuinitdata.\n\nThe fix was to replace the annotation of the notifier\nwith __refdata to tell modpost that the reference to\na _cpuinit function in the notifier are OK.\nThe unregister call that references the notifier\nvariable will simple delete the function pointer\nso there is no problem ignoring the reference.\n\nNote: This looks like another case where __cpuinit\nhas been used as replacement for proper use\nof CONFIG_HOTPLUG_CPU to decide what code are used for\nHOTPLUG_CPU.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dec66e4528100c72ee384f7c5aa9400339eb26ab",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/cpuid.c",
      "new_id": "a63432d800f913960f055232d02aa668e892b83e",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/cpuid.c"
    },
    {
      "type": "modify",
      "old_id": "6ff447f9fda702398aaaaef9aa8f93143c56a12d",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/microcode.c",
      "new_id": "f2702d01b8a8773a8d7658d47fd7e6c1997fdc7c",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/microcode.c"
    },
    {
      "type": "modify",
      "old_id": "21f6e3c0be185c657d307042168fef4509073798",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/msr.c",
      "new_id": "bd82850e6519b8a51d2c2a68512a7b492d864229",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/msr.c"
    }
  ]
}
