Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 0976808d0d171ec837d4bd3e9f4ad4a00ab703b8; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 85e20f8bd31a46d8c60103d0274a8ebe8f47f2b2; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 920f0ae7a129ffee98a106e3bbdfd61a2a59e939; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 09a5958a2452ad22d0cb638711ef34ea1863a829; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 6e2273eefab54a521d9c59efb6e1114e742bdf41; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 2cbfc38df580bff5b2fe19f21c1a7520efcc4b3b; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 553213432ef0c295becdc08c0207d2094468f673; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 34d91e555e5582cffdbcbb75517bc9217866823e; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 62b2caef400c1738b6d22f636c628d9f85cd4c4c |
| Linux / Linux | affected 2.6.12; unaffected 0 before 2.6.12; unaffected 4.9.318 through 4.9.*; unaffected 4.14.283 through 4.14.*; unaffected 4.19.247 through 4.19.*; unaffected 5.4.198 through 5.4.*; unaffected 5.10.122 through 5.10.*; unaffected 5.15.47 through 5.15.*; unaffected 5.17.15 through 5.17.*; unaffected 5.18.4 through 5.18.*; unaffected 5.19 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/0976808d0d171ec837d4bd3e9f4ad4a00ab703b8
- https://git.kernel.org/stable/c/85e20f8bd31a46d8c60103d0274a8ebe8f47f2b2
- https://git.kernel.org/stable/c/920f0ae7a129ffee98a106e3bbdfd61a2a59e939
- https://git.kernel.org/stable/c/09a5958a2452ad22d0cb638711ef34ea1863a829
- https://git.kernel.org/stable/c/6e2273eefab54a521d9c59efb6e1114e742bdf41
- https://git.kernel.org/stable/c/2cbfc38df580bff5b2fe19f21c1a7520efcc4b3b
- https://git.kernel.org/stable/c/553213432ef0c295becdc08c0207d2094468f673
- https://git.kernel.org/stable/c/34d91e555e5582cffdbcbb75517bc9217866823e
- https://git.kernel.org/stable/c/62b2caef400c1738b6d22f636c628d9f85cd4c4c
ADP enrichment
No English description supplied.
No references supplied.