{"id":"CVE-2026-98765","summary":"USB: gadget: dummy-hcd: Fix wait for outstanding request completions","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: gadget: dummy-hcd: Fix wait for outstanding request completions\n\nThe dummy-hcd driver emulates synchronize_irq() by waiting until its\nprivate callback_usage counter drops to 0 (with the private lock not\nheld).  This counter is incremented whenever a gadget driver callback\noccurs (which requires the private lock to be dropped), but not when a\nrequest completion handler is called.\n\nThis is an oversight.  Request completion is triggered by timer\ninterrupts (emulating device IRQs in a real UDC), and the interrupt\nhandlers are supposed to have completed when the synchronize_irq()\nemulation routine returns -- they aren't supposed to be in the middle\nof a completion callback.  If this happens it can lead to a gadget\ndriver's unbind routine running before all outstanding request\ncompletions have finished, maybe even allowing the gadget driver's\nmodule to be unloaded while a completion handler is still running.\n\nFix the oversight by incrementing the callback_usage value across\nrequest completion callbacks.","modified":"2026-10-19T02:47:20.953432523Z","published":"2026-10-18T15:47:57.358Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98765.json","cna_assigner":"Linux"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3070806a7bc7bb36ed04a21022c09dafcc5619f4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5298c96bf0068f3160969f7ddad81976d01a9b66"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7ce4dca0d53b1c3cb2b7e7bb2e42bf5db860caf2"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b263ff9b0fc5c1f371d65c4eb196b31263d039ff"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98765.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98765"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"7dbd8f4cabd96db5a50513de9d83a8105a5ffc81"},{"fixed":"7ce4dca0d53b1c3cb2b7e7bb2e42bf5db860caf2"},{"fixed":"5298c96bf0068f3160969f7ddad81976d01a9b66"},{"fixed":"3070806a7bc7bb36ed04a21022c09dafcc5619f4"},{"fixed":"b263ff9b0fc5c1f371d65c4eb196b31263d039ff"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3.2.97"},{"fixed":"3.3"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3.16.52"},{"fixed":"3.17"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.1.46"},{"fixed":"4.2"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.4.92"},{"fixed":"4.5"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.9.55"},{"fixed":"4.10"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.13.6"},{"fixed":"4.14"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"7b416b9dac6ede26d4ca0c1a88b448b543623ff3"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"8590bc1da625dd4a589eac0fc3aa3cf4f400424d"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"a867d5b932ac4911d3f8a1e63505061b0c81f889"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"e84b4a008365b7edbd842a063ae28d040a98db25"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"e39b17143a5b5aac81f066d455e5d3a9877eb3ae"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4f8ae1fcb0dfbb72a7678f81bf01fb7fc85c6715"}]}],"versions":["v3.2.102","v3.2.101","v3.2.100","v3.2.99","v3.2.98","v3.2.97","v3.16.85","v3.16.84","v3.16.83","v3.16.82","v3.16.81","v3.16.80","v3.16.79","v3.16.78","v3.16.77","v3.16.76","v3.16.75","v3.16.74","v3.16.73","v3.16.72","v3.16.71","v3.16.70","v3.16.69","v3.16.68","v3.16.67","v3.16.66","v3.16.65","v3.16.64","v3.16.63","v3.16.62","v3.16.61","v3.16.60","v3.16.59","v3.16.58","v3.16.57","v3.16.56","v3.16.55","v3.16.54","v3.16.53","v3.16.52","v4.1.52","v4.1.51","v4.1.50","v4.1.49","v4.1.48","v4.1.47","v4.1.46","v4.4.302","v4.4.301","v4.4.300","v4.4.299","v4.4.298","v4.4.297","v4.4.296","v4.4.295","v4.4.294","v4.4.293","v4.4.292","v4.4.291","v4.4.290","v4.4.289","v4.4.288","v4.4.287","v4.4.286","v4.4.285","v4.4.284","v4.4.283","v4.4.282","v4.4.281","v4.4.280","v4.4.279","v4.4.278","v4.4.277","v4.4.276","v4.4.275","v4.4.274","v4.4.273","v4.4.272","v4.4.271","v4.4.270","v4.4.269","v4.4.268","v4.4.267","v4.4.266","v4.4.265","v4.4.264","v4.4.263","v4.4.262","v4.4.261","v4.4.260","v4.4.259","v4.4.258","v4.4.257","v4.4.256","v4.4.255","v4.4.254","v4.4.253","v4.4.252","v4.4.251","v4.4.250","v4.4.249","v4.4.248","v4.4.247","v4.4.246","v4.4.245","v4.4.244","v4.4.243","v4.4.242","v4.4.241","v4.4.240","v4.4.239","v4.4.238","v4.4.237","v4.4.236","v4.4.235","v4.4.234","v4.4.233","v4.4.232","v4.4.231","v4.4.230","v4.4.229","v4.4.228","v4.4.227","v4.4.226","v4.4.225","v4.4.224","v4.4.223","v4.4.222","v4.4.221","v4.4.220","v4.4.219","v4.4.218","v4.4.217","v4.4.216","v4.4.215","v4.4.214","v4.4.213","v4.4.212","v4.4.211","v4.4.210","v4.4.209","v4.4.208","v4.4.207","v4.4.206","v4.4.205","v4.4.204","v4.4.203","v4.4.202","v4.4.201","v4.4.200","v4.4.199","v4.4.198","v4.4.197","v4.4.196","v4.4.195","v4.4.194","v4.4.193","v4.4.192","v4.4.191","v4.4.190","v4.4.189","v4.4.188","v4.4.187","v4.4.186","v4.4.185","v4.4.184","v4.4.183","v4.4.182","v4.4.181","v4.4.180","v4.4.179","v4.4.178","v4.4.177","v4.4.176","v4.4.175","v4.4.174","v4.4.173","v4.4.172","v4.4.171","v4.4.170","v4.4.169","v4.4.168","v4.4.167","v4.4.166","v4.4.165","v4.4.164","v4.4.163","v4.4.162","v4.4.161","v4.4.160","v4.4.159","v4.4.158","v4.4.157","v4.4.156","v4.4.155","v4.4.154","v4.4.153","v4.4.152","v4.4.151","v4.4.150","v4.4.149","v4.4.148","v4.4.147","v4.4.146","v4.4.145","v4.4.144","v4.4.143","v4.4.142","v4.4.141","v4.4.140","v4.4.139","v4.4.138","v4.4.137","v4.4.136","v4.4.135","v4.4.134","v4.4.133","v4.4.132","v4.4.131","v4.4.130","v4.4.129","v4.4.128","v4.4.127","v4.4.126","v4.4.125","v4.4.124","v4.4.123","v4.4.122","v4.4.121","v4.4.120","v4.4.119","v4.4.118","v4.4.117","v4.4.116","v4.4.115","v4.4.114","v4.4.113","v4.4.112","v4.4.111","v4.4.110","v4.4.109","v4.4.108","v4.4.107","v4.4.106","v4.4.105","v4.4.104","v4.4.103","v4.4.102","v4.4.101","v4.4.100","v4.4.99","v4.4.98","v4.4.97","v4.4.96","v4.4.95","v4.4.94","v4.4.93","v4.4.92","v4.9.337","v4.9.336","v4.9.335","v4.9.334","v4.9.333","v4.9.332","v4.9.331","v4.9.330","v4.9.329","v4.9.328","v4.9.327","v4.9.326","v4.9.325","v4.9.324","v4.9.323","v4.9.322","v4.9.321","v4.9.320","v4.9.319","v4.9.318","v4.9.317","v4.9.316","v4.9.315","v4.9.314","v4.9.313","v4.9.312","v4.9.311","v4.9.310","v4.9.309","v4.9.308","v4.9.307","v4.9.306","v4.9.305","v4.9.304","v4.9.303","v4.9.302","v4.9.301","v4.9.300","v4.9.299","v4.9.298","v4.9.297","v4.9.296","v4.9.295","v4.9.294","v4.9.293","v4.9.292","v4.9.291","v4.9.290","v4.9.289","v4.9.288","v4.9.287","v4.9.286","v4.9.285","v4.9.284","v4.9.283","v4.9.282","v4.9.281","v4.9.280","v4.9.279","v4.9.278","v4.9.277","v4.9.276","v4.9.275","v4.9.274","v4.9.273","v4.9.272","v4.9.271","v4.9.270","v4.9.269","v4.9.268","v4.9.267","v4.9.266","v4.9.265","v4.9.264","v4.9.263","v4.9.262","v4.9.261","v4.9.260","v4.9.259","v4.9.258","v4.9.257","v4.9.256","v4.9.255","v4.9.254","v4.9.253","v4.9.252","v4.9.251","v4.9.250","v4.9.249","v4.9.248","v4.9.247","v4.9.246","v4.9.245","v4.9.244","v4.9.243","v4.9.242","v4.9.241","v4.9.240","v4.9.239","v4.9.238","v4.9.237","v4.9.236","v4.9.235","v4.9.234","v4.9.233","v4.9.232","v4.9.231","v4.9.230","v4.9.229","v4.9.228","v4.9.227","v4.9.226","v4.9.225","v4.9.224","v4.9.223","v4.9.222","v4.9.221","v4.9.220","v4.9.219","v4.9.218","v4.9.217","v4.9.216","v4.9.215","v4.9.214","v4.9.213","v4.9.212","v4.9.211","v4.9.210","v4.9.209","v4.9.208","v4.9.207","v4.9.206","v4.9.205","v4.9.204","v4.9.203","v4.9.202","v4.9.201","v4.9.200","v4.9.199","v4.9.198","v4.9.197","v4.9.196","v4.9.195","v4.9.194","v4.9.193","v4.9.192","v4.9.191","v4.9.190","v4.9.189","v4.9.188","v4.9.187","v4.9.186","v4.9.185","v4.9.184","v4.9.183","v4.9.182","v4.9.181","v4.9.180","v4.9.179","v4.9.178","v4.9.177","v4.9.176","v4.9.175","v4.9.174","v4.9.173","v4.9.172","v4.9.171","v4.9.170","v4.9.169","v4.9.168","v4.9.167","v4.9.166","v4.9.165","v4.9.164","v4.9.163","v4.9.162","v4.9.161","v4.9.160","v4.9.159","v4.9.158","v4.9.157","v4.9.156","v4.9.155","v4.9.154","v4.9.153","v4.9.152","v4.9.151","v4.9.150","v4.9.149","v4.9.148","v4.9.147","v4.9.146","v4.9.145","v4.9.144","v4.9.143","v4.9.142","v4.9.141","v4.9.140","v4.9.139","v4.9.138","v4.9.137","v4.9.136","v4.9.135","v4.9.134","v4.9.133","v4.9.132","v4.9.131","v4.9.130","v4.9.129","v4.9.128","v4.9.127","v4.9.126","v4.9.125","v4.9.124","v4.9.123","v4.9.122","v4.9.121","v4.9.120","v4.9.119","v4.9.118","v4.9.117","v4.9.116","v4.9.115","v4.9.114","v4.9.113","v4.9.112","v4.9.111","v4.9.110","v4.9.109","v4.9.108","v4.9.107","v4.9.106","v4.9.105","v4.9.104","v4.9.103","v4.9.102","v4.9.101","v4.9.100","v4.9.99","v4.9.98","v4.9.97","v4.9.96","v4.9.95","v4.9.94","v4.9.93","v4.9.92","v4.9.91","v4.9.90","v4.9.89","v4.9.88","v4.9.87","v4.9.86","v4.9.85","v4.9.84","v4.9.83","v4.9.82","v4.9.81","v4.9.80","v4.9.79","v4.9.78","v4.9.77","v4.9.76","v4.9.75","v4.9.74","v4.9.73","v4.9.72","v4.9.71","v4.9.70","v4.9.69","v4.9.68","v4.9.67","v4.9.66","v4.9.65","v4.9.64","v4.9.63","v4.9.62","v4.9.61","v4.9.60","v4.9.59","v4.9.58","v4.9.57","v4.9.56","v4.9.55","v4.13.16","v4.13.15","v4.13.14","v4.13.13","v4.13.12","v4.13.11","v4.13.10","v4.13.9","v4.13.8","v4.13.7","v4.13.6"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98765.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.14.0"},{"fixed":"6.12.113"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.56"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.10"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98765.json"}}],"schema_version":"1.9.0"}