)]}'
{
  "commit": "c71e4cd7c418aae0062f0dec4cd0500f19e6f75e",
  "tree": "1de93e29bd00edc9074be2b948773bead6f026e4",
  "parents": [
    "9fc12b7fd3e02c69507793c663698d881e857c84"
  ],
  "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:55:53 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": "46770a4970b7bf8240c1fbad4fe922d4d3067c91",
      "old_mode": 33188,
      "old_path": "providers/rxe/rxe.c",
      "new_id": "7226bc4f6222f8963073c2a7f86b6127eca9c659",
      "new_mode": 33188,
      "new_path": "providers/rxe/rxe.c"
    }
  ]
}
