• Ian Rogers's avatar
    perf llvm: Fix inadvertent file creation · 9f19aab4
    Ian Rogers authored
    The LLVM template is first echo-ed into command_out and then
    command_out executed. The echo surrounds the template with double
    quotes, however, the template itself may contain quotes. This is
    generally innocuous but in tools/perf/tests/bpf-script-test-prologue.c
    we see:
    ...
    SEC("func=null_lseek file->f_mode offset orig")
    ...
    where the first double quote ends the double quote of the echo, then
    the > redirects output into a file called f_mode.
    
    To avoid this inadvertent behavior substitute redirects and similar
    characters to be ASCII control codes, then substitute the output in
    the echo back again.
    
    Fixes: 5eab5a7e ("perf llvm: Display eBPF compiling command in debug output")
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andrii Nakryiko <andrii@kernel.org>
    Cc: bpf@vger.kernel.org
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: llvm@lists.linux.dev
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Tom Rix <trix@redhat.com>
    Link: https://lore.kernel.org/r/20230105082609.344538-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9f19aab4
llvm-utils.c 15.1 KB