{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init\n\nADF_STATUS_PF_RUNNING is (only) used and checked by adf_vf2pf_shutdown()\nbefore calling adf_iov_putmsg()->mutex_lock(vf2pf_lock), however the\nvf2pf_lock is initialized in adf_dev_init(), which can fail and when it\nfail, the vf2pf_lock is either not initialized or destroyed, a subsequent\nuse of vf2pf_lock will cause issue.\nTo fix this issue, only set this flag if adf_dev_init() returns 0.\n\n[    7.178404] BUG: KASAN: user-memory-access in __mutex_lock.isra.0+0x1ac/0x7c0\n[    7.180345] Call Trace:\n[    7.182576]  mutex_lock+0xc9/0xd0\n[    7.183257]  adf_iov_putmsg+0x118/0x1a0 [intel_qat]\n[    7.183541]  adf_vf2pf_shutdown+0x4d/0x7b [intel_qat]\n[    7.183834]  adf_dev_shutdown+0x172/0x2b0 [intel_qat]\n[    7.184127]  adf_probe+0x5e9/0x600 [qat_dh895xccvf]"
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "drivers/crypto/qat/qat_c3xxxvf/adf_drv.c",
                  "drivers/crypto/qat/qat_c62xvf/adf_drv.c",
                  "drivers/crypto/qat/qat_dh895xccvf/adf_drv.c"
               ],
               "versions": [
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "f4c4e0714068",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "446045cf682a",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "09d16cee6285",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "05ec8192ee4b",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "1f50392650ae",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "20fd40fc6f2c",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "1ea500ce6f7c",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "25c6ffb249f6",
                     "lessThan": "8609f5cfdc87",
                     "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/crypto/qat/qat_c3xxxvf/adf_drv.c",
                  "drivers/crypto/qat/qat_c62xvf/adf_drv.c",
                  "drivers/crypto/qat/qat_dh895xccvf/adf_drv.c"
               ],
               "versions": [
                  {
                     "version": "4.7",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "4.7",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.9.269",
                     "lessThanOrEqual": "4.9.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.14.233",
                     "lessThanOrEqual": "4.14.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "4.19.191",
                     "lessThanOrEqual": "4.19.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.4.119",
                     "lessThanOrEqual": "5.4.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.10.37",
                     "lessThanOrEqual": "5.10.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.11.21",
                     "lessThanOrEqual": "5.11.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.12.4",
                     "lessThanOrEqual": "5.12.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.13",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/f4c4e07140687f42bfa40e091bb4a55d7960ce4d"
            },
            {
               "url": "https://git.kernel.org/stable/c/446045cf682af12d9294765f6c46084b374b5654"
            },
            {
               "url": "https://git.kernel.org/stable/c/09d16cee6285d37cc76311c29add6d97a7e4acda"
            },
            {
               "url": "https://git.kernel.org/stable/c/05ec8192ee4bfdf2a8894a68350dac9f1a155fa6"
            },
            {
               "url": "https://git.kernel.org/stable/c/1f50392650ae794a1aea41c213c6a3e1c824413c"
            },
            {
               "url": "https://git.kernel.org/stable/c/20fd40fc6f2c2b41dc6f637f88d494b14e9c21f1"
            },
            {
               "url": "https://git.kernel.org/stable/c/1ea500ce6f7c9106e4a561d28e69215f3d451818"
            },
            {
               "url": "https://git.kernel.org/stable/c/8609f5cfdc872fc3a462efa6a3eca5cb1e2f6446"
            }
         ],
         "title": "crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init",
         "x_generator": {
            "engine": "bippy-a5840b7849dd"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2021-47056",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
