Re: perf probe can't remove probes

From: Arnaldo Carvalho de Melo
Date: Tue Dec 01 2020 - 08:43:48 EST


Em Tue, Dec 01, 2020 at 10:25:17AM -0300, Arnaldo Carvalho de Melo escreveu:
> Hi Masami,

> Any idea why listing the source code doesn't work while simply
> adding the probe works?

<SNIP>

> [root@seventh ~]# perf probe -L verify_pkcs7_signature
> Specified source line is not found.
> Error: Failed to show lines.

Yeah, those fixes you sent, when cherry-picked into this bpf-next/master
based branch, do the trick, so nevermind, you fixed this already, these
fixes were already merged by Linus, bpf-next will rebase at some point,
etc. :-)

- Arnaldo

[acme@five bpf]$ git log --oneline -4
0f3147557ea8143d (HEAD -> bpfsign) perf probe: Change function definition check due to broken DWARF
0e104f490d8f86b4 perf probe: Fix to die_entrypc() returns error correctly
9423e1f089643738 libbpf: Check if the kernel supports signatures before associating them
580616996c498b70 libbpf: Attach signature ELF sections to signed ELF program sections
[acme@five bpf]$

[root@seventh ~]# perf probe -L verify_pkcs7_signature
<verify_pkcs7_signature@/home/acme/git/bpf/certs/system_keyring.c:0>
0 int verify_pkcs7_signature(const void *data, size_t len,
const void *raw_pkcs7, size_t pkcs7_len,
struct key *trusted_keys,
enum key_being_used_for usage,
int (*view_content)(void *ctx,
const void *data, size_t len,
size_t asn1hdrlen),
void *ctx)
{
9 struct pkcs7_message *pkcs7;
int ret;

pkcs7 = pkcs7_parse_message(raw_pkcs7, pkcs7_len);
13 if (IS_ERR(pkcs7))
14 return PTR_ERR(pkcs7);

16 ret = verify_pkcs7_message_sig(data, len, pkcs7, trusted_keys, usage,
view_content, ctx);

19 pkcs7_free_message(pkcs7);
20 pr_devel("<==%s() = %d\n", __func__, ret);
return ret;
}
EXPORT_SYMBOL_GPL(verify_pkcs7_signature);

[root@seventh ~]#