p PatchFirst

CVE-2022-50370

CVE-2022-50370 · i2c: designware: Fix handling of real but unexpected device interrupts

This page contains facts from public vulnerability sources. Check the original advisory before updating.

This page shows selected source facts. See the linked advisories for the complete description and affected versions.

In the Linux kernel, the following vulnerability has been resolved: i2c: designware: Fix handling of real but unexpected device interrupts Commit c7b79a752871 ("mfd: intel-lpss: Add Intel Alder Lake PCH-S PCI IDs") caused a regression on certain Gigabyte motherboards for Intel Alder Lake-S where system crashes to NULL pointer dereference in i2c_dw_xfer_msg() when system resumes from S3 sleep state ("deep"). I was able to debug the issue on Gigabyte Z690 AORUS ELITE and made following notes: - Issue happens when resuming from S3 but not when resuming from "s2idle" - PCI device 00:15.0 == i2c_designware.0 is already in D0 state when system enters into pci_pm_resume_noirq() while all other i2c_designware PCI devices are in D3. Devices were runtime suspended and in D3 prior entering into suspend - Interrupt comes after pci_pm_resume_noirq() when device interrupts are re-enabled - According to register dump the interrupt really comes from the i2c_designware.0. Controller is enabled, I2C target address register points to a one detectable I2C device address 0x60 and the DW_IC_RAW_INTR_STAT register START_DET, STOP_DET, ACTIVITY and TX_EMPTY bits are set indicating completed I2C transaction. My guess is that the firmware uses this controller to communicate with an on-board I2C device during resume but does not disable the controller before giving control to an operating system. I was told the UEFI update fixes this but never the less it revealed the driver is not ready to handle TX_EMPTY (or RX_FULL) interrupt when device is supposed to be idle and state variables are not set (especially the dev->msgs pointer which may point to NULL or stale old data). Introduce a new software status flag STATUS_ACTIVE indicating when the controller is active in driver point of view. Now treat all interrupts that occur when is not set as unexpected and mask all interrupts from the controller.

CVSS 5.5 · Medium · EPSS 0.2% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • linux

    Versions
    • ≥ c7b79a75287141cef5bbaeaf1c942269c08cd52e, < 7fa5304c4b5b425d4a0b3acf10139a7f6108a85f: Affected (git)
    • ≥ c7b79a75287141cef5bbaeaf1c942269c08cd52e, < a206f7fbe9589c60fafad12884628c909ecb042f: Affected (git)
    • ≥ c7b79a75287141cef5bbaeaf1c942269c08cd52e, < aa59ac81e859006d3a1df035a19b3f2089110f93: Affected (git)
    • ≥ c7b79a75287141cef5bbaeaf1c942269c08cd52e, < 301c8f5c32c8fb79c67539bc23972dc3ef48024c: Affected (git)

    No fix published

  • linux

    Versions
    • 5.12: Affected
    • ≥ 0, < 5.12: Not affected (semver)
    • ≥ 5.15.75, ≤ 5.15.*: Not affected (semver)
    • ≥ 5.19.17, ≤ 5.19.*: Not affected (semver)
    • ≥ 6.0.3, ≤ 6.0.*: Not affected (semver)
    • ≥ 6.1: Not affected (original_commit_for_fix)

    No fix published

  • linux Debian:12

    Affected ranges
    • ECOSYSTEM: < 6.0.3-1

    Update to 6.0.3-1

  • linux Debian:13

    Affected ranges
    • ECOSYSTEM: < 6.0.3-1

    Update to 6.0.3-1

  • linux Debian:14

    Affected ranges
    • ECOSYSTEM: < 6.0.3-1

    Update to 6.0.3-1

  • linux-hwe-edge Ubuntu:16.04:LTS

    Versions
    • 4.8.0-28.30~16.04.1
    • 4.8.0-30.32~16.04.1
    • 4.8.0-32.34~16.04.1
    • 4.8.0-34.36~16.04.1
    • 4.10.0-14.16~16.04.1
    • 4.10.0-19.21~16.04.1
    • 4.10.0-20.22~16.04.1
    • 4.10.0-21.23~16.04.1
    • 4.10.0-22.24~16.04.1
    • 4.10.0-24.28~16.04.1
    • 4.10.0-26.30~16.04.1
    • 4.11.0-13.19~16.04.1
    • 4.11.0-14.20~16.04.1
    • 4.13.0-16.19~16.04.3
    • 4.13.0-17.20~16.04.1
    • 4.13.0-19.22~16.04.1
    • 4.13.0-21.24~16.04.1
    • 4.13.0-25.29~16.04.2
    • 4.15.0-13.14~16.04.1
    • 4.15.0-15.16~16.04.1
    • 4.15.0-20.21~16.04.1
    • 4.15.0-22.24~16.04.1
    • 4.15.0-23.25~16.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-aws-5.0 Ubuntu:18.04:LTS

    Versions
    • 5.0.0-1021.24~18.04.1
    • 5.0.0-1022.25~18.04.1
    • 5.0.0-1023.26~18.04.1
    • 5.0.0-1024.27~18.04.1
    • 5.0.0-1025.28
    • 5.0.0-1027.30
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-aws-5.3 Ubuntu:18.04:LTS

    Versions
    • 5.3.0-1016.17~18.04.1
    • 5.3.0-1017.18~18.04.1
    • 5.3.0-1019.21~18.04.1
    • 5.3.0-1023.25~18.04.1
    • 5.3.0-1028.30~18.04.1
    • 5.3.0-1030.32~18.04.1
    • 5.3.0-1032.34~18.04.2
    • 5.3.0-1033.35
    • 5.3.0-1034.36
    • 5.3.0-1035.37
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-azure Ubuntu:18.04:LTS

    Versions
    • 4.15.0-1002.2
    • 4.15.0-1003.3
    • 4.15.0-1004.4
    • 4.15.0-1008.8
    • 4.15.0-1009.9
    • 4.15.0-1012.12
    • 4.15.0-1013.13
    • 4.15.0-1014.14
    • 4.15.0-1018.18
    • 4.15.0-1019.19
    • 4.15.0-1021.21
    • 4.15.0-1022.23
    • 4.15.0-1023.24
    • 4.15.0-1025.26
    • 4.15.0-1028.29
    • 4.15.0-1030.31
    • 4.15.0-1031.32
    • 4.15.0-1032.33
    • 4.15.0-1035.36
    • 4.15.0-1036.38
    • 4.15.0-1037.39
    • 4.18.0-1011.11~18.04.1
    • 4.18.0-1013.13~18.04.1
    • 4.18.0-1014.14~18.04.1
    • 4.18.0-1018.18~18.04.1
    • 4.18.0-1019.19~18.04.1
    • 4.18.0-1020.20~18.04.1
    • 4.18.0-1023.24~18.04.1
    • 4.18.0-1024.25~18.04.1
    • 4.18.0-1025.27~18.04.1
    • 5.0.0-1014.14~18.04.1
    • 5.0.0-1016.17~18.04.1
    • 5.0.0-1018.19~18.04.1
    • 5.0.0-1020.21~18.04.1
    • 5.0.0-1022.23~18.04.1
    • 5.0.0-1023.24~18.04.1
    • 5.0.0-1025.27~18.04.1
    • 5.0.0-1027.29~18.04.1
    • 5.0.0-1028.30~18.04.1
    • 5.0.0-1029.31~18.04.1
    • 5.0.0-1031.33
    • 5.0.0-1032.34
    • 5.0.0-1035.37
    • 5.0.0-1036.38
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-azure-5.3 Ubuntu:18.04:LTS

    Versions
    • 5.3.0-1007.8~18.04.1
    • 5.3.0-1008.9~18.04.1
    • 5.3.0-1009.10~18.04.1
    • 5.3.0-1010.11~18.04.1
    • 5.3.0-1012.13~18.04.1
    • 5.3.0-1013.14~18.04.1
    • 5.3.0-1016.17~18.04.1
    • 5.3.0-1018.19~18.04.1
    • 5.3.0-1019.20~18.04.1
    • 5.3.0-1020.21~18.04.1
    • 5.3.0-1022.23~18.04.1
    • 5.3.0-1028.29~18.04.1
    • 5.3.0-1031.32~18.04.1
    • 5.3.0-1032.33~18.04.1
    • 5.3.0-1034.35~18.04.1
    • 5.3.0-1035.36
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-azure-edge Ubuntu:18.04:LTS

    Versions
    • 4.18.0-1006.6~18.04.1
    • 4.18.0-1007.7~18.04.1
    • 4.18.0-1008.8~18.04.1
    • 5.0.0-1012.12~18.04.2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-gcp Ubuntu:18.04:LTS

    Versions
    • 4.15.0-1001.1
    • 4.15.0-1003.3
    • 4.15.0-1005.5
    • 4.15.0-1006.6
    • 4.15.0-1008.8
    • 4.15.0-1009.9
    • 4.15.0-1010.10
    • 4.15.0-1014.14
    • 4.15.0-1015.15
    • 4.15.0-1017.18
    • 4.15.0-1018.19
    • 4.15.0-1019.20
    • 4.15.0-1021.22
    • 4.15.0-1023.24
    • 4.15.0-1024.25
    • 4.15.0-1025.26
    • 4.15.0-1026.27
    • 4.15.0-1027.28
    • 4.15.0-1028.29
    • 4.15.0-1029.31
    • 4.15.0-1030.32
    • 4.15.0-1032.34
    • 4.15.0-1033.35
    • 4.15.0-1034.36
    • 4.15.0-1036.38
    • 4.15.0-1037.39
    • 4.15.0-1040.42
    • 4.15.0-1042.45
    • 4.15.0-1044.70
    • 5.0.0-1020.20~18.04.1
    • 5.0.0-1021.21~18.04.1
    • 5.0.0-1025.26~18.04.1
    • 5.0.0-1026.27~18.04.1
    • 5.0.0-1028.29~18.04.1
    • 5.0.0-1029.30~18.04.1
    • 5.0.0-1031.32
    • 5.0.0-1033.34
    • 5.0.0-1034.35
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-gcp-5.3 Ubuntu:18.04:LTS

    Versions
    • 5.3.0-1008.9~18.04.1
    • 5.3.0-1009.10~18.04.1
    • 5.3.0-1010.11~18.04.1
    • 5.3.0-1012.13~18.04.1
    • 5.3.0-1014.15~18.04.1
    • 5.3.0-1016.17~18.04.1
    • 5.3.0-1017.18~18.04.1
    • 5.3.0-1018.19~18.04.1
    • 5.3.0-1020.22~18.04.1
    • 5.3.0-1026.28~18.04.1
    • 5.3.0-1029.31~18.04.1
    • 5.3.0-1030.32~18.04.1
    • 5.3.0-1032.34~18.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-gke-4.15 Ubuntu:18.04:LTS

    Versions
    • 4.15.0-1030.32
    • 4.15.0-1032.34
    • 4.15.0-1033.35
    • 4.15.0-1034.36
    • 4.15.0-1036.38
    • 4.15.0-1037.39
    • 4.15.0-1040.42
    • 4.15.0-1041.43
    • 4.15.0-1042.44
    • 4.15.0-1044.46
    • 4.15.0-1045.48
    • 4.15.0-1046.49
    • 4.15.0-1048.51
    • 4.15.0-1049.52
    • 4.15.0-1050.53
    • 4.15.0-1052.55
    • 4.15.0-1055.58
    • 4.15.0-1057.60
    • 4.15.0-1058.61
    • 4.15.0-1059.62
    • 4.15.0-1063.66
    • 4.15.0-1064.67
    • 4.15.0-1066.69
    • 4.15.0-1067.70
    • 4.15.0-1069.72
    • 4.15.0-1070.73
    • 4.15.0-1072.76
    • 4.15.0-1073.78
    • 4.15.0-1074.79
    • 4.15.0-1076.81
    • 4.15.0-1077.82
    • 4.15.0-1078.83
    • 4.15.0-1079.84
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-gke-5.4 Ubuntu:18.04:LTS

    Versions
    • 5.4.0-1025.25~18.04.1
    • 5.4.0-1027.28~18.04.1
    • 5.4.0-1029.31~18.04.1
    • 5.4.0-1030.32~18.04.1
    • 5.4.0-1032.34~18.04.1
    • 5.4.0-1033.35~18.04.1
    • 5.4.0-1035.37~18.04.1
    • 5.4.0-1036.38~18.04.1
    • 5.4.0-1037.39~18.04.1
    • 5.4.0-1039.41~18.04.1
    • 5.4.0-1040.42~18.04.1
    • 5.4.0-1042.44~18.04.1
    • 5.4.0-1043.45~18.04.1
    • 5.4.0-1044.46~18.04.1
    • 5.4.0-1046.48~18.04.1
    • 5.4.0-1049.52~18.04.1
    • 5.4.0-1051.54~18.04.1
    • 5.4.0-1052.55~18.04.1
    • 5.4.0-1053.56~18.04.1
    • 5.4.0-1054.57~18.04.1
    • 5.4.0-1055.58~18.04.1
    • 5.4.0-1056.59~18.04.1
    • 5.4.0-1057.60~18.04.1
    • 5.4.0-1059.62~18.04.1
    • 5.4.0-1061.64~18.04.1
    • 5.4.0-1062.65~18.04.1
    • 5.4.0-1063.66~18.04.1
    • 5.4.0-1065.68~18.04.1
    • 5.4.0-1066.69~18.04.1
    • 5.4.0-1067.70~18.04.1
    • 5.4.0-1068.71~18.04.1
    • 5.4.0-1071.76~18.04.3
    • 5.4.0-1072.77~18.04.1
    • 5.4.0-1074.79~18.04.1
    • 5.4.0-1076.82~18.04.1
    • 5.4.0-1078.84~18.04.1
    • 5.4.0-1080.86~18.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-gkeop-5.4 Ubuntu:18.04:LTS

    Versions
    • 5.4.0-1001.1
    • 5.4.0-1003.3
    • 5.4.0-1004.5
    • 5.4.0-1005.6
    • 5.4.0-1007.8~18.04.1
    • 5.4.0-1008.9~18.04.1
    • 5.4.0-1009.10~18.04.1
    • 5.4.0-1010.11~18.04.1
    • 5.4.0-1011.12~18.04.2
    • 5.4.0-1012.13~18.04.1
    • 5.4.0-1013.14~18.04.1
    • 5.4.0-1014.15~18.04.1
    • 5.4.0-1015.16~18.04.1
    • 5.4.0-1016.17~18.04.1
    • 5.4.0-1018.19~18.04.1
    • 5.4.0-1021.22~18.04.1
    • 5.4.0-1022.23~18.04.1
    • 5.4.0-1023.24~18.04.1
    • 5.4.0-1024.25~18.04.1
    • 5.4.0-1025.26~18.04.1
    • 5.4.0-1026.27~18.04.1
    • 5.4.0-1027.28~18.04.1
    • 5.4.0-1029.30~18.04.2
    • 5.4.0-1031.32~18.04.1
    • 5.4.0-1032.33~18.04.1
    • 5.4.0-1033.34~18.04.1
    • 5.4.0-1034.35~18.04.1
    • 5.4.0-1036.37~18.04.1
    • 5.4.0-1037.38~18.04.1
    • 5.4.0-1038.39~18.04.1
    • 5.4.0-1039.40~18.04.1
    • 5.4.0-1040.41~18.04.1
    • 5.4.0-1043.44~18.04.1
    • 5.4.0-1046.48~18.04.1
    • 5.4.0-1048.51~18.04.1
    • 5.4.0-1049.52~18.04.1
    • 5.4.0-1051.54~18.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-hwe Ubuntu:18.04:LTS

    Versions
    • 4.18.0-13.14~18.04.1
    • 4.18.0-14.15~18.04.1
    • 4.18.0-15.16~18.04.1
    • 4.18.0-16.17~18.04.1
    • 4.18.0-17.18~18.04.1
    • 4.18.0-18.19~18.04.1
    • 4.18.0-20.21~18.04.1
    • 4.18.0-21.22~18.04.1
    • 4.18.0-22.23~18.04.1
    • 4.18.0-24.25~18.04.1
    • 4.18.0-25.26~18.04.1
    • 5.0.0-23.24~18.04.1
    • 5.0.0-25.26~18.04.1
    • 5.0.0-27.28~18.04.1
    • 5.0.0-29.31~18.04.1
    • 5.0.0-31.33~18.04.1
    • 5.0.0-32.34~18.04.2
    • 5.0.0-35.38~18.04.1
    • 5.0.0-36.39~18.04.1
    • 5.0.0-37.40~18.04.1
    • 5.3.0-26.28~18.04.1
    • 5.3.0-28.30~18.04.1
    • 5.3.0-40.32~18.04.1
    • 5.3.0-42.34~18.04.1
    • 5.3.0-45.37~18.04.1
    • 5.3.0-46.38~18.04.1
    • 5.3.0-51.44~18.04.2
    • 5.3.0-53.47~18.04.1
    • 5.3.0-59.53~18.04.1
    • 5.3.0-61.55~18.04.1
    • 5.3.0-62.56~18.04.1
    • 5.3.0-64.58~18.04.1
    • 5.3.0-65.59
    • 5.3.0-66.60
    • 5.3.0-67.61
    • 5.3.0-68.63
    • 5.3.0-69.65
    • 5.3.0-70.66
    • 5.3.0-72.68
    • 5.3.0-73.69
    • 5.3.0-74.70
    • 5.3.0-75.71
    • 5.3.0-76.72
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-hwe-edge Ubuntu:18.04:LTS

    Versions
    • 5.0.0-15.16~18.04.1
    • 5.0.0-16.17~18.04.1
    • 5.0.0-17.18~18.04.1
    • 5.0.0-19.20~18.04.1
    • 5.0.0-20.21~18.04.1
    • 5.3.0-19.20~18.04.2
    • 5.3.0-22.24~18.04.1
    • 5.3.0-23.25~18.04.1
    • 5.3.0-23.25~18.04.2
    • 5.3.0-24.26~18.04.2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-oem Ubuntu:18.04:LTS

    Versions
    • 4.15.0-1002.3
    • 4.15.0-1004.5
    • 4.15.0-1006.9
    • 4.15.0-1008.11
    • 4.15.0-1009.12
    • 4.15.0-1012.15
    • 4.15.0-1013.16
    • 4.15.0-1015.18
    • 4.15.0-1017.20
    • 4.15.0-1018.21
    • 4.15.0-1021.24
    • 4.15.0-1024.29
    • 4.15.0-1026.31
    • 4.15.0-1028.33
    • 4.15.0-1030.35
    • 4.15.0-1033.38
    • 4.15.0-1034.39
    • 4.15.0-1035.40
    • 4.15.0-1036.41
    • 4.15.0-1038.43
    • 4.15.0-1039.44
    • 4.15.0-1043.48
    • 4.15.0-1045.50
    • 4.15.0-1050.57
    • 4.15.0-1056.65
    • 4.15.0-1057.66
    • 4.15.0-1059.68
    • 4.15.0-1063.72
    • 4.15.0-1064.73
    • 4.15.0-1065.75
    • 4.15.0-1066.76
    • 4.15.0-1067.77
    • 4.15.0-1069.79
    • 4.15.0-1073.83
    • 4.15.0-1076.86
    • 4.15.0-1079.89
    • 4.15.0-1080.90
    • 4.15.0-1081.91
    • 4.15.0-1087.97
    • 4.15.0-1090.100
    • 4.15.0-1091.101
    • 4.15.0-1093.103
    • 4.15.0-1094.104
    • 4.15.0-1096.106
    • 4.15.0-1097.107
    • 4.15.0-1099.109
    • 4.15.0-1100.110
    • 4.15.0-1101.112
    • 4.15.0-1102.113
    • 4.15.0-1103.114
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-oracle-5.0 Ubuntu:18.04:LTS

    Versions
    • 5.0.0-1007.12~18.04.1
    • 5.0.0-1008.13~18.04.1
    • 5.0.0-1009.14~18.04.1
    • 5.0.0-1010.15~18.04.1
    • 5.0.0-1011.16
    • 5.0.0-1013.18
    • 5.0.0-1014.19
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-oracle-5.3 Ubuntu:18.04:LTS

    Versions
    • 5.3.0-1011.12~18.04.1
    • 5.3.0-1013.14~18.04.1
    • 5.3.0-1014.15~18.04.1
    • 5.3.0-1016.18~18.04.1
    • 5.3.0-1018.20~18.04.1
    • 5.3.0-1024.26~18.04.1
    • 5.3.0-1027.29~18.04.1
    • 5.3.0-1028.30~18.04.1
    • 5.3.0-1030.32~18.04.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • linux-aws-5.15 Ubuntu:20.04:LTS

    Versions
    • 5.15.0-1014.18~20.04.1
    • 5.15.0-1015.19~20.04.1
    • 5.15.0-1017.21~20.04.1
    • 5.15.0-1019.23~20.04.1
    • 5.15.0-1020.24~20.04.1
    • 5.15.0-1021.25~20.04.1
    • 5.15.0-1022.26~20.04.1
    • 5.15.0-1023.27~20.04.1
    • 5.15.0-1026.30~20.04.2
    • 5.15.0-1027.31~20.04.1
    • 5.15.0-1028.32~20.04.1
    Affected ranges
    • ECOSYSTEM: < 5.15.0-1030.34~20.04.1

    Update to 5.15.0-1030.34~20.04.1

  • linux-azure-5.15 Ubuntu:20.04:LTS

    Versions
    • 5.15.0-1007.8~20.04.1
    • 5.15.0-1008.9~20.04.1
    • 5.15.0-1013.16~20.04.1
    • 5.15.0-1014.17~20.04.1
    • 5.15.0-1017.20~20.04.1
    • 5.15.0-1019.24~20.04.1
    • 5.15.0-1020.25~20.04.1
    • 5.15.0-1021.26~20.04.1
    • 5.15.0-1022.27~20.04.1
    • 5.15.0-1023.29~20.04.1
    • 5.15.0-1029.36~20.04.1
    • 5.15.0-1030.37~20.04.1
    • 5.15.0-1031.38~20.04.1
    Affected ranges
    • ECOSYSTEM: < 5.15.0-1033.40~20.04.1

    Update to 5.15.0-1033.40~20.04.1

  • linux-gcp-5.15 Ubuntu:20.04:LTS

    Versions
    • 5.15.0-1006.9~20.04.1
    • 5.15.0-1012.17~20.04.1
    • 5.15.0-1013.18~20.04.1
    • 5.15.0-1016.21~20.04.1
    • 5.15.0-1017.23~20.04.2
    • 5.15.0-1018.24~20.04.1
    • 5.15.0-1021.28~20.04.1
    • 5.15.0-1022.29~20.04.1
    • 5.15.0-1025.32~20.04.2
    • 5.15.0-1026.33~20.04.1
    • 5.15.0-1027.34~20.04.1
    Affected ranges
    • ECOSYSTEM: < 5.15.0-1029.36~20.04.1

    Update to 5.15.0-1029.36~20.04.1

Original sources

Check your server →