CVE-2022-49964

EUVD-2022-55209
In the Linux kernel, the following vulnerability has been resolved:

arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level

Though acpi_find_last_cache_level() always returned signed value and the
document states it will return any errors caused by lack of a PPTT table,
it never returned negative values before.

Commit 0c80f9e165f8 ("ACPI: PPTT: Leave the table mapped for the runtime usage")
however changed it by returning -ENOENT if no PPTT was found. The value
returned from acpi_find_last_cache_level() is then assigned to unsigned
fw_level.

It will result in the number of cache leaves calculated incorrectly as
a huge value which will then cause the following warning from __alloc_pages
as the order would be great than MAX_ORDER because of incorrect and huge
cache leaves value.

  |  WARNING: CPU: 0 PID: 1 at mm/page_alloc.c:5407 __alloc_pages+0x74/0x314
  |  Modules linked in:
  |  CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.19.0-10393-g7c2a8d3ac4c0 #73
  |  pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
  |  pc : __alloc_pages+0x74/0x314
  |  lr : alloc_pages+0xe8/0x318
  |  Call trace:
  |   __alloc_pages+0x74/0x314
  |   alloc_pages+0xe8/0x318
  |   kmalloc_order_trace+0x68/0x1dc
  |   __kmalloc+0x240/0x338
  |   detect_cache_attributes+0xe0/0x56c
  |   update_siblings_masks+0x38/0x284
  |   store_cpu_topology+0x78/0x84
  |   smp_prepare_cpus+0x48/0x134
  |   kernel_init_freeable+0xc4/0x14c
  |   kernel_init+0x2c/0x1b4
  |   ret_from_fork+0x10/0x20

Fix the same by changing fw_level to be signed integer and return the
error from init_cache_level() early in case of error.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 5%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
5.19.4 ≤
𝑥
< 5.19.7
linuxlinux_kernel
6.0:rc1
linuxlinux_kernel
6.0:rc2
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.137-1
fixed
bookworm (security)
6.1.140-1
fixed
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.237-1
fixed
sid
6.12.32-1
fixed
trixie
6.12.32-1
fixed
trixie (security)
6.12.31-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
trusty
needs-triage
xenial
needs-triage
linux-allwinner-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
trusty
needs-triage
xenial
needs-triage
linux-aws-5.0
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-aws-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-aws-hwe
jammy
dne
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-azure
bionic
ignored
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
trusty
needs-triage
xenial
needs-triage
linux-azure-4.15
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-azure-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-azure-edge
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-fde
focal
ignored
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-azure-fde-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-fde-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-fde-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-azure-nvidia
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-bluefield
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-gcp
bionic
ignored
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
xenial
needs-triage
linux-gcp-4.15
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-gcp-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-gcp-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-gcp-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-gcp-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-gke
focal
ignored
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-gke-4.15
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gke-5.15
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gke-5.4
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gkeop
focal
ignored
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-gkeop-5.15
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gkeop-5.4
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-hwe-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-hwe-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-hwe-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-hwe-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-hwe-edge
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
xenial
ignored
linux-ibm
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-ibm-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-ibm-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-intel-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-intel-iot-realtime
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-intel-iotg
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-intel-iotg-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-iot
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-kvm
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-lowlatency
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
dne
linux-lowlatency-hwe-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-lts-xenial
jammy
dne
noble
dne
oracular
dne
plucky
dne
trusty
needs-triage
linux-nvidia
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-nvidia-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-nvidia-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-nvidia-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-nvidia-lowlatency
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-nvidia-tegra
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-nvidia-tegra-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-nvidia-tegra-igx
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-oem
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.10
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.14
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.17
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-5.6
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-6.0
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-6.1
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-oem-6.14
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-oem-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-6.8
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-oracle
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
xenial
needs-triage
linux-oracle-5.0
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oracle-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-raspi
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
linux-raspi-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-raspi-realtime
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-raspi2
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-realtime
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
linux-riscv
focal
ignored
jammy
ignored
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
linux-riscv-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-riscv-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-riscv-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-riscv-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-riscv-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-riscv-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-starfive-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-starfive-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-starfive-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-xilinx-zynqmp
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne