lkml.org 
[lkml]   [2018]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 28/54] irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq()
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Shanker Donthineni <shankerd@codeaurora.org>

    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>

    ---
    drivers/irqchip/irq-gic-v3.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/irqchip/irq-gic-v3.c
    +++ b/drivers/irqchip/irq-gic-v3.c
    @@ -660,7 +660,7 @@ static void gic_raise_softirq(const stru
    * Ensure that stores to Normal memory are visible to the
    * other CPUs before issuing the IPI.
    */
    - smp_wmb();
    + wmb();

    for_each_cpu(cpu, mask) {
    unsigned long cluster_id = cpu_logical_map(cpu) & ~0xffUL;

    \
     
     \ /
      Last update: 2018-02-26 21:51    [W:3.995 / U:0.776 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site