• Fredrik Strupe's avatar
    ARM: 9071/1: uprobes: Don't hook on thumb instructions · d2f7eca6
    Fredrik Strupe authored
    Since uprobes is not supported for thumb, check that the thumb bit is
    not set when matching the uprobes instruction hooks.
    
    The Arm UDF instructions used for uprobes triggering
    (UPROBE_SWBP_ARM_INSN and UPROBE_SS_ARM_INSN) coincidentally share the
    same encoding as a pair of unallocated 32-bit thumb instructions (not
    UDF) when the condition code is 0b1111 (0xf). This in effect makes it
    possible to trigger the uprobes functionality from thumb, and at that
    using two unallocated instructions which are not permanently undefined.
    Signed-off-by: default avatarFredrik Strupe <fredrik@strupe.net>
    Cc: stable@vger.kernel.org
    Fixes: c7edc9e3 ("ARM: add uprobes support")
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    d2f7eca6
core.c 5.03 KB