mirror of https://github.com/torvalds/linux.git
Previously, the address of the shared member '&map->spinlock_flags' was
passed directly to 'hwspin_lock_timeout_irqsave'. This creates a race
condition where multiple contexts contending for the lock could overwrite
the shared flags variable, potentially corrupting the state for the
current lock owner.
Fix this by using a local stack variable 'flags' to store the IRQ state
temporarily.
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| internal.h | ||
| regcache-flat.c | ||
| regcache-maple.c | ||
| regcache-rbtree.c | ||
| regcache.c | ||
| regmap-ac97.c | ||
| regmap-debugfs.c | ||
| regmap-fsi.c | ||
| regmap-i2c.c | ||
| regmap-i3c.c | ||
| regmap-irq.c | ||
| regmap-kunit.c | ||
| regmap-mdio.c | ||
| regmap-mmio.c | ||
| regmap-ram.c | ||
| regmap-raw-ram.c | ||
| regmap-sccb.c | ||
| regmap-sdw-mbq.c | ||
| regmap-sdw.c | ||
| regmap-slimbus.c | ||
| regmap-spi-avmm.c | ||
| regmap-spi.c | ||
| regmap-spmi.c | ||
| regmap-w1.c | ||
| regmap.c | ||
| trace.h | ||