)]}'
{
  "commit": "9af386c8dc5a9dce56f36b484647ad6401758c85",
  "tree": "b884faac285aeb76c07f73e118ef29ce94cd7156",
  "parents": [
    "362607df9faa01fea6ae437b1a50645f33f393c0"
  ],
  "author": {
    "name": "Will Deacon",
    "email": "will.deacon@arm.com",
    "time": "Thu Apr 28 18:44:31 2011 +0100"
  },
  "committer": {
    "name": "Russell King",
    "email": "rmk+kernel@arm.linux.org.uk",
    "time": "Thu May 12 10:52:00 2011 +0100"
  },
  "message": "ARM: 6890/1: memmap: only free allocated memmap entries when using SPARSEMEM\n\nThe SPARSEMEM code allocates memmap entries only for sections which are\npresent (i.e. those which contain some valid memory). The membank checks\nin free_unused_memmap do not take this into account and can incorrectly\nattempt to free memory which is not allocated, resulting in a BUG() in\nthe bootmem code.\n\nHowever, if memory is configured as follows:\n\n    |\u003c----section----\u003e|\u003c----hole----\u003e|\u003c----section----\u003e|\n    +--------+--------+--------------+--------+--------+\n    | bank 0 | unused |              | bank 1 | unused |\n    +--------+--------+--------------+--------+--------+\n\nwhere a bank only occupies part of a section, the memmap allocated for\nthe remainder of the section *can* be freed.\n\nThis patch modifies the checks in free_unused_memmap so that only valid\nmemmap entries are considered for removal.\n\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e5f6fc42834892e7622664b496d3aa0288eaa2ff",
      "old_mode": 33188,
      "old_path": "arch/arm/mm/init.c",
      "new_id": "e591513bb53ecdfa06b9d8bf23d483bed7dbe733",
      "new_mode": 33188,
      "new_path": "arch/arm/mm/init.c"
    }
  ]
}
