• Heiko Carstens's avatar
    s390: avoid extable collisions · 6c22c986
    Heiko Carstens authored
    We have some inline assemblies where the extable entry points to a
    label at the end of an inline assembly which is not followed by an
    instruction.
    
    On the other hand we have also inline assemblies where the extable
    entry points to the first instruction of an inline assembly.
    
    If a first type inline asm (extable point to empty label at the end)
    would be directly followed by a second type inline asm (extable points
    to first instruction) then we would have two different extable entries
    that point to the same instruction but would have a different target
    address.
    
    This can lead to quite random behaviour, depending on sorting order.
    
    I verified that we currently do not have such collisions within the
    kernel. However to avoid such subtle bugs add a couple of nop
    instructions to those inline assemblies which contain an extable that
    points to an empty label.
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    6c22c986
fault.c 19.9 KB