selftests/bpf: convert bpf_rdonly_cast() uses to bpf_core_cast() macro
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 30 Jan 2024 21:20:23 +0000 (13:20 -0800)
committerMartin KaFai Lau <martin.lau@kernel.org>
Tue, 30 Jan 2024 23:55:50 +0000 (15:55 -0800)
Use more ergonomic bpf_core_cast() macro instead of bpf_rdonly_cast() in
selftests code.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20240130212023.183765-3-andrii@kernel.org
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/testing/selftests/bpf/progs/connect_unix_prog.c
tools/testing/selftests/bpf/progs/getpeername_unix_prog.c
tools/testing/selftests/bpf/progs/getsockname_unix_prog.c
tools/testing/selftests/bpf/progs/recvmsg_unix_prog.c
tools/testing/selftests/bpf/progs/sendmsg_unix_prog.c
tools/testing/selftests/bpf/progs/sk_storage_omem_uncharge.c
tools/testing/selftests/bpf/progs/sock_iter_batch.c
tools/testing/selftests/bpf/progs/type_cast.c

index ca8aa2f116b3a7e4cec5bd24028ca2d19750c9dd..2ef0e0c46d17bb873e347c4aeaddcd3a17039215 100644 (file)
@@ -28,8 +28,7 @@ int connect_unix_prog(struct bpf_sock_addr *ctx)
        if (sa_kern->uaddrlen != unaddrlen)
                return 0;
 
-       sa_kern_unaddr = bpf_rdonly_cast(sa_kern->uaddr,
-                                               bpf_core_type_id_kernel(struct sockaddr_un));
+       sa_kern_unaddr = bpf_core_cast(sa_kern->uaddr, struct sockaddr_un);
        if (memcmp(sa_kern_unaddr->sun_path, SERVUN_REWRITE_ADDRESS,
                        sizeof(SERVUN_REWRITE_ADDRESS) - 1) != 0)
                return 0;
index 9c078f34bbb2006daa3df39a1cf82e6d592a65da..5a76754f846b836660117cd44e34a1a2c667030b 100644 (file)
@@ -27,8 +27,7 @@ int getpeername_unix_prog(struct bpf_sock_addr *ctx)
        if (sa_kern->uaddrlen != unaddrlen)
                return 1;
 
-       sa_kern_unaddr = bpf_rdonly_cast(sa_kern->uaddr,
-                                               bpf_core_type_id_kernel(struct sockaddr_un));
+       sa_kern_unaddr = bpf_core_cast(sa_kern->uaddr, struct sockaddr_un);
        if (memcmp(sa_kern_unaddr->sun_path, SERVUN_REWRITE_ADDRESS,
                        sizeof(SERVUN_REWRITE_ADDRESS) - 1) != 0)
                return 1;
index ac7145111497753ccd9334f561387ff69284d35e..7867113c696f1296a75eb3ab9064055d77ff149a 100644 (file)
@@ -27,8 +27,7 @@ int getsockname_unix_prog(struct bpf_sock_addr *ctx)
        if (sa_kern->uaddrlen != unaddrlen)
                return 1;
 
-       sa_kern_unaddr = bpf_rdonly_cast(sa_kern->uaddr,
-                                               bpf_core_type_id_kernel(struct sockaddr_un));
+       sa_kern_unaddr = bpf_core_cast(sa_kern->uaddr, struct sockaddr_un);
        if (memcmp(sa_kern_unaddr->sun_path, SERVUN_REWRITE_ADDRESS,
                        sizeof(SERVUN_REWRITE_ADDRESS) - 1) != 0)
                return 1;
index 4dfbc8552558434091dcef7484b896e53e72926a..1c7ab44bccfa9f6dd96e9c2091b0594b6d6da040 100644 (file)
@@ -27,8 +27,7 @@ int recvmsg_unix_prog(struct bpf_sock_addr *ctx)
        if (sa_kern->uaddrlen != unaddrlen)
                return 1;
 
-       sa_kern_unaddr = bpf_rdonly_cast(sa_kern->uaddr,
-                                               bpf_core_type_id_kernel(struct sockaddr_un));
+       sa_kern_unaddr = bpf_core_cast(sa_kern->uaddr, struct sockaddr_un);
        if (memcmp(sa_kern_unaddr->sun_path, SERVUN_ADDRESS,
                        sizeof(SERVUN_ADDRESS) - 1) != 0)
                return 1;
index 1f67e832666eebe53b420b3b14daa8cb3b66c95c..d8869b03dda9b066b7a31869256bfc7a88452e53 100644 (file)
@@ -28,8 +28,7 @@ int sendmsg_unix_prog(struct bpf_sock_addr *ctx)
        if (sa_kern->uaddrlen != unaddrlen)
                return 0;
 
-       sa_kern_unaddr = bpf_rdonly_cast(sa_kern->uaddr,
-                                               bpf_core_type_id_kernel(struct sockaddr_un));
+       sa_kern_unaddr = bpf_core_cast(sa_kern->uaddr, struct sockaddr_un);
        if (memcmp(sa_kern_unaddr->sun_path, SERVUN_REWRITE_ADDRESS,
                        sizeof(SERVUN_REWRITE_ADDRESS) - 1) != 0)
                return 0;
index 934c4e5ada5bbcaa0892c938b460bc9cec433c94..46d6eb2a3b177d13e5c71544ca9d542f78c564f0 100644 (file)
@@ -27,7 +27,7 @@ int BPF_PROG(bpf_local_storage_destroy, struct bpf_local_storage *local_storage)
        if (local_storage_ptr != local_storage)
                return 0;
 
-       sk = bpf_rdonly_cast(sk_ptr, bpf_core_type_id_kernel(struct sock));
+       sk = bpf_core_cast(sk_ptr, struct sock);
        if (sk->sk_cookie.counter != cookie)
                return 0;
 
index ffbbfe1fa1c1e335b574d1b1a93ee92be9d15eef..96531b0d9d55b9ee9fcb3b70188182af7ead6e23 100644 (file)
@@ -32,7 +32,7 @@ int iter_tcp_soreuse(struct bpf_iter__tcp *ctx)
        if (!sk)
                return 0;
 
-       sk = bpf_rdonly_cast(sk, bpf_core_type_id_kernel(struct sock));
+       sk = bpf_core_cast(sk, struct sock);
        if (sk->sk_family != AF_INET6 ||
            sk->sk_state != TCP_LISTEN ||
            !ipv6_addr_loopback(&sk->sk_v6_rcv_saddr))
@@ -68,7 +68,7 @@ int iter_udp_soreuse(struct bpf_iter__udp *ctx)
        if (!sk)
                return 0;
 
-       sk = bpf_rdonly_cast(sk, bpf_core_type_id_kernel(struct sock));
+       sk = bpf_core_cast(sk, struct sock);
        if (sk->sk_family != AF_INET6 ||
            !ipv6_addr_loopback(&sk->sk_v6_rcv_saddr))
                return 0;
index 98ab35893f518db3609d7eddd87bc1a3c83bd43b..9d808b8f4ab0680d415ba80bea02edd89df6ef05 100644 (file)
@@ -46,13 +46,12 @@ int md_skb(struct __sk_buff *skb)
        /* Simulate the following kernel macro:
         *   #define skb_shinfo(SKB) ((struct skb_shared_info *)(skb_end_pointer(SKB)))
         */
-       shared_info = bpf_rdonly_cast(kskb->head + kskb->end,
-               bpf_core_type_id_kernel(struct skb_shared_info));
+       shared_info = bpf_core_cast(kskb->head + kskb->end, struct skb_shared_info);
        meta_len = shared_info->meta_len;
        frag0_len = shared_info->frag_list->len;
 
        /* kskb2 should be equal to kskb */
-       kskb2 = bpf_rdonly_cast(kskb, bpf_core_type_id_kernel(struct sk_buff));
+       kskb2 = bpf_core_cast(kskb, typeof(*kskb2));
        kskb2_len = kskb2->len;
        return 0;
 }
@@ -63,7 +62,7 @@ int BPF_PROG(untrusted_ptr, struct pt_regs *regs, long id)
        struct task_struct *task, *task_dup;
 
        task = bpf_get_current_task_btf();
-       task_dup = bpf_rdonly_cast(task, bpf_core_type_id_kernel(struct task_struct));
+       task_dup = bpf_core_cast(task, struct task_struct);
        (void)bpf_task_storage_get(&enter_id, task_dup, 0, 0);
        return 0;
 }
@@ -71,7 +70,7 @@ int BPF_PROG(untrusted_ptr, struct pt_regs *regs, long id)
 SEC("?tracepoint/syscalls/sys_enter_nanosleep")
 int kctx_u64(void *ctx)
 {
-       u64 *kctx = bpf_rdonly_cast(ctx, bpf_core_type_id_kernel(u64));
+       u64 *kctx = bpf_core_cast(ctx, u64);
 
        (void)kctx;
        return 0;