Description
In the Linux kernel, the following vulnerability has been resolved: serial: 8250: Fix oops for port->pm on uart_change_pm() Unloading a hardware specific 8250 driver can produce error "Unable to handle kernel paging request at virtual address" about ten seconds after unloading the driver. This happens on uart_hangup() calling uart_change_pm(). Turns out commit 04e82793f068 ("serial: 8250: Reinit port->pm on port specific driver unbind") was only a partial fix. If the hardware specific driver has initialized port->pm function, we need to clear port->pm too. Just reinitializing port->ops does not do this. Otherwise serial8250_pm() will call port->pm() instead of serial8250_do_pm().
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
490bf37eaabb0a857ed1ae8e75d8854e41662f1c to < 66f3e55960698c874b0598277913b478ecd29573affectedc9e080c3005fd183c56ff8f4d75edb5da0765d2c to < 720a297b334e85d34099e83d1f375b92c3efedd6affectedd5cd2928d31042a7c0a01464f9a8d95be736421d to < b653289ca6460a6552c8590b75dfa84a0140a46baffected2c86a1305c1406f45ea780d06953c484ea1d9e6e to < bd70d0b28010d560a8be96b44fea86fe2ba016aeaffected1ba5594739d858e524ff0f398ee1ebfe0a8b9d41 to < 18e27df4f2b4e257c317ba8076f31a888f6cc64baffectedaf4d6dbb1a92ea424ad1ba1d0c88c7fa2345d872 to < 0c05493341d6f2097f75f0a5dbb7b53a9e8c5f6caffected04e82793f068d2f0ffe62fcea03d007a8cdc16a7 to < 375806616f8c772c33d40e112530887b37c1a816affected04e82793f068d2f0ffe62fcea03d007a8cdc16a7 to < dfe2aeb226fd5e19b0ee795f4f6ed8bc494c1534affected8e596aed5f2f98cf3e6e98d6fe1d689f4a319308affected4.14.316 to < 4.14.324affected4.19.284 to < 4.19.293affected5.4.244 to < 5.4.255affected5.10.181 to < 5.10.192affected5.15.113 to < 5.15.128affected6.1.30 to < 6.1.47affected6.3.4 to < 6.4affected
Linux Linux
Default version status: affected
6.4affected0 to < 6.4unaffected4.14.324 to ≤ 4.14.*unaffected4.19.293 to ≤ 4.19.*unaffected5.4.255 to ≤ 5.4.*unaffected5.10.192 to ≤ 5.10.*unaffected5.15.128 to ≤ 5.15.*unaffected6.1.47 to ≤ 6.1.*unaffected6.4.12 to ≤ 6.4.*unaffected6.5 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/66f3e55960698c874b0598277913b478ecd29573 ↗
- https://git.kernel.org/stable/c/720a297b334e85d34099e83d1f375b92c3efedd6 ↗
- https://git.kernel.org/stable/c/b653289ca6460a6552c8590b75dfa84a0140a46b ↗
- https://git.kernel.org/stable/c/bd70d0b28010d560a8be96b44fea86fe2ba016ae ↗
- https://git.kernel.org/stable/c/18e27df4f2b4e257c317ba8076f31a888f6cc64b ↗
- https://git.kernel.org/stable/c/0c05493341d6f2097f75f0a5dbb7b53a9e8c5f6c ↗
- https://git.kernel.org/stable/c/375806616f8c772c33d40e112530887b37c1a816 ↗
- https://git.kernel.org/stable/c/dfe2aeb226fd5e19b0ee795f4f6ed8bc494c1534 ↗