lkml.org 
[lkml]   [2020]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 38/39] scripts/decodecode: fix trapping instruction formatting
    Date
    From: Ivan Delalande <colona@arista.com>

    [ Upstream commit e08df079b23e2e982df15aa340bfbaf50f297504 ]

    If the trapping instruction contains a ':', for a memory access through
    segment registers for example, the sed substitution will insert the '*'
    marker in the middle of the instruction instead of the line address:

    2b: 65 48 0f c7 0f cmpxchg16b %gs:*(%rdi) <-- trapping instruction

    I started to think I had forgotten some quirk of the assembly syntax
    before noticing that it was actually coming from the script. Fix it to
    add the address marker at the right place for these instructions:

    28: 49 8b 06 mov (%r14),%rax
    2b:* 65 48 0f c7 0f cmpxchg16b %gs:(%rdi) <-- trapping instruction
    30: 0f 94 c0 sete %al

    Fixes: 18ff44b189e2 ("scripts/decodecode: make faulting insn ptr more robust")
    Signed-off-by: Ivan Delalande <colona@arista.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Link: http://lkml.kernel.org/r/20200419223653.GA31248@visor
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    scripts/decodecode | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/scripts/decodecode b/scripts/decodecode
    index 438120da13610..1ab4ef613cb07 100755
    --- a/scripts/decodecode
    +++ b/scripts/decodecode
    @@ -99,7 +99,7 @@ faultlinenum=$(( $(wc -l $T.oo | cut -d" " -f1) - \
    faultline=`cat $T.dis | head -1 | cut -d":" -f2-`
    faultline=`echo "$faultline" | sed -e 's/\[/\\\[/g; s/\]/\\\]/g'`

    -cat $T.oo | sed -e "${faultlinenum}s/^\(.*:\)\(.*\)/\1\*\2\t\t<-- trapping instruction/"
    +cat $T.oo | sed -e "${faultlinenum}s/^\([^:]*:\)\(.*\)/\1\*\2\t\t<-- trapping instruction/"
    echo
    cat $T.aa
    cleanup
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-05-14 21:01    [W:2.424 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site