CVE-2022-49830 (GCVE-0-2022-49830)
Vulnerability from cvelistv5
Published
2025-05-01 14:09
Modified
2025-05-04 08:46
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/drv: Fix potential memory leak in drm_dev_init() drm_dev_init() will add drm_dev_init_release() as a callback. When drmm_add_action() failed, the release function won't be added. As the result, the ref cnt added by device_get() in drm_dev_init() won't be put by drm_dev_init_release(), which leads to the memleak. Use drmm_add_action_or_reset() instead of drmm_add_action() to prevent memleak. unreferenced object 0xffff88810bc0c800 (size 2048): comm "modprobe", pid 8322, jiffies 4305809845 (age 15.292s) hex dump (first 32 bytes): e8 cc c0 0b 81 88 ff ff ff ff ff ff 00 00 00 00 ................ 20 24 3c 0c 81 88 ff ff 18 c8 c0 0b 81 88 ff ff $<............. backtrace: [<000000007251f72d>] __kmalloc+0x4b/0x1c0 [<0000000045f21f26>] platform_device_alloc+0x2d/0xe0 [<000000004452a479>] platform_device_register_full+0x24/0x1c0 [<0000000089f4ea61>] 0xffffffffa0736051 [<00000000235b2441>] do_one_initcall+0x7a/0x380 [<0000000001a4a177>] do_init_module+0x5c/0x230 [<000000002bf8a8e2>] load_module+0x227d/0x2420 [<00000000637d6d0a>] __do_sys_finit_module+0xd5/0x140 [<00000000c99fc324>] do_syscall_64+0x3f/0x90 [<000000004d85aa77>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
Impacted products
Vendor Product Version
Linux Linux Version: 2cbf7fc6718b9443ecd6261308c6348d8ffcccae
Version: 2cbf7fc6718b9443ecd6261308c6348d8ffcccae
Version: 2cbf7fc6718b9443ecd6261308c6348d8ffcccae
Version: 2cbf7fc6718b9443ecd6261308c6348d8ffcccae
Create a notification for this product.
   Linux Linux Version: 5.8
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/drm_drv.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c47a823ea186263ab69cfb665327b7f72cb5e779",
              "status": "affected",
              "version": "2cbf7fc6718b9443ecd6261308c6348d8ffcccae",
              "versionType": "git"
            },
            {
              "lessThan": "07e56de8766fe5be67252596244b84ac0ec0de91",
              "status": "affected",
              "version": "2cbf7fc6718b9443ecd6261308c6348d8ffcccae",
              "versionType": "git"
            },
            {
              "lessThan": "bd8d1335e6e70a396094ef98913b513140c0b86b",
              "status": "affected",
              "version": "2cbf7fc6718b9443ecd6261308c6348d8ffcccae",
              "versionType": "git"
            },
            {
              "lessThan": "ff963634f7b2e0dc011349abb3fb81a0d074f443",
              "status": "affected",
              "version": "2cbf7fc6718b9443ecd6261308c6348d8ffcccae",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/drm_drv.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.8"
            },
            {
              "lessThan": "5.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.156",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.80",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.156",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.80",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.10",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/drv: Fix potential memory leak in drm_dev_init()\n\ndrm_dev_init() will add drm_dev_init_release() as a callback. When\ndrmm_add_action() failed, the release function won\u0027t be added. As the\nresult, the ref cnt added by device_get() in drm_dev_init() won\u0027t be put\nby drm_dev_init_release(), which leads to the memleak. Use\ndrmm_add_action_or_reset() instead of drmm_add_action() to prevent\nmemleak.\n\nunreferenced object 0xffff88810bc0c800 (size 2048):\n  comm \"modprobe\", pid 8322, jiffies 4305809845 (age 15.292s)\n  hex dump (first 32 bytes):\n    e8 cc c0 0b 81 88 ff ff ff ff ff ff 00 00 00 00  ................\n    20 24 3c 0c 81 88 ff ff 18 c8 c0 0b 81 88 ff ff   $\u003c.............\n  backtrace:\n    [\u003c000000007251f72d\u003e] __kmalloc+0x4b/0x1c0\n    [\u003c0000000045f21f26\u003e] platform_device_alloc+0x2d/0xe0\n    [\u003c000000004452a479\u003e] platform_device_register_full+0x24/0x1c0\n    [\u003c0000000089f4ea61\u003e] 0xffffffffa0736051\n    [\u003c00000000235b2441\u003e] do_one_initcall+0x7a/0x380\n    [\u003c0000000001a4a177\u003e] do_init_module+0x5c/0x230\n    [\u003c000000002bf8a8e2\u003e] load_module+0x227d/0x2420\n    [\u003c00000000637d6d0a\u003e] __do_sys_finit_module+0xd5/0x140\n    [\u003c00000000c99fc324\u003e] do_syscall_64+0x3f/0x90\n    [\u003c000000004d85aa77\u003e] entry_SYSCALL_64_after_hwframe+0x63/0xcd"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T08:46:25.368Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c47a823ea186263ab69cfb665327b7f72cb5e779"
        },
        {
          "url": "https://git.kernel.org/stable/c/07e56de8766fe5be67252596244b84ac0ec0de91"
        },
        {
          "url": "https://git.kernel.org/stable/c/bd8d1335e6e70a396094ef98913b513140c0b86b"
        },
        {
          "url": "https://git.kernel.org/stable/c/ff963634f7b2e0dc011349abb3fb81a0d074f443"
        }
      ],
      "title": "drm/drv: Fix potential memory leak in drm_dev_init()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49830",
    "datePublished": "2025-05-01T14:09:48.918Z",
    "dateReserved": "2025-05-01T14:05:17.228Z",
    "dateUpdated": "2025-05-04T08:46:25.368Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49830\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-05-01T15:16:06.470\",\"lastModified\":\"2025-05-02T13:53:20.943\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/drv: Fix potential memory leak in drm_dev_init()\\n\\ndrm_dev_init() will add drm_dev_init_release() as a callback. When\\ndrmm_add_action() failed, the release function won\u0027t be added. As the\\nresult, the ref cnt added by device_get() in drm_dev_init() won\u0027t be put\\nby drm_dev_init_release(), which leads to the memleak. Use\\ndrmm_add_action_or_reset() instead of drmm_add_action() to prevent\\nmemleak.\\n\\nunreferenced object 0xffff88810bc0c800 (size 2048):\\n  comm \\\"modprobe\\\", pid 8322, jiffies 4305809845 (age 15.292s)\\n  hex dump (first 32 bytes):\\n    e8 cc c0 0b 81 88 ff ff ff ff ff ff 00 00 00 00  ................\\n    20 24 3c 0c 81 88 ff ff 18 c8 c0 0b 81 88 ff ff   $\u003c.............\\n  backtrace:\\n    [\u003c000000007251f72d\u003e] __kmalloc+0x4b/0x1c0\\n    [\u003c0000000045f21f26\u003e] platform_device_alloc+0x2d/0xe0\\n    [\u003c000000004452a479\u003e] platform_device_register_full+0x24/0x1c0\\n    [\u003c0000000089f4ea61\u003e] 0xffffffffa0736051\\n    [\u003c00000000235b2441\u003e] do_one_initcall+0x7a/0x380\\n    [\u003c0000000001a4a177\u003e] do_init_module+0x5c/0x230\\n    [\u003c000000002bf8a8e2\u003e] load_module+0x227d/0x2420\\n    [\u003c00000000637d6d0a\u003e] __do_sys_finit_module+0xd5/0x140\\n    [\u003c00000000c99fc324\u003e] do_syscall_64+0x3f/0x90\\n    [\u003c000000004d85aa77\u003e] entry_SYSCALL_64_after_hwframe+0x63/0xcd\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/drv: Se solucion\u00f3 una posible fuga de memoria en drm_dev_init(). drm_dev_init() a\u00f1adir\u00e1 drm_dev_init_release() como devoluci\u00f3n de llamada. Si drmm_add_action() falla, la funci\u00f3n de liberaci\u00f3n no se a\u00f1adir\u00e1. Como resultado, el valor de referencia a\u00f1adido por device_get() en drm_dev_init() no se incluir\u00e1 en drm_dev_init_release(), lo que provoca la fuga de memoria. Utilice drmm_add_action_or_reset() en lugar de drmm_add_action() para evitar la fuga de memoria. objeto sin referencia 0xffff88810bc0c800 (tama\u00f1o 2048): comm \\\"modprobe\\\", pid 8322, jiffies 4305809845 (antig\u00fcedad 15.292s) volcado hexadecimal (primeros 32 bytes): e8 cc c0 0b 81 88 ff ff ff ff ff ff ff 00 00 00 00 ................ 20 24 3c 0c 81 88 ff ff 18 c8 c0 0b 81 88 ff ff $\u0026lt;............. backtrace:  [\u0026lt;000000007251f72d\u0026gt;] __kmalloc+0x4b/0x1c0 [\u0026lt;0000000045f21f26\u0026gt;] platform_device_alloc+0x2d/0xe0 [\u0026lt;000000004452a479\u0026gt;] platform_device_register_full+0x24/0x1c0 [\u0026lt;0000000089f4ea61\u0026gt;] 0xffffffffa0736051 [\u0026lt;00000000235b2441\u0026gt;] do_one_initcall+0x7a/0x380 [\u0026lt;0000000001a4a177\u0026gt;] do_init_module+0x5c/0x230 [\u0026lt;000000002bf8a8e2\u0026gt;] load_module+0x227d/0x2420 [\u0026lt;00000000637d6d0a\u0026gt;] __do_sys_finit_module+0xd5/0x140 [\u0026lt;00000000c99fc324\u0026gt;] do_syscall_64+0x3f/0x90 [\u0026lt;000000004d85aa77\u0026gt;] entry_SYSCALL_64_after_hwframe+0x63/0xcd \"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/07e56de8766fe5be67252596244b84ac0ec0de91\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bd8d1335e6e70a396094ef98913b513140c0b86b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c47a823ea186263ab69cfb665327b7f72cb5e779\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff963634f7b2e0dc011349abb3fb81a0d074f443\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.


Loading…