)]}'
{
  "commit": "cb284914e749388eef402938bdb3115fe1f6d337",
  "tree": "6d85e2ab8ffc68d4f22df92a622ff15efb29a7d4",
  "parents": [
    "0a0257228be902ff09608bcaf19ae7c6d58b028f"
  ],
  "author": {
    "name": "Thomas Fourier",
    "email": "fourier.thomas@gmail.com",
    "time": "Thu Oct 29 09:20:55 2026 +0100"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Fri Oct 30 19:04:37 2026 -0700"
  },
  "message": "net: ipa: Fix double free of the interrupt structure on config error\n\nSince ipa_interrupt_init() allocates struct ipa_interrupt in ipa_probe(),\nthe structure is owned by ipa_probe() and released with\nipa_interrupt_exit() on its error paths and in ipa_remove().  The error\npath of ipa_interrupt_config() still frees it with kfree().  If\nipa_interrupt_config() fails (called from ipa_config() via ipa_setup()),\nipa_probe() unwinds through err_interrupt_exit, which frees the same\nstructure again.\n\nDrop the kfree() from ipa_interrupt_config(); it should only undo what it\nset up itself. Drop the leftover initialization and cleanup of\nipa-\u003einterrupt now managed in ipa_proble() and ipa_remove() of ipa_main.c.\n\nFixes: ad1be80d7582 (\"net: ipa: introduce ipa_interrupt_init()\")\nSigned-off-by: Thomas Fourier \u003cfourier.thomas@gmail.com\u003e\nReviewed-by: Alex Elder \u003celder@riscstar.com\u003e\nLink: https://patch.msgid.link/20261029082100.17722-2-fourier.thomas@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "131b9cc9420143b1e013fc5306a359de8d5be601",
      "old_mode": 33188,
      "old_path": "drivers/net/ipa/ipa_interrupt.c",
      "new_id": "766b094eb069458f490a3cb1e3b49ecc940ae5af",
      "new_mode": 33188,
      "new_path": "drivers/net/ipa/ipa_interrupt.c"
    }
  ]
}
