{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test()\n\nCommit a3c1e45156ad (\"net: microchip: vcap: Fix use-after-free error in\nkunit test\") fixed the use-after-free error, but introduced below\nmemory leaks by removing necessary vcap_free_rule(), add it to fix it.\n\n\tunreferenced object 0xffffff80ca58b700 (size 192):\n\t  comm \"kunit_try_catch\", pid 1215, jiffies 4294898264\n\t  hex dump (first 32 bytes):\n\t    00 12 7a 00 05 00 00 00 0a 00 00 00 64 00 00 00  ..z.........d...\n\t    00 00 00 00 00 00 00 00 00 04 0b cc 80 ff ff ff  ................\n\t  backtrace (crc 9c09c3fe):\n\t    [<0000000052a0be73>] kmemleak_alloc+0x34/0x40\n\t    [<0000000043605459>] __kmalloc_cache_noprof+0x26c/0x2f4\n\t    [<0000000040a01b8d>] vcap_alloc_rule+0x3cc/0x9c4\n\t    [<000000003fe86110>] vcap_api_encode_rule_test+0x1ac/0x16b0\n\t    [<00000000b3595fc4>] kunit_try_run_case+0x13c/0x3ac\n\t    [<0000000010f5d2bf>] kunit_generic_run_threadfn_adapter+0x80/0xec\n\t    [<00000000c5d82c9a>] kthread+0x2e8/0x374\n\t    [<00000000f4287308>] ret_from_fork+0x10/0x20\n\tunreferenced object 0xffffff80cc0b0400 (size 64):\n\t  comm \"kunit_try_catch\", pid 1215, jiffies 4294898265\n\t  hex dump (first 32 bytes):\n\t    80 04 0b cc 80 ff ff ff 18 b7 58 ca 80 ff ff ff  ..........X.....\n\t    39 00 00 00 02 00 00 00 06 05 04 03 02 01 ff ff  9...............\n\t  backtrace (crc daf014e9):\n\t    [<0000000052a0be73>] kmemleak_alloc+0x34/0x40\n\t    [<0000000043605459>] __kmalloc_cache_noprof+0x26c/0x2f4\n\t    [<000000000ff63fd4>] vcap_rule_add_key+0x2cc/0x528\n\t    [<00000000dfdb1e81>] vcap_api_encode_rule_test+0x224/0x16b0\n\t    [<00000000b3595fc4>] kunit_try_run_case+0x13c/0x3ac\n\t    [<0000000010f5d2bf>] kunit_generic_run_threadfn_adapter+0x80/0xec\n\t    [<00000000c5d82c9a>] kthread+0x2e8/0x374\n\t    [<00000000f4287308>] ret_from_fork+0x10/0x20\n\tunreferenced object 0xffffff80cc0b0700 (size 64):\n\t  comm \"kunit_try_catch\", pid 1215, jiffies 4294898265\n\t  hex dump (first 32 bytes):\n\t    80 07 0b cc 80 ff ff ff 28 b7 58 ca 80 ff ff ff  ........(.X.....\n\t    3c 00 00 00 00 00 00 00 01 2f 03 b3 ec ff ff ff  <......../......\n\t  backtrace (crc 8d877792):\n\t    [<0000000052a0be73>] kmemleak_alloc+0x34/0x40\n\t    [<0000000043605459>] __kmalloc_cache_noprof+0x26c/0x2f4\n\t    [<000000006eadfab7>] vcap_rule_add_action+0x2d0/0x52c\n\t    [<00000000323475d1>] vcap_api_encode_rule_test+0x4d4/0x16b0\n\t    [<00000000b3595fc4>] kunit_try_run_case+0x13c/0x3ac\n\t    [<0000000010f5d2bf>] kunit_generic_run_threadfn_adapter+0x80/0xec\n\t    [<00000000c5d82c9a>] kthread+0x2e8/0x374\n\t    [<00000000f4287308>] ret_from_fork+0x10/0x20\n\tunreferenced object 0xffffff80cc0b0900 (size 64):\n\t  comm \"kunit_try_catch\", pid 1215, jiffies 4294898266\n\t  hex dump (first 32 bytes):\n\t    80 09 0b cc 80 ff ff ff 80 06 0b cc 80 ff ff ff  ................\n\t    7d 00 00 00 01 00 00 00 00 00 00 00 ff 00 00 00  }...............\n\t  backtrace (crc 34181e56):\n\t    [<0000000052a0be73>] kmemleak_alloc+0x34/0x40\n\t    [<0000000043605459>] __kmalloc_cache_noprof+0x26c/0x2f4\n\t    [<000000000ff63fd4>] vcap_rule_add_key+0x2cc/0x528\n\t    [<00000000991e3564>] vcap_val_rule+0xcf0/0x13e8\n\t    [<00000000fc9868e5>] vcap_api_encode_rule_test+0x678/0x16b0\n\t    [<00000000b3595fc4>] kunit_try_run_case+0x13c/0x3ac\n\t    [<0000000010f5d2bf>] kunit_generic_run_threadfn_adapter+0x80/0xec\n\t    [<00000000c5d82c9a>] kthread+0x2e8/0x374\n\t    [<00000000f4287308>] ret_from_fork+0x10/0x20\n\tunreferenced object 0xffffff80cc0b0980 (size 64):\n\t  comm \"kunit_try_catch\", pid 1215, jiffies 4294898266\n\t  hex dump (first 32 bytes):\n\t    18 b7 58 ca 80 ff ff ff 00 09 0b cc 80 ff ff ff  ..X.............\n\t    67 00 00 00 00 00 00 00 01 01 74 88 c0 ff ff ff  g.........t.....\n\t  backtrace (crc 275fd9be):\n\t    [<0000000052a0be73>] kmemleak_alloc+0x34/0x40\n\t    [<0000000043605459>] __kmalloc_cache_noprof+0x26c/0x2f4\n\t    [<000000000ff63fd4>] vcap_rule_add_key+0x2cc/0x528\n\t    [<000000001396a1a2>] test_add_de\n---truncated---"
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c"
               ],
               "versions": [
                  {
                     "version": "b0804c286ccf",
                     "lessThan": "20b5342de51b",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "a3c1e45156ad",
                     "lessThan": "170792097bb2",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "a3c1e45156ad",
                     "lessThan": "217a3d98d1e9",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c"
               ],
               "versions": [
                  {
                     "version": "6.11",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "6.11",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.6.58",
                     "lessThanOrEqual": "6.6.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.11.5",
                     "lessThanOrEqual": "6.11.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.12-rc4",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/20b5342de51bda794791e013b90754774003a515"
            },
            {
               "url": "https://git.kernel.org/stable/c/170792097bb21e5da77443b6a03d35489813eabe"
            },
            {
               "url": "https://git.kernel.org/stable/c/217a3d98d1e9891a8b1438a27dfbc64ddf01f691"
            }
         ],
         "title": "net: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test()",
         "x_generator": {
            "engine": "bippy-c9c4e1df01b2"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2024-50084",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
