]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq()
authorShanker Donthineni <shankerd@codeaurora.org>
Thu, 1 Feb 2018 00:03:42 +0000 (18:03 -0600)
committerSeth Forshee <seth.forshee@canonical.com>
Wed, 28 Feb 2018 14:47:21 +0000 (08:47 -0600)
commited92cc7c3430ce711954dc9cb6ae6528bc029f7d
tree6b0c6189229011c103339d2e867f6e68000fe461
parent80b9da7ed4524f5300956791da716ec561801cea
irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq()

BugLink: https://bugs.launchpad.net/bugs/1752317
commit 21ec30c0ef5234fb1039cc7c7737d885bf875a9e upstream.

A DMB instruction can be used to ensure the relative order of only
memory accesses before and after the barrier. Since writes to system
registers are not memory operations, barrier DMB is not sufficient
for observability of memory accesses that occur before ICC_SGI1R_EL1
writes.

A DSB instruction ensures that no instructions that appear in program
order after the DSB instruction, can execute until the DSB instruction
has completed.

Cc: stable@vger.kernel.org
Acked-by: Will Deacon <will.deacon@arm.com>,
Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/irqchip/irq-gic-v3.c