{"id":"CVE-2026-93100","summary":"fs/resctrl: Prevent use-after-free in rdtgroup_kn_put()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nfs/resctrl: Prevent use-after-free in rdtgroup_kn_put()\n\nA struct rdtgroup is reference counted via rdtgroup::waitcount. Callers that\nneed the structure to remain valid across a sleep (while waiting on acquiring\nrdtgroup_mutex) take a reference with rdtgroup_kn_get() and release it with\nrdtgroup_kn_put().\n\nThe release path is intended to serve as the fallback freer: if the count\ndrops to zero and the group has already been marked RDT_DELETED,\nrdtgroup_kn_put() frees the structure.\n\nThe bulk teardown paths free_all_child_rdtgrp() and rmdir_all_sub() resulting\nfrom a resctrl directory remove or resctrl fs unmount act as the primary\nfreer: they hold rdtgroup_mutex and free each rdtgroup whose waitcount is\nzero, otherwise they set RDT_DELETED and leave the freeing to the last waiter.\n\nThese two freers race. rdtgroup_kn_put() commits waitcount == 0 with\natomic_dec_and_test() outside rdtgroup_mutex, then reads rdtgroup::flags.\nBetween those two operations a concurrent caller of free_all_child_rdtgrp()\nor rmdir_all_sub() (which holds the mutex) can observe waitcount == 0 via\natomic_read(), call rdtgroup_remove(), and kfree() the structure.\n\nThe subsequent read of rdtgroup::flags in rdtgroup_kn_put() is then\na use-after-free, and the structure may even be freed twice if the freed\nmemory happens to satisfy the RDT_DELETED flag check.\n\nReplace the bare atomic_dec_and_test() with atomic_dec_and_mutex_lock() so\nthat the decrement-to-zero takes rdtgroup_mutex before the count becomes\nglobally visible. The inspection of rdtgroup::flags then runs under the same\nmutex held by the bulk freers, making the two paths mutually exclusive.\n\nThe common case where the count does not reach zero remains lock-free. Defer\nkernfs_unbreak_active_protection() until after the mutex is dropped since\nkernfs active protections functionally wrap rdtgroup_mutex. Remove resource\ngroup, which in turn drops its kernfs reference, after kernfs protection is\nrestored.\n\n  [ bp: Split the commit messsages into smaller, easier-parseable paragraphs. ]","modified":"2026-09-19T03:47:31.540469062Z","published":"2026-09-17T16:11:13.077Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93100.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/4c593c62c1499665baebbb41b70e2c9b7e947b86"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ae69f936e8ffed553d899ba4c02f8a7461a89e54"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f5bcf539484d2d604c2f2330e09487ea090b21c7"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93100.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93100"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"b8511ccc75c033f6d54188ea4df7bf1e85778740"},{"fixed":"ae69f936e8ffed553d899ba4c02f8a7461a89e54"},{"fixed":"4c593c62c1499665baebbb41b70e2c9b7e947b86"},{"fixed":"f5bcf539484d2d604c2f2330e09487ea090b21c7"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"0"},{"last_affected":"d20edc0bca5577bab38acb5b190619c922ddebf8"},{"last_affected":"1b006f8cbde9f3dabdfafe2ff7aa9f831ed5b625"},{"last_affected":"40300f986e47dbc8f1d02e5080385f5cf9f85f70"},{"last_affected":"b5a4949897ebada8132d54c93208989482503103"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.14.170"},{"fixed":"4.15"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"4.19.102"},{"fixed":"4.20"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5.4.18"},{"fixed":"5.5"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5.5.2"},{"fixed":"5.6"}]}],"versions":["v5.5","v5.4.17","v4.19.101","v4.14.169","v5.5.1","v5.5-rc5","v4.19.100","v5.4.16","v5.5-rc7","v5.5-rc2","v5.5-rc1","v5.4.15","v4.19.99","v4.14.168","v5.4","v4.19.98","v4.14.167","v5.4.14","v5.5-rc4","v5.4.13","v4.19.97","v4.14.166","v5.5-rc3","v5.5-rc6","v5.4.12","v4.19.96","v4.14.165","v5.4.11","v4.19.95","v4.14.164","v5.4.10","v4.19.94","v4.14.163","v5.4.9","v5.4.8","v4.19.93","v4.14.162","v5.4.7","v4.19.92","v4.14.161","v5.4.6","v4.19.91","v4.14.160","v5.4.5","v4.19.90","v4.14.159","v5.4.4","v4.14.158","v4.19.89","v5.4.3","v4.19.88","v5.4.2","v5.4-rc1","v4.14.157","v4.19.87","v5.4.1","v5.4-rc6","v5.4-rc3","v4.19.86","v4.14.156","v5.4-rc4","v5.4-rc8","v4.14.155","v4.19.85","v4.19.84","v4.14.154","v5.4-rc7","v5.4-rc5","v5.3","v5.4-rc2","v4.19.83","v4.14.153","v4.19.82","v4.14.152","v4.19.81","v4.14.151","v4.19.80","v4.14.150","v4.19.79","v4.14.149","v4.19.78","v4.14.148","v4.19.77","v4.14.147","v4.19.76","v4.14.146","v4.19.75","v5.3-rc5","v5.3-rc1","v4.19.74","v4.14.145","v5.3-rc2","v4.19.73","v4.14.144","v5.3-rc3","v5.3-rc8","v4.19.72","v4.14.143","v5.3-rc7","v5.3-rc4","v4.19.71","v4.14.142","v4.19.70","v4.19.69","v4.14.141","v5.2","v5.3-rc6","v4.19.68","v4.14.140","v4.14.139","v4.19.67","v4.14.138","v4.19.66","v4.14.137","v4.19.65","v4.19.64","v4.14.136","v4.14.135","v4.19.63","v4.14.134","v4.19.62","v4.19.61","v4.19.60","v5.2-rc2","v4.14.133","v4.19.59","v5.2-rc7","v5.2-rc4","v4.19.58","v5.2-rc1","v4.14.132","v4.19.57","v5.2-rc5","v5.2-rc6","v4.14.131","v4.19.56","v5.2-rc3","v4.14.130","v4.14.129","v4.19.55","v5.1","v4.19.54","v4.14.128","v4.19.53","v4.14.127","v4.19.52","v4.14.126","v4.19.51","v4.14.125","v4.19.50","v4.14.124","v4.19.49","v4.14.123","v4.19.48","v4.19.47","v4.14.122","v4.19.46","v4.14.121","v4.19.45","v4.19.44","v4.14.120","v4.14.119","v4.19.43","v5.0-rc8","v4.14.118","v4.19.42","v5.1-rc7","v5.1-rc1","v4.19.41","v4.14.117","v5.1-rc6","v4.19.40","v4.14.116","v5.1-rc5","v4.19.39","v4.19.38","v4.14.115","v5.0","v4.19.37","v4.14.114","v5.1-rc3","v4.19.36","v4.14.113","v5.1-rc2","v4.19.35","v4.14.112","v5.1-rc4","v4.19.34","v4.14.111","v5.0-rc1","v4.19.33","v4.14.110","v4.19.32","v4.14.109","v4.19.31","v4.14.108","v4.19.30","v4.14.107","v4.14.106","v4.19.29","v4.14.105","v4.19.28","v4.19.27","v4.19.26","v4.14.104","v5.0-rc4","v5.0-rc3","v5.0-rc6","v4.19.25","v4.14.103","v5.0-rc7","v4.19.24","v4.14.102","v5.0-rc2","v4.19.23","v4.14.101","v5.0-rc5","v4.19.22","v4.14.100","v4.19.21","v4.14.99","v4.19.20","v4.14.98","v4.14.97","v4.19.19","v4.19.18","v4.14.96","v4.14.95","v4.19.17","v4.20-rc1","v4.14.94","v4.19.16","v4.19","v4.14.93","v4.19.15","v4.20","v4.14.92","v4.19.14","v4.19.13","v4.14.91","v4.20-rc7","v4.20-rc5","v4.14.90","v4.19.12","v4.20-rc6","v4.19.11","v4.14.89","v4.19.10","v4.20-rc4","v4.20-rc2","v4.14.88","v4.19.9","v4.14.87","v4.19.8","v4.20-rc3","v4.14.86","v4.19.7","v4.14.85","v4.19.6","v4.14.84","v4.19.5","v4.19.4","v4.14.83","v4.14.82","v4.19.3","v4.14.81","v4.19.2","v4.14.80","v4.19.1","v4.14.79","v4.14.78","v4.19-rc2","v4.19-rc8","v4.19-rc4","v4.14.77","v4.19-rc1","v4.14.76","v4.19-rc7","v4.14.75","v4.14.74","v4.19-rc6","v4.19-rc5","v4.14.73","v4.19-rc3","v4.14.72","v4.14.71","v4.14.70","v4.14.69","v4.14.68","v4.14.67","v4.14.66","v4.18","v4.14.65","v4.14.64","v4.14.63","v4.18-rc1","v4.14.62","v4.18-rc8","v4.18-rc2","v4.18-rc5","v4.14.61","v4.18-rc6","v4.14.60","v4.18-rc7","v4.14.59","v4.17","v4.14.58","v4.18-rc3","v4.14.57","v4.14.56","v4.18-rc4","v4.14.55","v4.14.54","v4.14.53","v4.14.52","v4.14.51","v4.14.50","v4.14.49","v4.14.48","v4.17-rc1","v4.14.47","v4.17-rc2","v4.17-rc7","v4.17-rc3","v4.17-rc4","v4.16","v4.14.46","v4.14.45","v4.17-rc6","v4.14.44","v4.17-rc5","v4.14.43","v4.14.42","v4.14.41","v4.14.40","v4.14.39","v4.14.38","v4.14.37","v4.14.36","v4.14.35","v4.14.34","v4.14.33","v4.16-rc7","v4.16-rc4","v4.14.32","v4.16-rc1","v4.16-rc2","v4.16-rc5","v4.14.31","v4.14.30","v4.16-rc3","v4.16-rc6","v4.14.29","v4.14.28","v4.14.27","v4.14.26","v4.14.25","v4.14.24","v4.14","v4.14.23","v4.15","v4.14.22","v4.14.21","v4.14.20","v4.14.19","v4.14.18","v4.14.17","v4.15-rc1","v4.14.16","v4.15-rc4","v4.14.15","v4.15-rc9","v4.14.14","v4.15-rc8","v4.15-rc7","v4.14.13","v4.15-rc3","v4.15-rc2","v4.15-rc5","v4.15-rc6","v4.14.12","v4.14.11","v4.14.10","v4.14.9","v4.14.8","v4.14.7","v4.14.6","v4.14.5","v4.14.4","v4.14.3","v4.14.2","v4.14-rc1","v4.14.1","v4.14-rc7","v4.14-rc3","v4.13","v4.14-rc8","v4.14-rc4","v4.14-rc6","v4.14-rc2","v4.14-rc5","v4.13-rc2","v4.13-rc1","v4.13-rc3","v4.13-rc7","v4.13-rc4","v4.13-rc5","v4.13-rc6","v4.12-rc1","v4.12","v4.12-rc5","v4.12-rc7","v4.12-rc6","v4.12-rc4","v4.12-rc2","v4.12-rc3","v4.11","v4.11-rc1","v4.11-rc6","v4.11-rc8","v4.11-rc7","v4.11-rc3","v4.11-rc5","v4.11-rc2","v4.11-rc4","v4.10","v4.9","v4.10-rc8","v4.10-rc3","v4.10-rc1","v4.10-rc7","v4.10-rc6","v4.10-rc2","v4.10-rc5","v4.10-rc4","v4.9-rc7","v4.9-rc6","v4.9-rc8","v4.9-rc1","v4.9-rc5","v4.9-rc3","v4.9-rc4","v4.9-rc2","v4.8","v4.8-rc8","v4.8-rc2","v4.8-rc1","v4.8-rc7","v4.8-rc6","v4.8-rc5","v4.8-rc4","v4.8-rc3","v4.7","v4.7-rc4","v4.7-rc2","v4.7-rc1","v4.7-rc7","v4.7-rc6","v4.7-rc3","v4.7-rc5","v4.6","v4.6-rc1","v4.6-rc6","v4.6-rc4","v4.6-rc7","v4.6-rc5","v4.5-rc4","v4.6-rc2","v4.6-rc3","v4.5","v4.4","v4.5-rc1","v4.5-rc6","v4.5-rc2","v4.5-rc7","v4.5-rc5","v4.5-rc3","v4.4-rc1","v4.4-rc2","v4.4-rc8","v4.4-rc3","v4.4-rc7","v4.4-rc5","v4.4-rc6","v4.4-rc4","v4.3","v4.3-rc1","v4.3-rc6","v4.3-rc4","v4.3-rc2","v4.3-rc7","v4.3-rc5","v4.3-rc3","v4.2","v4.2-rc2","v4.2-rc1","v4.2-rc8","v4.2-rc4","v4.2-rc6","v4.2-rc7","v4.0-rc5","v4.2-rc5","v4.2-rc3","v4.1-rc2","v4.1","v4.1-rc1","v4.1-rc8","v4.1-rc7","v4.1-rc6","v4.1-rc3","v4.1-rc4","v4.0","v4.1-rc5","v4.0-rc1","v4.0-rc2","v4.0-rc7","v4.0-rc3","v4.0-rc6","v4.0-rc4","v3.19","v3.19-rc7","v3.19-rc5","v3.19-rc1","v3.19-rc6","v3.19-rc4","v3.18-rc1","v3.19-rc3","v3.19-rc2","v3.18","v3.18-rc7","v3.18-rc6","v3.18-rc2","v3.18-rc3","v3.18-rc4","v3.18-rc5","v3.17","v3.17-rc1","v3.17-rc7","v3.17-rc2","v3.17-rc4","v3.16","v3.17-rc5","v3.17-rc6","v3.17-rc3","v3.16-rc7","v3.16-rc1","v3.16-rc3","v3.16-rc5","v3.16-rc6","v3.16-rc2","v3.16-rc4","v3.13","v3.15","v3.15-rc5","v3.15-rc8","v3.15-rc1","v3.15-rc6","v3.15-rc3","v3.15-rc7","v3.15-rc2","v3.15-rc4","v3.14","v3.14-rc4","v3.14-rc8","v3.14-rc7","v3.14-rc6","v3.14-rc1","v3.14-rc2","v3.14-rc5","v3.14-rc3","v3.13-rc6","v3.13-rc8","v3.12","v3.13-rc7","v3.13-rc1","v3.13-rc4","v3.13-rc3","v3.13-rc5","v3.13-rc2","v3.12-rc7","v3.12-rc3","v3.12-rc6","v3.12-rc1","v3.12-rc5","v3.11","v3.12-rc2","v3.12-rc4","v3.11-rc7","v3.11-rc2","v3.11-rc5","v3.11-rc1","v3.11-rc3","v3.11-rc4","v3.11-rc6","v3.10-rc2","v3.10","v3.10-rc7","v3.10-rc6","v3.10-rc1","v3.10-rc5","v3.10-rc3","v3.10-rc4","v3.9","v3.9-rc2","v3.9-rc7","v3.9-rc8","v3.9-rc3","v3.9-rc6","v3.9-rc5","v3.9-rc4","v3.9-rc1","v3.8","v3.8-rc7","v3.8-rc6","v3.8-rc5","v3.8-rc2","v3.8-rc1","v3.8-rc3","v3.8-rc4","v3.7","v3.7-rc1","v3.6","v3.7-rc6","v3.7-rc7","v3.7-rc3","v3.7-rc8","v3.7-rc2","v3.7-rc4","v3.7-rc5","v3.6-rc7","v3.6-rc1","v3.5-rc3","v3.6-rc6","v3.6-rc5","v3.5","v3.6-rc3","v3.6-rc4","v3.6-rc2","v3.4-rc4","v3.5-rc7","v3.5-rc5","v3.5-rc6","v3.5-rc2","v3.5-rc1","v3.5-rc4","v3.4","v3.4-rc2","v3.4-rc1","v3.4-rc7","v3.4-rc6","v3.4-rc3","v3.4-rc5","v3.3","v3.3-rc6","v3.3-rc3","v3.3-rc7","v3.3-rc2","v3.3-rc5","v3.2","v3.3-rc4","v3.3-rc1","v3.2-rc4","v3.2-rc7","v3.2-rc6","v3.2-rc5","v3.2-rc3","v3.1","v3.2-rc2","v3.2-rc1","v3.1-rc1","v3.1-rc9","v3.1-rc8","v3.1-rc10","v3.1-rc7","v3.1-rc3","v3.1-rc2","v3.1-rc4","v3.1-rc5","v3.0","v3.1-rc6","v3.0-rc7","v3.0-rc4","v3.0-rc6","v3.0-rc5","v3.0-rc3","v3.0-rc1","v2.6.39","v3.0-rc2","v2.6.38","v2.6.39-rc2","v2.6.39-rc7","v2.6.39-rc5","v2.6.39-rc1","v2.6.38-rc7","v2.6.39-rc6","v2.6.39-rc4","v2.6.39-rc3","v2.6.37","v2.6.38-rc1","v2.6.38-rc8","v2.6.38-rc2","v2.6.38-rc6","v2.6.38-rc5","v2.6.38-rc4","v2.6.38-rc3","v2.6.37-rc4","v2.6.37-rc2","v2.6.36","v2.6.37-rc5","v2.6.37-rc8","v2.6.37-rc7","v2.6.37-rc6","v2.6.37-rc1","v2.6.37-rc3","v2.6.36-rc6","v2.6.35-rc4","v2.6.36-rc8","v2.6.35","v2.6.36-rc7","v2.6.36-rc3","v2.6.36-rc5","v2.6.36-rc4","v2.6.36-rc2","v2.6.36-rc1","v2.6.35-rc5","v2.6.35-rc6","v2.6.34","v2.6.35-rc3","v2.6.35-rc1","v2.6.35-rc2","v2.6.34-rc7","v2.6.34-rc6","v2.6.34-rc5","v2.6.34-rc4","v2.6.34-rc3","v2.6.34-rc2","v2.6.34-rc1","v2.6.33","v2.6.33-rc6","v2.6.33-rc8","v2.6.33-rc4","v2.6.33-rc5","v2.6.33-rc3","v2.6.33-rc7","v2.6.33-rc2","v2.6.32","v2.6.33-rc1","v2.6.32-rc8","v2.6.32-rc7","v2.6.32-rc6","v2.6.31","v2.6.32-rc5","v2.6.32-rc4","v2.6.32-rc2","v2.6.32-rc1","v2.6.32-rc3","v2.6.31-rc9","v2.6.31-rc1","v2.6.31-rc7","v2.6.31-rc8","v2.6.31-rc6","v2.6.30-rc6","v2.6.30","v2.6.31-rc4","v2.6.31-rc5","v2.6.31-rc3","v2.6.31-rc2","v2.6.30-rc7","v2.6.30-rc8","v2.6.30-rc5","v2.6.30-rc3","v2.6.30-rc4","v2.6.30-rc1","v2.6.30-rc2","v2.6.29","v2.6.29-rc8","v2.6.29-rc7","v2.6.29-rc5","v2.6.29-rc1","v2.6.29-rc6","v2.6.29-rc4","v2.6.29-rc3","v2.6.29-rc2","v2.6.28","v2.6.28-rc7","v2.6.28-rc9","v2.6.28-rc8","v2.6.28-rc6","v2.6.28-rc5","v2.6.28-rc4","v2.6.28-rc2","v2.6.28-rc3","v2.6.28-rc1","v2.6.27","v2.6.27-rc7","v2.6.27-rc9","v2.6.27-rc8","v2.6.27-rc5","v2.6.27-rc6","v2.6.27-rc4","v2.6.27-rc1","v2.6.27-rc3","v2.6.27-rc2","v2.6.26","v2.6.26-rc9","v2.6.26-rc8","v2.6.26-rc3","v2.6.26-rc7","v2.6.26-rc6","v2.6.26-rc5","v2.6.26-rc4","v2.6.26-rc2","v2.6.26-rc1","v2.6.25","v2.6.25-rc7","v2.6.25-rc9","v2.6.25-rc8","v2.6.25-rc6","v2.6.25-rc5","v2.6.25-rc3","v2.6.25-rc4","v2.6.24","v2.6.25-rc2","v2.6.25-rc1","v2.6.24-rc8","v2.6.24-rc7","v2.6.24-rc6","v2.6.24-rc5","v2.6.24-rc4","v2.6.24-rc3","v2.6.24-rc2","v2.6.24-rc1","v2.6.23","v2.6.23-rc9","v2.6.23-rc8","v2.6.23-rc5","v2.6.23-rc7","v2.6.23-rc6","v2.6.23-rc4","v2.6.23-rc3","v2.6.23-rc2","v2.6.23-rc1","v2.6.22","v2.6.22-rc7","v2.6.22-rc6","v2.6.22-rc5","v2.6.22-rc4","v2.6.22-rc3","v2.6.22-rc2","v2.6.22-rc1","v2.6.21","v2.6.21-rc7","v2.6.21-rc6","v2.6.21-rc5","v2.6.21-rc4","v2.6.21-rc3","v2.6.21-rc2","v2.6.21-rc1","v2.6.20-rc7","v2.6.20-rc6","v2.6.20-rc5","v2.6.20-rc4","v2.6.20-rc3","v2.6.20-rc1","v2.6.20-rc2","v2.6.19-rc2","v2.6.18","v2.6.19-rc1","v2.6.18-rc6","v2.6.18-rc5","v2.6.18-rc3","v2.6.18-rc2","v2.6.18-rc1","v2.6.17","v2.6.17-rc4","v2.6.17-rc6","v2.6.17-rc5","v2.6.17-rc3","v2.6.17-rc2","v2.6.17-rc1","v2.6.16","v2.6.16-rc6","v2.6.16-rc4","v2.6.16-rc5","v2.6.16-rc3","v2.6.16-rc2","v2.6.16-rc1","v2.6.15-rc7","v2.6.15-rc5","v2.6.15-rc4","v2.6.15-rc2","v2.6.15-rc1","v2.6.14-rc3","v2.6.14-rc2","v2.6.14-rc1","v2.6.13","v2.6.13-rc7","v2.6.13-rc6","v2.6.13-rc5","v2.6.13-rc3","v2.6.13-rc4","v2.6.13-rc2","v2.6.13-rc1","v2.6.12-rc4","v2.6.12-rc3","v2.6.12-rc2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93100.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.6.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93100.json"}}],"schema_version":"1.9.0"}