{"id":"CVE-2026-98984","summary":"dcache: don't put a mountpoint on a dentry that's being removed","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ndcache: don't put a mountpoint on a dentry that's being removed\n\nrmdir(), unlink() and rename() call dont_mount() on the victim and then\ndetach_mounts() with the victim's inode locked. do_lock_mount() takes\nthe inode lock of the mountpoint and checks cant_mount() so a mount\ncan't show up after detach_mounts().\n\nBut attach_recursive_mnt() makes a second mountpoint for the root of the\nsource mount so that the mounts already located at the destination can\nbe put on top of it. No inode is locked for that one and d_set_mounted()\nonly refuses a dentry that is unlinked. Between detach_mounts() and\nd_delete() the victim is still hashed:\n\n  rmrace: b passed dont_mount() and detach_mounts(), sleeping\n  T2: move_mount(S, /tmp/plcant/x, BENEATH) = 0 errno 0 ()\n  T1: rmdir(/tmp/plcant/d/b) = 0 errno 0\n      109 107 0:61 /d/b//deleted /tmp/plcant/x rw,relatime - tmpfs tmpfs rw\n      108 109 0:63 / /tmp/plcant/x rw,relatime - tmpfs T rw\n\nA bind mount of the directory that's being removed is moved beneath an\nexisting mount while the rmdir() is located between the two calls. The\nmount ends up on the removed directory and nothing will ever detach it.\n\nCheck cant_mount() in d_set_mounted() as well. dont_mount() raises the\nflag under d_lock before detach_mounts() runs so either the mountpoint\nis set first and detach_mounts() finds the mount or the flag is seen and\nthe mount is refused.","modified":"2026-11-13T04:07:33.159093988Z","published":"2026-10-23T12:20:02.285Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98984.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/25e3ce3e2ebdd8ed3fc19dc1f7e3bc487f9240f3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/30a1625022411a387cce9239408ece9955bc9c58"},{"type":"WEB","url":"https://git.kernel.org/stable/c/390ddcea2a8aca411b931a8e2863a80ccca8d2b3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5e6bfd9f249f2c74bb63c0f06ad959da3bee0971"},{"type":"WEB","url":"https://git.kernel.org/stable/c/75f4197f1e11d2eb75c2d6f916a7d4764db621e5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/793cb67b0f52d00c67bd0e76bc57455b5c70ebb8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/96ca40461d8b91e13061ec4afb59bae6f07a516a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/982d231ad863bb14f7bda4852ab942c0203cec4b"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98984.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98984"},{"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":"1064f874abc0d05eeed8993815f584d847b72486"},{"fixed":"25e3ce3e2ebdd8ed3fc19dc1f7e3bc487f9240f3"},{"fixed":"982d231ad863bb14f7bda4852ab942c0203cec4b"},{"fixed":"96ca40461d8b91e13061ec4afb59bae6f07a516a"},{"fixed":"5e6bfd9f249f2c74bb63c0f06ad959da3bee0971"},{"fixed":"793cb67b0f52d00c67bd0e76bc57455b5c70ebb8"},{"fixed":"390ddcea2a8aca411b931a8e2863a80ccca8d2b3"},{"fixed":"30a1625022411a387cce9239408ece9955bc9c58"},{"fixed":"75f4197f1e11d2eb75c2d6f916a7d4764db621e5"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5e6ef5ef6eaf690faad3a7c6c665ebf45d7b6ccf"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"839d42687dfce0ed0ea2c6bd8d707cc0e276fbe7"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"808e83e5add13152bd4a88346487de68395c136b"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"6de9d08a9718ee9c12ba6343c50141c2d633e3dc"}]}],"versions":["v4.1.52","v4.1.51","v4.1.50","v4.1.49","v4.1.48","v4.1.47","v4.1.46","v4.1.45","v4.1.44","v4.1.43","v4.1.42","v4.1.41","v4.1.40","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.4.91","v4.4.90","v4.4.89","v4.4.88","v4.4.87","v4.4.86","v4.4.85","v4.4.84","v4.4.83","v4.4.82","v4.4.81","v4.4.80","v4.4.79","v4.4.78","v4.4.77","v4.4.76","v4.4.75","v4.4.74","v4.4.73","v4.4.72","v4.4.71","v4.4.70","v4.4.69","v4.4.68","v4.4.67","v4.4.66","v4.4.65","v4.4.64","v4.4.63","v4.4.62","v4.4.61","v4.4.60","v4.4.59","v4.4.58","v4.4.57","v4.4.56","v4.4.55","v4.4.54","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.9.54","v4.9.53","v4.9.52","v4.9.51","v4.9.50","v4.9.49","v4.9.48","v4.9.47","v4.9.46","v4.9.45","v4.9.44","v4.9.43","v4.9.42","v4.9.41","v4.9.40","v4.9.39","v4.9.38","v4.9.37","v4.9.36","v4.9.35","v4.9.34","v4.9.33","v4.9.32","v4.9.31","v4.9.30","v4.9.29","v4.9.28","v4.9.27","v4.9.26","v4.9.25","v4.9.24","v4.9.23","v4.9.22","v4.9.21","v4.9.20","v4.9.19","v4.9.18","v4.9.17","v4.9.16","v4.9.15","v4.10.17","v4.10.16","v4.10.15","v4.10.14","v4.10.13","v4.10.12","v4.10.11","v4.10.10","v4.10.9","v4.10.8","v4.10.7","v4.10.6","v4.10.5","v4.10.4","v4.10.3"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-98984.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.1.40"},{"fixed":"4.2"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.4.54"},{"fixed":"4.5"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.9.15"},{"fixed":"4.10"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.10.3"},{"fixed":"4.11"}]},{"type":"ECOSYSTEM","events":[{"introduced":"4.11.0"},{"fixed":"5.10.273"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.224"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.191"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.160"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.113"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.57"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.11"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-98984.json"}}],"schema_version":"1.9.2"}