)]}'
{
  "commit": "2fc136eecd0c647a6b13fcd00d0c41a1a28f35a5",
  "tree": "2a43ce841b2bedf8206609b6c43321e540540c35",
  "parents": [
    "80ba77dfbce85f2d1be54847de3c866de1b18a9a"
  ],
  "author": {
    "name": "Stefano Stabellini",
    "email": "stefano.stabellini@eu.citrix.com",
    "time": "Wed Sep 12 12:44:30 2012 +0100"
  },
  "committer": {
    "name": "Konrad Rzeszutek Wilk",
    "email": "konrad.wilk@oracle.com",
    "time": "Wed Sep 12 11:21:40 2012 -0400"
  },
  "message": "xen/m2p: do not reuse kmap_op-\u003edev_bus_addr\n\nIf the caller passes a valid kmap_op to m2p_add_override, we use\nkmap_op-\u003edev_bus_addr to store the original mfn, but dev_bus_addr is\npart of the interface with Xen and if we are batching the hypercalls it\nmight not have been written by the hypervisor yet. That means that later\non Xen will write to it and we\u0027ll think that the original mfn is\nactually what Xen has written to it.\n\nRather than \"stealing\" struct members from kmap_op, keep using\npage-\u003eindex to store the original mfn and add another parameter to\nm2p_remove_override to get the corresponding kmap_op instead.\nIt is now responsibility of the caller to keep track of which kmap_op\ncorresponds to a particular page in the m2p_override (gntdev, the only\nuser of this interface that passes a valid kmap_op, is already doing that).\n\nCC: stable@kernel.org\nReported-and-Tested-By: Sander Eikelenboom \u003clinux@eikelenboom.it\u003e\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93971e841dd5e7eaa032f5f4a8d5542040900a6d",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/xen/page.h",
      "new_id": "472b9b783019a2e2f7c7b273ab7b13b96ec257b9",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/xen/page.h"
    },
    {
      "type": "modify",
      "old_id": "76ba0e97e530131199e40aec0730554ae7b7825c",
      "old_mode": 33188,
      "old_path": "arch/x86/xen/p2m.c",
      "new_id": "72213da605f50c07f3684ca07d351a8bbd7435ef",
      "new_mode": 33188,
      "new_path": "arch/x86/xen/p2m.c"
    },
    {
      "type": "modify",
      "old_id": "73f196ca713f20e037e22adccba64d0e00c936b1",
      "old_mode": 33188,
      "old_path": "drivers/block/xen-blkback/blkback.c",
      "new_id": "c6decb901e5e16f4ba09ccef7db33675aeecb189",
      "new_mode": 33188,
      "new_path": "drivers/block/xen-blkback/blkback.c"
    },
    {
      "type": "modify",
      "old_id": "1ffd03bf8e10dcb6b015e3e0b94a2a460f0d0dcd",
      "old_mode": 33188,
      "old_path": "drivers/xen/gntdev.c",
      "new_id": "7f1241608489de05a33e957a77145f4faa605f0e",
      "new_mode": 33188,
      "new_path": "drivers/xen/gntdev.c"
    },
    {
      "type": "modify",
      "old_id": "0bfc1ef11259eccaa937eb8d0913e4e14e04832e",
      "old_mode": 33188,
      "old_path": "drivers/xen/grant-table.c",
      "new_id": "006726688baf4f0a535896dd38c9a3ea2198c617",
      "new_mode": 33188,
      "new_path": "drivers/xen/grant-table.c"
    },
    {
      "type": "modify",
      "old_id": "11e27c3af3cb45c63d9c689442096b4afd66c55f",
      "old_mode": 33188,
      "old_path": "include/xen/grant_table.h",
      "new_id": "f19fff8650e93075aae1717034f29898f1199646",
      "new_mode": 33188,
      "new_path": "include/xen/grant_table.h"
    }
  ]
}
