{"id":"CVE-2024-41023","state":"PUBLISHED","title":"sched/deadline: Fix task_struct reference leak","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched/deadline: Fix task_struct reference leak\n\nDuring the execution of the following stress test with linux-rt:\n\nstress-ng --cyclic 30 --timeout 30 --minimize --quiet\n\nkmemleak frequently reported a memory leak concerning the task_struct:\n\nunreferenced object 0xffff8881305b8000 (size 16136):\n  comm \"stress-ng\", pid 614, jiffies 4294883961 (age 286.412s)\n  object hex dump (first 32 bytes):\n    02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .@..............\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  debug hex dump (first 16 bytes):\n    53 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00  S...............\n  backtrace:\n    [<00000000046b6790>] dup_task_struct+0x30/0x540\n    [<00000000c5ca0f0b>] copy_process+0x3d9/0x50e0\n    [<00000000ced59777>] kernel_clone+0xb0/0x770\n    [<00000000a50befdc>] __do_sys_clone+0xb6/0xf0\n    [<000000001dbf2008>] do_syscall_64+0x5d/0xf0\n    [<00000000552900ff>] entry_SYSCALL_64_after_hwframe+0x6e/0x76\n\nThe issue occurs in start_dl_timer(), which increments the task_struct\nreference count and sets a timer. The timer callback, dl_task_timer,\nis supposed to decrement the reference count upon expiration. However,\nif enqueue_task_dl() is called before the timer expires and cancels it,\nthe reference count is not decremented, leading to the leak.\n\nThis patch fixes the reference leak by ensuring the task_struct\nreference count is properly decremented when the timer is canceled.","publishedAt":"2024-07-29T14:31:40.439Z","updatedAt":"2026-10-30T12:18:42.240Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"8acaaeb484097f46c93bb6c3f836d1c1c07fcbdc","versionType":"git"},{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"f8005214946fd1d9fefdeff19c6ce46d60de2cef","versionType":"git"},{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"7a54d31face626f62de415ebe77b43f76c3ffaf4","versionType":"git"},{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"b58652db66c910c2245f5bee7deca41c12d707b9","versionType":"git"},{"version":"f0e1c1d8ff908a39dd42e723d08f104505dfa601","status":"affected","versionType":"git"},{"version":"184c8ab5342450c4ae6fc5d937f9bb06c620dcf1","status":"affected","versionType":"git"},{"version":"4.19.257","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.212","status":"affected","lessThan":"5.5","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/sched/deadline.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.10","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/sched/deadline.c"]}],"references":["https://git.kernel.org/stable/c/8acaaeb484097f46c93bb6c3f836d1c1c07fcbdc","https://git.kernel.org/stable/c/f8005214946fd1d9fefdeff19c6ce46d60de2cef","https://git.kernel.org/stable/c/7a54d31face626f62de415ebe77b43f76c3ffaf4","https://git.kernel.org/stable/c/b58652db66c910c2245f5bee7deca41c12d707b9"],"weaknesses":[],"ingestedAt":"2026-10-30T12:34:06.950Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/41xxx/CVE-2024-41023.json","commit":"db8103c5921aac81d5d90efcf3745980dafabf49","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-41023","state":"PUBLISHED","datePublished":"2024-07-29T14:31:40.439Z","dateUpdated":"2026-10-30T12:18:42.240Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-12T12:17:45.615Z"},"containers":{"cna":{"title":"sched/deadline: Fix task_struct reference leak","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched/deadline: Fix task_struct reference leak\n\nDuring the execution of the following stress test with linux-rt:\n\nstress-ng --cyclic 30 --timeout 30 --minimize --quiet\n\nkmemleak frequently reported a memory leak concerning the task_struct:\n\nunreferenced object 0xffff8881305b8000 (size 16136):\n  comm \"stress-ng\", pid 614, jiffies 4294883961 (age 286.412s)\n  object hex dump (first 32 bytes):\n    02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .@..............\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  debug hex dump (first 16 bytes):\n    53 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00  S...............\n  backtrace:\n    [<00000000046b6790>] dup_task_struct+0x30/0x540\n    [<00000000c5ca0f0b>] copy_process+0x3d9/0x50e0\n    [<00000000ced59777>] kernel_clone+0xb0/0x770\n    [<00000000a50befdc>] __do_sys_clone+0xb6/0xf0\n    [<000000001dbf2008>] do_syscall_64+0x5d/0xf0\n    [<00000000552900ff>] entry_SYSCALL_64_after_hwframe+0x6e/0x76\n\nThe issue occurs in start_dl_timer(), which increments the task_struct\nreference count and sets a timer. The timer callback, dl_task_timer,\nis supposed to decrement the reference count upon expiration. However,\nif enqueue_task_dl() is called before the timer expires and cancels it,\nthe reference count is not decremented, leading to the leak.\n\nThis patch fixes the reference leak by ensuring the task_struct\nreference count is properly decremented when the timer is canceled."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"8acaaeb484097f46c93bb6c3f836d1c1c07fcbdc","versionType":"git"},{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"f8005214946fd1d9fefdeff19c6ce46d60de2cef","versionType":"git"},{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"7a54d31face626f62de415ebe77b43f76c3ffaf4","versionType":"git"},{"version":"feff2e65efd8d84cf831668e182b2ce73c604bbb","status":"affected","lessThan":"b58652db66c910c2245f5bee7deca41c12d707b9","versionType":"git"},{"version":"f0e1c1d8ff908a39dd42e723d08f104505dfa601","status":"affected","versionType":"git"},{"version":"184c8ab5342450c4ae6fc5d937f9bb06c620dcf1","status":"affected","versionType":"git"},{"version":"4.19.257","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.212","status":"affected","lessThan":"5.5","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/sched/deadline.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.10","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/sched/deadline.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/8acaaeb484097f46c93bb6c3f836d1c1c07fcbdc"},{"url":"https://git.kernel.org/stable/c/f8005214946fd1d9fefdeff19c6ce46d60de2cef"},{"url":"https://git.kernel.org/stable/c/7a54d31face626f62de415ebe77b43f76c3ffaf4"},{"url":"https://git.kernel.org/stable/c/b58652db66c910c2245f5bee7deca41c12d707b9"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:18:42.240Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.9.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.257"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.212"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/7a54d31face626f62de415ebe77b43f76c3ffaf4","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/b58652db66c910c2245f5bee7deca41c12d707b9","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T04:39:56.070Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-41023","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T16:24:19.073103Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:34:04.883Z"}}]}}}