)]}'
{
  "commit": "45a00576f8f3f2f04541725b53f929537d1c2e89",
  "tree": "4000f2a515325ce5362dabf2ab6822b908ba8912",
  "parents": [
    "83962808e2767476b648251c93970569d107dc4d"
  ],
  "author": {
    "name": "Albert Wang",
    "email": "albertccwang@google.com",
    "time": "Mon May 23 23:35:54 2022 +0800"
  },
  "committer": {
    "name": "Albert Wang",
    "email": "albertccwang@google.com",
    "time": "Mon May 23 15:57:51 2022 +0000"
  },
  "message": "UPSTREAM: usb: dwc3: gadget: Move null pinter check to proper place\n\nWhen dwc3_gadget_ep_cleanup_completed_requests() called to\ndwc3_gadget_giveback() where the dwc3 lock is released, other thread is\nable to execute. In this situation, usb_ep_disable() gets the chance to\nclear endpoint descriptor pointer which leds to the null pointer\ndereference problem. So needs to move the null pointer check to a proper\nplace.\n\nExample call stack:\n\nThread#1:\ndwc3_thread_interrupt()\n  spin_lock\n  -\u003e dwc3_process_event_buf()\n   -\u003e dwc3_process_event_entry()\n    -\u003e dwc3_endpoint_interrupt()\n     -\u003e dwc3_gadget_endpoint_trbs_complete()\n      -\u003e dwc3_gadget_ep_cleanup_completed_requests()\n       ...\n       -\u003e dwc3_giveback()\n          spin_unlock\n          Thread#2 executes\n\nThread#2:\nconfigfs_composite_disconnect()\n  -\u003e __composite_disconnect()\n   -\u003e ffs_func_disable()\n    -\u003e ffs_func_set_alt()\n     -\u003e ffs_func_eps_disable()\n      -\u003e usb_ep_disable()\n         wait for dwc3 spin_lock\n         Thread#1 released lock\n         clear endpoint.desc\n\nFixes: 26288448120b (\"usb: dwc3: gadget: Fix null pointer exception\")\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Albert Wang \u003calbertccwang@google.com\u003e\nLink: https://lore.kernel.org/r/20220518061315.3359198-1-albertccwang@google.com\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n(cherry picked from commit 3c5880745b4439ac64eccdb040e37fc1cc4c5406)\n\nBug: 224405818\nSigned-off-by: Albert Wang \u003calbertccwang@google.com\u003e\nChange-Id: I716885b0966711a166d6142417cd6d18fe5c14a8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f8004d5c0dc2531dd3e984f42f47377ada2e8a0",
      "old_mode": 33188,
      "old_path": "drivers/usb/dwc3/gadget.c",
      "new_id": "8054b822c680e8b36150c85f0746b5308053dcf0",
      "new_mode": 33188,
      "new_path": "drivers/usb/dwc3/gadget.c"
    }
  ]
}
