Description
In the Linux kernel, the following vulnerability has been resolved: iommu/amd: serialize sequence allocation under concurrent TLB invalidations With concurrent TLB invalidations, completion wait randomly gets timed out because cmd_sem_val was incremented outside the IOMMU spinlock, allowing CMD_COMPL_WAIT commands to be queued out of sequence and breaking the ordering assumption in wait_on_sem(). Move the cmd_sem_val increment under iommu->lock so completion sequence allocation is serialized with command queuing. And remove the unnecessary return.
Product status
e15768e68820142077bbca402d8e902f64ade1b0 (git) before 5000ce7fcb31067566a1a1a2e5b5bbff93625242
496269d12072ecb219826485bdbec70c92a8eef5 (git) before 48caa7542a795c9679ec1bd1bc2592e05a7369a4
d2a0cac10597068567d336e85fa3cbdbe8ca62bf (git) before 9e249c48412828e807afddc21527eb734dc9bd3d
f2f65b28d802a667119147444ec2ae33eebf9a58 (git)
715c263119fd1b918a9fcbd8a36ea5b604a46324 (git)
References
git.kernel.org/...c/5000ce7fcb31067566a1a1a2e5b5bbff93625242
git.kernel.org/...c/48caa7542a795c9679ec1bd1bc2592e05a7369a4
git.kernel.org/...c/9e249c48412828e807afddc21527eb734dc9bd3d