From d9ca1c7ed52bb5ab0aec689e89df7539a4d55373 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 20 May 2025 09:52:16 +0000 Subject: [PATCH] Revert "selftests/bpf: test for changing packet data from global functions" This reverts commit fa1fbb67e081f34e14c86b3ae7f1b1692c4172f6 which is commit 3f23ee5590d9605dbde9a5e1d4b97637a4803329 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: I0c2b1a2f4cd9a6c0095e8e7ac60ec65ef933881b Signed-off-by: Greg Kroah-Hartman --- .../selftests/bpf/progs/verifier_sock.c | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/tools/testing/selftests/bpf/progs/verifier_sock.c b/tools/testing/selftests/bpf/progs/verifier_sock.c index e85f0f1deac7..ee76b51005ab 100644 --- a/tools/testing/selftests/bpf/progs/verifier_sock.c +++ b/tools/testing/selftests/bpf/progs/verifier_sock.c @@ -977,32 +977,4 @@ l1_%=: r0 = *(u8*)(r7 + 0); \ : __clobber_all); } -__noinline -long skb_pull_data2(struct __sk_buff *sk, __u32 len) -{ - return bpf_skb_pull_data(sk, len); -} - -__noinline -long skb_pull_data1(struct __sk_buff *sk, __u32 len) -{ - return skb_pull_data2(sk, len); -} - -/* global function calls bpf_skb_pull_data(), which invalidates packet - * pointers established before global function call. - */ -SEC("tc") -__failure __msg("invalid mem access") -int invalidate_pkt_pointers_from_global_func(struct __sk_buff *sk) -{ - int *p = (void *)(long)sk->data; - - if ((void *)(p + 1) > (void *)(long)sk->data_end) - return TCX_DROP; - skb_pull_data1(sk, 0); - *p = 42; /* this is unsafe */ - return TCX_PASS; -} - char _license[] SEC("license") = "GPL";