lkml.org 
[lkml]   [2022]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[for-linus][PATCH 1/5] ftrace: Fix char print issue in print_ip_ins()
    From: Zheng Yejian <zhengyejian1@huawei.com>

    When ftrace bug happened, following log shows every hex data in
    problematic ip address:
    actual: ffffffe8:6b:ffffffd9:01:21

    But so many 'f's seem a little confusing, and that is because format
    '%x' being used to print signed chars in array 'ins'. As suggested
    by Joe, change to use format "%*phC" to print array 'ins'.

    After this patch, the log is like:
    actual: e8:6b:d9:01:21

    Link: https://lkml.kernel.org/r/20221011120352.1878494-1-zhengyejian1@huawei.com

    Fixes: 6c14133d2d3f ("ftrace: Do not blindly read the ip address in ftrace_bug()")
    Suggested-by: Joe Perches <joe@perches.com>
    Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    ---
    kernel/trace/ftrace.c | 5 +----
    1 file changed, 1 insertion(+), 4 deletions(-)

    diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
    index 83362a155791..75c16215d065 100644
    --- a/kernel/trace/ftrace.c
    +++ b/kernel/trace/ftrace.c
    @@ -2028,7 +2028,6 @@ static int ftrace_hash_ipmodify_update(struct ftrace_ops *ops,
    static void print_ip_ins(const char *fmt, const unsigned char *p)
    {
    char ins[MCOUNT_INSN_SIZE];
    - int i;

    if (copy_from_kernel_nofault(ins, p, MCOUNT_INSN_SIZE)) {
    printk(KERN_CONT "%s[FAULT] %px\n", fmt, p);
    @@ -2036,9 +2035,7 @@ static void print_ip_ins(const char *fmt, const unsigned char *p)
    }

    printk(KERN_CONT "%s", fmt);
    -
    - for (i = 0; i < MCOUNT_INSN_SIZE; i++)
    - printk(KERN_CONT "%s%02x", i ? ":" : "", ins[i]);
    + pr_cont("%*phC", MCOUNT_INSN_SIZE, ins);
    }

    enum ftrace_bug_type ftrace_bug_type;
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-10-13 00:04    [W:3.602 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site