)]}'
{
  "commit": "98e73dc5d2dadfcb95305ad71ac9239f4e361870",
  "tree": "f6a0b8098b02d2ef8e673ceef34150df55425ce7",
  "parents": [
    "ef4aede3f10d82adef1fb044b565ba5f08f851e0"
  ],
  "author": {
    "name": "Gerald Schaefer",
    "email": "gerald.schaefer@de.ibm.com",
    "time": "Wed Jul 22 00:36:56 2009 +0200"
  },
  "committer": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Mon Sep 14 20:26:59 2009 +0200"
  },
  "message": "PM / Hibernate / Memory hotplug: Always use for_each_populated_zone()\n\nUse for_each_populated_zone() instead of for_each_zone() in hibernation\ncode. This fixes a bug on s390, where we allow both config options\nHIBERNATION and MEMORY_HOTPLUG, so that we also have a ZONE_MOVABLE\nhere. We only allow hibernation if no memory hotplug operation was\nperformed, so in fact both features can only be used exclusively, but\nthis way we don\u0027t need 2 differently configured (distribution) kernels.\n\nIf we have an unpopulated ZONE_MOVABLE, we allow hibernation but run\ninto a BUG_ON() in memory_bm_test/set/clear_bit() because hibernation\ncode iterates through all zones, not only the populated zones, in\nseveral places. For example, swsusp_free() does for_each_zone() and\nthen checks for pfn_valid(), which is true even if the zone is not\npopulated, resulting in a BUG_ON() later because the pfn cannot be\nfound in the memory bitmap.\n\nReplacing all occurences of for_each_zone() in hibernation code with\nfor_each_populated_zone() would fix this issue.\n\n[rjw: Rebased on top of linux-next hibernation patches.]\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0a06b114dd336ebe49580a1dedfeb33bc4cf5600",
      "old_mode": 33188,
      "old_path": "kernel/power/snapshot.c",
      "new_id": "bf06658f2052ebc7d71aab63f31e7a36ee836c3c",
      "new_mode": 33188,
      "new_path": "kernel/power/snapshot.c"
    }
  ]
}
