mirror of
https://github.com/torvalds/linux.git
synced 2026-05-14 17:32:42 +02:00
Quoting the bug report:
Due to compiler optimization or CPU out-of-order execution, the
desc->length update can be reordered before the memmove. If this
happens, wdm_read() can see the new length and call copy_to_user() on
uninitialized memory. This also violates LKMM data race rules [1].
Fix it by using WRITE_ONCE and memory barriers.
Fixes:
|
||
|---|---|---|
| .. | ||
| cdc-acm.c | ||
| cdc-acm.h | ||
| cdc-wdm.c | ||
| Kconfig | ||
| Makefile | ||
| usblp.c | ||
| usbtmc.c | ||