]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bpf: Use sk_is_inet() and sk_is_unix() in __cgroup_bpf_run_filter_sock_addr().
authorKuniyuki Iwashima <kuniyu@google.com>
Tue, 3 Feb 2026 21:30:06 +0000 (21:30 +0000)
committerMartin KaFai Lau <martin.lau@kernel.org>
Wed, 4 Feb 2026 17:36:01 +0000 (09:36 -0800)
sk->sk_family should be read with READ_ONCE() in
__cgroup_bpf_run_filter_sock_addr() due to IPV6_ADDRFORM.

Also, the comment there is a bit stale since commit 859051dd165e
("bpf: Implement cgroup sockaddr hooks for unix sockets"), and the
kdoc has the same comment.

Let's use sk_is_inet() and sk_is_unix() and remove the comment.

Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://patch.msgid.link/20260203213442.682838-2-kuniyu@google.com
kernel/bpf/cgroup.c

index 69988af44b3782a560cc96830ba65ff83be74c16..b029f0369ecf9109b8a5414c40e497798f7d79f0 100644 (file)
@@ -1680,11 +1680,7 @@ int __cgroup_bpf_run_filter_sock_addr(struct sock *sk,
        struct cgroup *cgrp;
        int ret;
 
-       /* Check socket family since not all sockets represent network
-        * endpoint (e.g. AF_UNIX).
-        */
-       if (sk->sk_family != AF_INET && sk->sk_family != AF_INET6 &&
-           sk->sk_family != AF_UNIX)
+       if (!sk_is_inet(sk) && !sk_is_unix(sk))
                return 0;
 
        if (!ctx.uaddr) {