CVE-2022-49304

drivers: tty: serial: Fix deadlock in sa1100_set_termios()

State
Published
Severity
5.5 Medium
Published
Feb 26, 2025
Updated
May 11, 2026
Reserved
Feb 26, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

drivers: tty: serial: Fix deadlock in sa1100_set_termios()

There is a deadlock in sa1100_set_termios(), which is shown below:

(Thread 1) | (Thread 2) | sa1100_enable_ms() sa1100_set_termios() | mod_timer() spin_lock_irqsave() //(1) | (wait a time) ... | sa1100_timeout() del_timer_sync() | spin_lock_irqsave() //(2) (wait timer to stop) | ...

We hold sport->port.lock in position (1) of thread 1 and use del_timer_sync() to wait timer to stop, but timer handler also need sport->port.lock in position (2) of thread 2. As a result, sa1100_set_termios() will block forever.

This patch moves del_timer_sync() before spin_lock_irqsave() in order to prevent the deadlock.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 0976808d0d171ec837d4bd3e9f4ad4a00ab703b8Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 85e20f8bd31a46d8c60103d0274a8ebe8f47f2b2Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 920f0ae7a129ffee98a106e3bbdfd61a2a59e939Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 09a5958a2452ad22d0cb638711ef34ea1863a829Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 6e2273eefab54a521d9c59efb6e1114e742bdf41Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 2cbfc38df580bff5b2fe19f21c1a7520efcc4b3bAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 553213432ef0c295becdc08c0207d2094468f673Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 34d91e555e5582cffdbcbb75517bc9217866823eAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 62b2caef400c1738b6d22f636c628d9f85cd4c4cAffected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 4.9.318 through 4.9.*Not affected
  • 4.14.283 through 4.14.*Not affected
  • 4.19.247 through 4.19.*Not affected
  • 5.4.198 through 5.4.*Not affected
  • 5.10.122 through 5.10.*Not affected
  • 5.15.47 through 5.15.*Not affected
  • 5.17.15 through 5.17.*Not affected
  • 5.18.4 through 5.18.*Not affected
  • 5.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.