Commit 18c8c141 authored by Paul Chaignon's avatar Paul Chaignon

Tests for detection of external pointers from context argument

parent bbc3fbfe
......@@ -701,6 +701,30 @@ BPF_HASH(table1, struct key_t, struct value_t);
self.assertEqual(ct.sizeof(table.Key), 96)
self.assertEqual(ct.sizeof(table.Leaf), 16)
@skipUnless(kernel_version_ge(4,7), "requires kernel >= 4.7")
def test_probe_read_tracepoint_context(self):
text = """
#include <net/inet_sock.h>
TRACEPOINT_PROBE(tcp, tcp_retransmit_skb) {
struct sock *sk = (struct sock *)args->skaddr;
return sk->sk_dport;
}
"""
b = BPF(text=text)
def test_probe_read_kprobe_ctx(self):
text = """
#include <linux/sched.h>
#include <net/inet_sock.h>
int test(struct pt_regs *ctx) {
struct sock *sk;
sk = (struct sock *)ctx->di;
return sk->sk_dport;
}
"""
b = BPF(text=text)
fn = b.load_func("test", BPF.KPROBE)
if __name__ == "__main__":
main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment