)]}'
{
  "commit": "d6da2b02b08250dc1cdc708dc6be306324f8a16d",
  "tree": "80958385800858308d050307b964b2d5711aa536",
  "parents": [
    "22dc92f27aa1c25ef263946811068e2b2b10e2a0"
  ],
  "author": {
    "name": "Leon Romanovsky",
    "email": "leonro@nvidia.com",
    "time": "Thu Aug 20 08:08:06 2026 -0400"
  },
  "committer": {
    "name": "Leon Romanovsky",
    "email": "leonro@nvidia.com",
    "time": "Tue Aug 25 02:03:29 2026 -0400"
  },
  "message": "dma-buf: Document how exporters and importers agree on mapping lifetime\n\nPinned, revoked and movable mappings are selected by which optional\ncallbacks each side implements and by whether dma_buf_pin() succeeds,\nnot by any flag or enum. Nothing in Documentation/ says so, and the\nrules are spread over the kdoc of dma_buf_ops.pin,\ndma_buf_attach_ops.invalidate_mappings and dma_buf_invalidate_mappings(),\nso a driver author has to know the symbol names before finding them.\n\nName, per flow, the callbacks both sides have to implement to end up in\nit, describe dma_buf_pin() as the runtime negotiation, and record that\nthe pin is what tells a revoke from a move.\n\nSigned-off-by: Leon Romanovsky \u003cleonro@nvidia.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f36c21d9948f4147496a139c36f662da455e475",
      "old_mode": 33188,
      "old_path": "Documentation/driver-api/dma-buf.rst",
      "new_id": "39c201f38aa6be1a747caa6b77e4cbd73a623fd3",
      "new_mode": 33188,
      "new_path": "Documentation/driver-api/dma-buf.rst"
    },
    {
      "type": "modify",
      "old_id": "d504c636dc294e863acdf1eba5a5850be59074fb",
      "old_mode": 33188,
      "old_path": "drivers/dma-buf/dma-buf.c",
      "new_id": "30afec7365bcdf072b9f208452fd3c65e90a4597",
      "new_mode": 33188,
      "new_path": "drivers/dma-buf/dma-buf.c"
    }
  ]
}
