)]}'
{
  "commit": "51fd1fde5c52bf435e1661d2b6c69a9bc3d92818",
  "tree": "ecaad0a02fdcd9cf879be948650bcf307af0dd9b",
  "parents": [
    "9e4d5cfddbe31bb6326e16e3a06b40465a717de1"
  ],
  "author": {
    "name": "Jared Holzman",
    "email": "jholzman@nvidia.com",
    "time": "Mon May 25 19:30:11 2026 +0300"
  },
  "committer": {
    "name": "Nicolas Morey",
    "email": "nmorey@suse.com",
    "time": "Tue Jun 09 12:56:02 2026 +0200"
  },
  "message": "rxe: Fix dma.length computation in wr_set_sge_list\n\n[ Upstream commit 406cd2ad08cd852647414cfbf0f2de7ba6517ec1 ]\n\nwr_set_sge_list() summed the SGE lengths with a loop that never\nadvanced sg_list:\n\n\twhile (num_sge--)\n\t\ttot_length +\u003d sg_list-\u003elength;\n\nso tot_length ended up as num_sge * sg_list[0].length instead of the\ntrue sum, and wqe-\u003edma.length / wqe-\u003edma.resid were written with that\nwrong value. The per-SGE entries themselves were unaffected because\nthey are populated by the preceding memcpy().\n\nThe kernel rxe driver requires dma.length \u003d\u003d sum(sge[i].length) and\nenforces it in rxe_mr.c:copy_data(), so a multi-SGE WR posted through\nthe ibv_qp_ex builder API (ibv_wr_set_sge_list) on rxe completes with\nIB_WC_LOC_PROT_ERR once finish_packet()/copy_data() runs off the end\nof the SGE list.\n\nThe legacy ibv_post_send path (init_send_wqe) is unaffected; it sums\nthe lengths with an indexed for loop.\n\nFix by computing the total with an indexed loop, matching the style\nalready used in rxe_post_one_recv() and init_send_wqe() in this file.\n\nFixes: 1a894ca10105 (\"Providers/rxe: Implement ibv_create_qp_ex verb\")\nSigned-off-by: Jared Holzman \u003cjholzman@nvidia.com\u003e\nSigned-off-by: Nicolas Morey \u003cnmorey@suse.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "541f1c42f49f2d63a8caab4b11bb38ad93ecb1fd",
      "old_mode": 33188,
      "old_path": "providers/rxe/rxe.c",
      "new_id": "fc91223d0263d005c1b457483207942289a89793",
      "new_mode": 33188,
      "new_path": "providers/rxe/rxe.c"
    }
  ]
}
