)]}'
{
  "commit": "e5c8afe5480f584cbdec89eec4d8e0b5e2f4664f",
  "tree": "fcf928cffe2ac79a5ba1c8564345f4f81dfb27e5",
  "parents": [
    "37ca6c11fad37828fdb173a374dce633c5d07dfd"
  ],
  "author": {
    "name": "Yishai Hadas",
    "email": "yishaih@nvidia.com",
    "time": "Wed Jun 24 13:36:04 2026 +0300"
  },
  "committer": {
    "name": "Jiri Pirko",
    "email": "jiri@nvidia.com",
    "time": "Wed Jul 01 10:39:49 2026 +0200"
  },
  "message": "libibverbs: Fall back to the write ABI in ibv_cmd_reg_mr_ex()\n\nibv_cmd_reg_mr_ex() issued the REG_MR ioctl unconditionally (execute_ioctl)\nwith no fallback to the legacy write-based registration, unlike\nibv_cmd_reg_mr() which is write-ABI based.  An address-based MR registered\nthrough the extended path therefore fails on a kernel old enough to lack\nthe REG_MR ioctl method, even though it still supports the legacy write ABI\nthat ibv_cmd_reg_mr() uses.\n\nIssue the command through the existing ioctl/write fallback machinery\ninstead: declare the command buffer with DECLARE_FBCMD_BUFFER and dispatch\nvia execute_ioctl_fallback().  On TRY_WRITE -- the kernel has no REG_MR\nioctl method -- fall back to the legacy write REG_MR command via\nibv_cmd_reg_mr() for the address-based case.  A dma-buf (fd) or DMA-handle\nrequest has no write-ABI equivalent, and a kernel without the ioctl could\nnot service it anyway, so those return EOPNOTSUPP.\n\nSigned-off-by: Yishai Hadas \u003cyishaih@nvidia.com\u003e\nSigned-off-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f45ce39928b8ff4680ce88d6fb80738a0fb0f688",
      "old_mode": 33188,
      "old_path": "libibverbs/cmd_mr.c",
      "new_id": "02c7f2e047800484144ed35749b1fb1049925f79",
      "new_mode": 33188,
      "new_path": "libibverbs/cmd_mr.c"
    }
  ]
}
