{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblk-iocost: Fix an UBSAN shift-out-of-bounds warning\n\nWhen iocg_kick_delay() is called from a CPU different than the one which set\nthe delay, @now may be in the past of @iocg->delay_at leading to the\nfollowing warning:\n\n  UBSAN: shift-out-of-bounds in block/blk-iocost.c:1359:23\n  shift exponent 18446744073709 is too large for 64-bit type 'u64' (aka 'unsigned long long')\n  ...\n  Call Trace:\n   <TASK>\n   dump_stack_lvl+0x79/0xc0\n   __ubsan_handle_shift_out_of_bounds+0x2ab/0x300\n   iocg_kick_delay+0x222/0x230\n   ioc_rqos_merge+0x1d7/0x2c0\n   __rq_qos_merge+0x2c/0x80\n   bio_attempt_back_merge+0x83/0x190\n   blk_attempt_plug_merge+0x101/0x150\n   blk_mq_submit_bio+0x2b1/0x720\n   submit_bio_noacct_nocheck+0x320/0x3e0\n   __swap_writepage+0x2ab/0x9d0\n\nThe underflow itself doesn't really affect the behavior in any meaningful\nway; however, the past timestamp may exaggerate the delay amount calculated\nlater in the code, which shouldn't be a material problem given the nature of\nthe delay mechanism.\n\nIf @now is in the past, this CPU is racing another CPU which recently set up\nthe delay and there's nothing this CPU can contribute w.r.t. the delay.\nLet's bail early from iocg_kick_delay() in such cases."
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "versions": [
                  {
                     "version": "5160a5a53c0c",
                     "lessThan": "9f56f3833117",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5160a5a53c0c",
                     "lessThan": "1e4d3f8bd880",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5160a5a53c0c",
                     "lessThan": "e5dc63f01e02",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5160a5a53c0c",
                     "lessThan": "27b216130e64",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5160a5a53c0c",
                     "lessThan": "cd33b330cb21",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "5160a5a53c0c",
                     "lessThan": "2a427b49d029",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "versions": [
                  {
                     "version": "5.10",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "5.10",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.10.210",
                     "lessThanOrEqual": "5.10.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.15.149",
                     "lessThanOrEqual": "5.15.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.1.78",
                     "lessThanOrEqual": "6.1.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.6.17",
                     "lessThanOrEqual": "6.6.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.7.5",
                     "lessThanOrEqual": "6.7.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.8",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/9f56f38331171c9a19754004f0664686d67ee48d"
            },
            {
               "url": "https://git.kernel.org/stable/c/1e4d3f8bd880e02932a9ea179f90bfa74fd2e899"
            },
            {
               "url": "https://git.kernel.org/stable/c/e5dc63f01e027721c29f82069f7e97e2149fa131"
            },
            {
               "url": "https://git.kernel.org/stable/c/27b216130e64651e76ed583742a1b4e4d08a67c3"
            },
            {
               "url": "https://git.kernel.org/stable/c/cd33b330cb21675189e747953845f5c3689e4912"
            },
            {
               "url": "https://git.kernel.org/stable/c/2a427b49d02995ea4a6ff93a1432c40fa4d36821"
            }
         ],
         "title": "blk-iocost: Fix an UBSAN shift-out-of-bounds warning",
         "x_generator": {
            "engine": "bippy-b4257b672505"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2023-52630",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
