• Daniel Jordan's avatar
    padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial · e04ec0de
    Daniel Jordan authored
    A 5.7 kernel hangs during a tcrypt test of padata that waits for an AEAD
    request to finish.  This is only seen on large machines running many
    concurrent requests.
    
    The issue is that padata never serializes the request.  The removal of
    the reorder_objects atomic missed that the memory barrier in
    padata_do_serial() depends on it.
    
    Upgrade the barrier from smp_mb__after_atomic to smp_mb to get correct
    ordering again.
    
    Fixes: 3facced7 ("padata: remove reorder_objects")
    Signed-off-by: default avatarDaniel Jordan <daniel.m.jordan@oracle.com>
    Cc: Steffen Klassert <steffen.klassert@secunet.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    e04ec0de
padata.c 30.6 KB