arm-trusted-firmware/lib/locks
Raghu Krishnamurthy c0018913b4 T589: Fix insufficient ordering guarantees in bakery lock
bakery_lock_get() uses DMB LD after lock acquisition and
bakery_lock_release() uses DMB ST before releasing the lock. This is
insufficient in both cases. With just DMB LD, stores in the critical
section can be reordered before the DMB LD which could mean writes in
the critical section completing before the lock has been acquired
successfully. Similarly, with just DMB ST, a load in the critical section
could be reordered after the the DMB ST. DMB is the least expensive
barrier that can provide the required ordering.

Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@icloud.com>
Change-Id: Ieb74cbf5b76b09e1789331b71f37f7c660221b0e
2020-01-27 09:31:31 -08:00
..
bakery T589: Fix insufficient ordering guarantees in bakery lock 2020-01-27 09:31:31 -08:00
exclusive Fix the CAS spinlock implementation 2019-10-04 10:19:35 +02:00