)]}'
{
  "commit": "4fa3e78be7e985ca814ce2aa0c09cbee404efcf7",
  "tree": "5afeff2353b3c6c1fd9ebad53c24ca8efcfe5371",
  "parents": [
    "422d26b6ecd77af8c77f2a40580679459825170f"
  ],
  "author": {
    "name": "Bjorn Helgaas",
    "email": "bhelgaas@google.com",
    "time": "Tue Jan 29 16:44:27 2013 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Sun Feb 03 17:55:29 2013 -0800"
  },
  "message": "Driver core: treat unregistered bus_types as having no devices\n\nA bus_type has a list of devices (klist_devices), but the list and the\nsubsys_private structure that contains it are not initialized until the\nbus_type is registered with bus_register().\n\nThe panic/reboot path has fixups that look up devices in pci_bus_type.  If\nwe panic before registering pci_bus_type, the bus_type exists but the list\ndoes not, so mach_reboot_fixups() trips over a null pointer and panics\nagain:\n\n    mach_reboot_fixups\n      pci_get_device\n        ..\n          bus_find_device(\u0026pci_bus_type, ...)\n            bus-\u003ep is NULL\n\nJoonsoo reported a problem when panicking before PCI was initialized.\nI think this patch should be sufficient to replace the patch he posted\nhere: https://lkml.org/lkml/2012/12/28/75 (\"[PATCH] x86, reboot: skip\nreboot_fixups in early boot phase\")\n\nReported-by: Joonsoo Kim \u003cjs1304@gmail.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f9d31320bd3789cb2617d0c9a62e1954cbbd5bbc",
      "old_mode": 33188,
      "old_path": "drivers/base/bus.c",
      "new_id": "519865b53f761c6a4641433a7092d8f6b9a0d7b2",
      "new_mode": 33188,
      "new_path": "drivers/base/bus.c"
    }
  ]
}
