cve-2024-49866
Vulnerability from cvelistv5
Published
2024-10-21 18:01
Modified
2024-12-19 09:27
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: tracing/timerlat: Fix a race during cpuhp processing There is another found exception that the "timerlat/1" thread was scheduled on CPU0, and lead to timer corruption finally: ``` ODEBUG: init active (active state 0) object: ffff888237c2e108 object type: hrtimer hint: timerlat_irq+0x0/0x220 WARNING: CPU: 0 PID: 426 at lib/debugobjects.c:518 debug_print_object+0x7d/0xb0 Modules linked in: CPU: 0 UID: 0 PID: 426 Comm: timerlat/1 Not tainted 6.11.0-rc7+ #45 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:debug_print_object+0x7d/0xb0 ... Call Trace: <TASK> ? __warn+0x7c/0x110 ? debug_print_object+0x7d/0xb0 ? report_bug+0xf1/0x1d0 ? prb_read_valid+0x17/0x20 ? handle_bug+0x3f/0x70 ? exc_invalid_op+0x13/0x60 ? asm_exc_invalid_op+0x16/0x20 ? debug_print_object+0x7d/0xb0 ? debug_print_object+0x7d/0xb0 ? __pfx_timerlat_irq+0x10/0x10 __debug_object_init+0x110/0x150 hrtimer_init+0x1d/0x60 timerlat_main+0xab/0x2d0 ? __pfx_timerlat_main+0x10/0x10 kthread+0xb7/0xe0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x2d/0x40 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK> ``` After tracing the scheduling event, it was discovered that the migration of the "timerlat/1" thread was performed during thread creation. Further analysis confirmed that it is because the CPU online processing for osnoise is implemented through workers, which is asynchronous with the offline processing. When the worker was scheduled to create a thread, the CPU may has already been removed from the cpu_online_mask during the offline process, resulting in the inability to select the right CPU: T1 | T2 [CPUHP_ONLINE] | cpu_device_down() osnoise_hotplug_workfn() | | cpus_write_lock() | takedown_cpu(1) | cpus_write_unlock() [CPUHP_OFFLINE] | cpus_read_lock() | start_kthread(1) | cpus_read_unlock() | To fix this, skip online processing if the CPU is already offline.
Impacted products
Vendor Product Version
Linux Linux Version: c8895e271f7994a3ecb13b8a280e39aa53879545
Version: c8895e271f7994a3ecb13b8a280e39aa53879545
Version: c8895e271f7994a3ecb13b8a280e39aa53879545
Version: c8895e271f7994a3ecb13b8a280e39aa53879545
Version: c8895e271f7994a3ecb13b8a280e39aa53879545
Version: c8895e271f7994a3ecb13b8a280e39aa53879545
Create a notification for this product.
   Linux Linux Version: 5.14
Create a notification for this product.
Show details on NVD website


{
   containers: {
      adp: [
         {
            metrics: [
               {
                  other: {
                     content: {
                        id: "CVE-2024-49866",
                        options: [
                           {
                              Exploitation: "none",
                           },
                           {
                              Automatable: "no",
                           },
                           {
                              "Technical Impact": "partial",
                           },
                        ],
                        role: "CISA Coordinator",
                        timestamp: "2024-10-22T13:47:35.638203Z",
                        version: "2.0.3",
                     },
                     type: "ssvc",
                  },
               },
            ],
            providerMetadata: {
               dateUpdated: "2024-10-22T13:48:52.640Z",
               orgId: "134c704f-9b21-4f2e-91b3-4a467353bcc0",
               shortName: "CISA-ADP",
            },
            title: "CISA ADP Vulnrichment",
         },
      ],
      cna: {
         affected: [
            {
               defaultStatus: "unaffected",
               product: "Linux",
               programFiles: [
                  "kernel/trace/trace_osnoise.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     lessThan: "322920b53dc11f9c2b33397eb3ae5bc6a175b60d",
                     status: "affected",
                     version: "c8895e271f7994a3ecb13b8a280e39aa53879545",
                     versionType: "git",
                  },
                  {
                     lessThan: "ce25f33ba89d6eefef64157655d318444580fa14",
                     status: "affected",
                     version: "c8895e271f7994a3ecb13b8a280e39aa53879545",
                     versionType: "git",
                  },
                  {
                     lessThan: "a6e9849063a6c8f4cb2f652a437e44e3ed24356c",
                     status: "affected",
                     version: "c8895e271f7994a3ecb13b8a280e39aa53879545",
                     versionType: "git",
                  },
                  {
                     lessThan: "a0d9c0cd5856191e095cf43a2e141b73945b7716",
                     status: "affected",
                     version: "c8895e271f7994a3ecb13b8a280e39aa53879545",
                     versionType: "git",
                  },
                  {
                     lessThan: "f72b451dc75578f644a3019c1489e9ae2c14e6c4",
                     status: "affected",
                     version: "c8895e271f7994a3ecb13b8a280e39aa53879545",
                     versionType: "git",
                  },
                  {
                     lessThan: "829e0c9f0855f26b3ae830d17b24aec103f7e915",
                     status: "affected",
                     version: "c8895e271f7994a3ecb13b8a280e39aa53879545",
                     versionType: "git",
                  },
               ],
            },
            {
               defaultStatus: "affected",
               product: "Linux",
               programFiles: [
                  "kernel/trace/trace_osnoise.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     status: "affected",
                     version: "5.14",
                  },
                  {
                     lessThan: "5.14",
                     status: "unaffected",
                     version: "0",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "5.15.*",
                     status: "unaffected",
                     version: "5.15.168",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.1.*",
                     status: "unaffected",
                     version: "6.1.113",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.6.*",
                     status: "unaffected",
                     version: "6.6.55",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.10.*",
                     status: "unaffected",
                     version: "6.10.14",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.11.*",
                     status: "unaffected",
                     version: "6.11.3",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "*",
                     status: "unaffected",
                     version: "6.12",
                     versionType: "original_commit_for_fix",
                  },
               ],
            },
         ],
         descriptions: [
            {
               lang: "en",
               value: "In the Linux kernel, the following vulnerability has been resolved:\n\ntracing/timerlat: Fix a race during cpuhp processing\n\nThere is another found exception that the \"timerlat/1\" thread was\nscheduled on CPU0, and lead to timer corruption finally:\n\n```\nODEBUG: init active (active state 0) object: ffff888237c2e108 object type: hrtimer hint: timerlat_irq+0x0/0x220\nWARNING: CPU: 0 PID: 426 at lib/debugobjects.c:518 debug_print_object+0x7d/0xb0\nModules linked in:\nCPU: 0 UID: 0 PID: 426 Comm: timerlat/1 Not tainted 6.11.0-rc7+ #45\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014\nRIP: 0010:debug_print_object+0x7d/0xb0\n...\nCall Trace:\n <TASK>\n ? __warn+0x7c/0x110\n ? debug_print_object+0x7d/0xb0\n ? report_bug+0xf1/0x1d0\n ? prb_read_valid+0x17/0x20\n ? handle_bug+0x3f/0x70\n ? exc_invalid_op+0x13/0x60\n ? asm_exc_invalid_op+0x16/0x20\n ? debug_print_object+0x7d/0xb0\n ? debug_print_object+0x7d/0xb0\n ? __pfx_timerlat_irq+0x10/0x10\n __debug_object_init+0x110/0x150\n hrtimer_init+0x1d/0x60\n timerlat_main+0xab/0x2d0\n ? __pfx_timerlat_main+0x10/0x10\n kthread+0xb7/0xe0\n ? __pfx_kthread+0x10/0x10\n ret_from_fork+0x2d/0x40\n ? __pfx_kthread+0x10/0x10\n ret_from_fork_asm+0x1a/0x30\n </TASK>\n```\n\nAfter tracing the scheduling event, it was discovered that the migration\nof the \"timerlat/1\" thread was performed during thread creation. Further\nanalysis confirmed that it is because the CPU online processing for\nosnoise is implemented through workers, which is asynchronous with the\noffline processing. When the worker was scheduled to create a thread, the\nCPU may has already been removed from the cpu_online_mask during the offline\nprocess, resulting in the inability to select the right CPU:\n\nT1                       | T2\n[CPUHP_ONLINE]           | cpu_device_down()\nosnoise_hotplug_workfn() |\n                         |     cpus_write_lock()\n                         |     takedown_cpu(1)\n                         |     cpus_write_unlock()\n[CPUHP_OFFLINE]          |\n    cpus_read_lock()     |\n    start_kthread(1)     |\n    cpus_read_unlock()   |\n\nTo fix this, skip online processing if the CPU is already offline.",
            },
         ],
         providerMetadata: {
            dateUpdated: "2024-12-19T09:27:52.057Z",
            orgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            shortName: "Linux",
         },
         references: [
            {
               url: "https://git.kernel.org/stable/c/322920b53dc11f9c2b33397eb3ae5bc6a175b60d",
            },
            {
               url: "https://git.kernel.org/stable/c/ce25f33ba89d6eefef64157655d318444580fa14",
            },
            {
               url: "https://git.kernel.org/stable/c/a6e9849063a6c8f4cb2f652a437e44e3ed24356c",
            },
            {
               url: "https://git.kernel.org/stable/c/a0d9c0cd5856191e095cf43a2e141b73945b7716",
            },
            {
               url: "https://git.kernel.org/stable/c/f72b451dc75578f644a3019c1489e9ae2c14e6c4",
            },
            {
               url: "https://git.kernel.org/stable/c/829e0c9f0855f26b3ae830d17b24aec103f7e915",
            },
         ],
         title: "tracing/timerlat: Fix a race during cpuhp processing",
         x_generator: {
            engine: "bippy-5f407fcff5a0",
         },
      },
   },
   cveMetadata: {
      assignerOrgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      assignerShortName: "Linux",
      cveId: "CVE-2024-49866",
      datePublished: "2024-10-21T18:01:09.284Z",
      dateReserved: "2024-10-21T12:17:06.018Z",
      dateUpdated: "2024-12-19T09:27:52.057Z",
      state: "PUBLISHED",
   },
   dataType: "CVE_RECORD",
   dataVersion: "5.1",
   "vulnerability-lookup:meta": {
      nvd: "{\"cve\":{\"id\":\"CVE-2024-49866\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-10-21T18:15:06.330\",\"lastModified\":\"2024-11-20T15:56:07.807\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntracing/timerlat: Fix a race during cpuhp processing\\n\\nThere is another found exception that the \\\"timerlat/1\\\" thread was\\nscheduled on CPU0, and lead to timer corruption finally:\\n\\n```\\nODEBUG: init active (active state 0) object: ffff888237c2e108 object type: hrtimer hint: timerlat_irq+0x0/0x220\\nWARNING: CPU: 0 PID: 426 at lib/debugobjects.c:518 debug_print_object+0x7d/0xb0\\nModules linked in:\\nCPU: 0 UID: 0 PID: 426 Comm: timerlat/1 Not tainted 6.11.0-rc7+ #45\\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014\\nRIP: 0010:debug_print_object+0x7d/0xb0\\n...\\nCall Trace:\\n <TASK>\\n ? __warn+0x7c/0x110\\n ? debug_print_object+0x7d/0xb0\\n ? report_bug+0xf1/0x1d0\\n ? prb_read_valid+0x17/0x20\\n ? handle_bug+0x3f/0x70\\n ? exc_invalid_op+0x13/0x60\\n ? asm_exc_invalid_op+0x16/0x20\\n ? debug_print_object+0x7d/0xb0\\n ? debug_print_object+0x7d/0xb0\\n ? __pfx_timerlat_irq+0x10/0x10\\n __debug_object_init+0x110/0x150\\n hrtimer_init+0x1d/0x60\\n timerlat_main+0xab/0x2d0\\n ? __pfx_timerlat_main+0x10/0x10\\n kthread+0xb7/0xe0\\n ? __pfx_kthread+0x10/0x10\\n ret_from_fork+0x2d/0x40\\n ? __pfx_kthread+0x10/0x10\\n ret_from_fork_asm+0x1a/0x30\\n </TASK>\\n```\\n\\nAfter tracing the scheduling event, it was discovered that the migration\\nof the \\\"timerlat/1\\\" thread was performed during thread creation. Further\\nanalysis confirmed that it is because the CPU online processing for\\nosnoise is implemented through workers, which is asynchronous with the\\noffline processing. When the worker was scheduled to create a thread, the\\nCPU may has already been removed from the cpu_online_mask during the offline\\nprocess, resulting in the inability to select the right CPU:\\n\\nT1                       | T2\\n[CPUHP_ONLINE]           | cpu_device_down()\\nosnoise_hotplug_workfn() |\\n                         |     cpus_write_lock()\\n                         |     takedown_cpu(1)\\n                         |     cpus_write_unlock()\\n[CPUHP_OFFLINE]          |\\n    cpus_read_lock()     |\\n    start_kthread(1)     |\\n    cpus_read_unlock()   |\\n\\nTo fix this, skip online processing if the CPU is already offline.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tracing/timerlat: corrige una ejecución durante el procesamiento de cpuhp. Se encontró otra excepción: el hilo \\\"timerlat/1\\\" se programó en CPU0 y finalmente provocó la corrupción del temporizador: ``` ODEBUG: init active (active state 0) object: ffff888237c2e108 object type: hrtimer hint: timerlat_irq+0x0/0x220 WARNING: CPU: 0 PID: 426 at lib/debugobjects.c:518 debug_print_object+0x7d/0xb0 Módulos vinculados: CPU: 0 UID: 0 PID: 426 Comm: timerlat/1 No contaminado 6.11.0-rc7+ #45 Nombre del hardware: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 01/04/2014 RIP: 0010:debug_print_object+0x7d/0xb0 ... Seguimiento de llamadas:  ? __warn+0x7c/0x110 ? debug_print_object+0x7d/0xb0 ? report_bug+0xf1/0x1d0 ? prb_read_valid+0x17/0x20 ? handle_bug+0x3f/0x70 ? exc_invalid_op+0x13/0x60 ? asm_exc_invalid_op+0x16/0x20 ? debug_print_object+0x7d/0xb0 ? debug_print_object+0x7d/0xb0 ? ``` Después de rastrear el evento de programación, se descubrió que la migración del hilo \\\"timerlat/1\\\" se realizó durante la creación del hilo. Un análisis posterior confirmó que esto se debe a que el procesamiento en línea de la CPU para osnoise se implementa a través de trabajadores, que es asincrónico con el procesamiento fuera de línea. Cuando se programó el trabajador para crear un hilo, es posible que la CPU ya se haya eliminado de cpu_online_mask durante el proceso fuera de línea, lo que da como resultado la imposibilidad de seleccionar la CPU correcta: T1 | T2 [CPUHP_ONLINE] | cpu_device_down() osnoise_hotplug_workfn() | | cpus_write_lock() | takedown_cpu(1) | cpus_write_unlock() [CPUHP_OFFLINE] | cpus_read_lock() | start_kthread(1) | cpus_read_unlock() | Para solucionar esto, omita el procesamiento en línea si la CPU ya está fuera de línea.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":4.7,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.0,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-362\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.14\",\"versionEndExcluding\":\"5.15.168\",\"matchCriteriaId\":\"5CD3CB21-008A-4AF9-9337-0FF92043AE5E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.113\",\"matchCriteriaId\":\"D01BD22E-ACD1-4618-9D01-6116570BE1EE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.55\",\"matchCriteriaId\":\"E90B9576-56C4-47BC-AAB0-C5B2D438F5D0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.10.14\",\"matchCriteriaId\":\"4C16BCE0-FFA0-4599-BE0A-1FD65101C021\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.11\",\"versionEndExcluding\":\"6.11.3\",\"matchCriteriaId\":\"54D9C704-D679-41A7-9C40-10A6B1E7FFE9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"7F361E1D-580F-4A2D-A509-7615F73167A1\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/322920b53dc11f9c2b33397eb3ae5bc6a175b60d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/829e0c9f0855f26b3ae830d17b24aec103f7e915\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a0d9c0cd5856191e095cf43a2e141b73945b7716\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a6e9849063a6c8f4cb2f652a437e44e3ed24356c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ce25f33ba89d6eefef64157655d318444580fa14\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/f72b451dc75578f644a3019c1489e9ae2c14e6c4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
      vulnrichment: {
         containers: "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-49866\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-10-22T13:47:35.638203Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-10-22T13:47:38.748Z\"}}], \"cna\": {\"title\": \"tracing/timerlat: Fix a race during cpuhp processing\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"c8895e271f7994a3ecb13b8a280e39aa53879545\", \"lessThan\": \"322920b53dc11f9c2b33397eb3ae5bc6a175b60d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c8895e271f7994a3ecb13b8a280e39aa53879545\", \"lessThan\": \"ce25f33ba89d6eefef64157655d318444580fa14\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c8895e271f7994a3ecb13b8a280e39aa53879545\", \"lessThan\": \"a6e9849063a6c8f4cb2f652a437e44e3ed24356c\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c8895e271f7994a3ecb13b8a280e39aa53879545\", \"lessThan\": \"a0d9c0cd5856191e095cf43a2e141b73945b7716\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c8895e271f7994a3ecb13b8a280e39aa53879545\", \"lessThan\": \"f72b451dc75578f644a3019c1489e9ae2c14e6c4\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c8895e271f7994a3ecb13b8a280e39aa53879545\", \"lessThan\": \"829e0c9f0855f26b3ae830d17b24aec103f7e915\", \"versionType\": \"git\"}], \"programFiles\": [\"kernel/trace/trace_osnoise.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.14\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.14\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.168\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.113\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.55\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10.14\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.10.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11.3\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.11.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"kernel/trace/trace_osnoise.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/322920b53dc11f9c2b33397eb3ae5bc6a175b60d\"}, {\"url\": \"https://git.kernel.org/stable/c/ce25f33ba89d6eefef64157655d318444580fa14\"}, {\"url\": \"https://git.kernel.org/stable/c/a6e9849063a6c8f4cb2f652a437e44e3ed24356c\"}, {\"url\": \"https://git.kernel.org/stable/c/a0d9c0cd5856191e095cf43a2e141b73945b7716\"}, {\"url\": \"https://git.kernel.org/stable/c/f72b451dc75578f644a3019c1489e9ae2c14e6c4\"}, {\"url\": \"https://git.kernel.org/stable/c/829e0c9f0855f26b3ae830d17b24aec103f7e915\"}], \"x_generator\": {\"engine\": \"bippy-5f407fcff5a0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntracing/timerlat: Fix a race during cpuhp processing\\n\\nThere is another found exception that the \\\"timerlat/1\\\" thread was\\nscheduled on CPU0, and lead to timer corruption finally:\\n\\n```\\nODEBUG: init active (active state 0) object: ffff888237c2e108 object type: hrtimer hint: timerlat_irq+0x0/0x220\\nWARNING: CPU: 0 PID: 426 at lib/debugobjects.c:518 debug_print_object+0x7d/0xb0\\nModules linked in:\\nCPU: 0 UID: 0 PID: 426 Comm: timerlat/1 Not tainted 6.11.0-rc7+ #45\\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014\\nRIP: 0010:debug_print_object+0x7d/0xb0\\n...\\nCall Trace:\\n <TASK>\\n ? __warn+0x7c/0x110\\n ? debug_print_object+0x7d/0xb0\\n ? report_bug+0xf1/0x1d0\\n ? prb_read_valid+0x17/0x20\\n ? handle_bug+0x3f/0x70\\n ? exc_invalid_op+0x13/0x60\\n ? asm_exc_invalid_op+0x16/0x20\\n ? debug_print_object+0x7d/0xb0\\n ? debug_print_object+0x7d/0xb0\\n ? __pfx_timerlat_irq+0x10/0x10\\n __debug_object_init+0x110/0x150\\n hrtimer_init+0x1d/0x60\\n timerlat_main+0xab/0x2d0\\n ? __pfx_timerlat_main+0x10/0x10\\n kthread+0xb7/0xe0\\n ? __pfx_kthread+0x10/0x10\\n ret_from_fork+0x2d/0x40\\n ? __pfx_kthread+0x10/0x10\\n ret_from_fork_asm+0x1a/0x30\\n </TASK>\\n```\\n\\nAfter tracing the scheduling event, it was discovered that the migration\\nof the \\\"timerlat/1\\\" thread was performed during thread creation. Further\\nanalysis confirmed that it is because the CPU online processing for\\nosnoise is implemented through workers, which is asynchronous with the\\noffline processing. When the worker was scheduled to create a thread, the\\nCPU may has already been removed from the cpu_online_mask during the offline\\nprocess, resulting in the inability to select the right CPU:\\n\\nT1                       | T2\\n[CPUHP_ONLINE]           | cpu_device_down()\\nosnoise_hotplug_workfn() |\\n                         |     cpus_write_lock()\\n                         |     takedown_cpu(1)\\n                         |     cpus_write_unlock()\\n[CPUHP_OFFLINE]          |\\n    cpus_read_lock()     |\\n    start_kthread(1)     |\\n    cpus_read_unlock()   |\\n\\nTo fix this, skip online processing if the CPU is already offline.\"}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2024-12-19T09:27:52.057Z\"}}}",
         cveMetadata: "{\"cveId\": \"CVE-2024-49866\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-12-19T09:27:52.057Z\", \"dateReserved\": \"2024-10-21T12:17:06.018Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-10-21T18:01:09.284Z\", \"assignerShortName\": \"Linux\"}",
         dataType: "CVE_RECORD",
         dataVersion: "5.1",
      },
   },
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.