unix_sk
#define unix_peer(sk) (unix_sk(sk)->peer)
#define unix_state_lock(s) spin_lock(&unix_sk(s)->lock)
#define unix_state_unlock(s) spin_unlock(&unix_sk(s)->lock)
u = unix_sk(sk);
dentry = unix_sk(sk)->path.dentry;
touch_atime(&unix_sk(sk)->path);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
if (unix_may_passcred(sk) && !READ_ONCE(unix_sk(sk)->addr)) {
struct unix_sock *u = unix_sk(other);
struct unix_sock *u = unix_sk(sk), *newu, *otheru;
newu = unix_sk(newsk);
otheru = unix_sk(other);
wake_up_interruptible(&unix_sk(sk)->peer_wait);
unix_update_edges(unix_sk(tsk));
if (a->sk_state == TCP_LISTEN && unix_sk(b)->listener == a)
addr = smp_load_acquire(&unix_sk(sk)->addr);
if (b->sk_state == TCP_LISTEN && unix_sk(a)->listener == b)
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *ousk = unix_sk(other);
otheru = unix_sk(other);
struct unix_address *addr = smp_load_acquire(&unix_sk(sk)->addr);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
u = unix_sk(sk);
return READ_ONCE(unix_sk(sk)->inq_len);
if (!smp_load_acquire(&unix_sk(sk)->addr))
if (!unix_sk(sk)->path.dentry)
return FD_ADD(O_CLOEXEC, dentry_open(&unix_sk(sk)->path, O_PATH, current_cred()));
struct unix_sock *u = unix_sk(sk);
if (READ_ONCE(unix_sk(sk)->oob_skb))
struct unix_sock *u = unix_sk(s);
__bpf_md_ptr(struct unix_sock *, unix_sk);
struct unix_sock *unix_sk, uid_t uid)
ctx.unix_sk = unix_sk;
struct unix_sock *unix_sk, uid_t uid)
smp_store_release(&unix_sk(sk)->addr, addr);
{ offsetof(struct bpf_iter__unix, unix_sk),
struct unix_sock *u = unix_sk(s);
struct dentry *dentry = unix_sk(s)->path.dentry;
__remove_wait_queue(&unix_sk(u->peer_wake.private)->peer_wait,
u = unix_sk(sk);
u_other = unix_sk(other);
u = unix_sk(sk);
u_other = unix_sk(other);
wake_up_interruptible_all(&unix_sk(sk)->peer_wait);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
lockdep_assert_held(&unix_sk(peersk)->lock);
struct unix_sock *u = unix_sk(sk);
u = unix_sk(skb->sk);
u = unix_sk(sk);
struct unix_sock *u = unix_sk(sock->sk);
struct unix_address *addr = smp_load_acquire(&unix_sk(sk)->addr);
dentry = unix_sk(sk)->path.dentry;
return unix_sk(sk);
return unix_sk(edge->successor->listener)->vertex;
unix_update_graph(unix_sk(receiver->listener)->vertex);
struct unix_sock *u = unix_sk(sk);
struct unix_sock *u = unix_sk(sk);
&unix_sk(sk)->path);
state = match_to_sk(rules->policy, state, request, unix_sk(sk),
&unix_sk(sk)->path);
unix_sk(sk), CMD_LISTEN, &p, &ad->info);
&unix_sk(sk)->path);
unix_sk(sk), &p, &ad->info);
&unix_sk(sk)->path);
state = match_to_cmd(rules->policy, state, request, unix_sk(sk),
unix_sk(sk),
is_unix_fs(sock->sk) ? &unix_sk(sock->sk)->path : NULL);
struct unix_sock *peeru = unix_sk(peer_sk);
struct unix_sock *u = unix_sk(sk);
struct sockaddr_un *paddr = aa_sunaddr(unix_sk(peer_sk), &plen);
spin_lock(&unix_sk(sk)->lock);
lockdep_is_held(&unix_sk(sk)->lock));
old = rcu_dereference_protected(ctx->peer, lockdep_is_held(&unix_sk(sk)->lock));
spin_unlock(&unix_sk(sk)->lock);
spin_lock(&unix_sk(sk)->lock);
lockdep_is_held(&unix_sk(sk)->lock));
spin_unlock(&unix_sk(sk)->lock);
addr = aa_sunaddr(unix_sk(sock->sk), &addrlen);
path = unix_sk(sock->sk)->path;
peer_addr = aa_sunaddr(unix_sk(peer_sk), &peer_addrlen);
peer_path = unix_sk(peer_sk)->path;
#define unix_peer(sk) (unix_sk(sk)->peer)
#define is_unix_anonymous(U) (!unix_sk(U)->addr)
unix_sk(U)->addr->name->sun_path[0])
lockdep_is_held(&unix_sk(peer_sk)->lock)));
lockdep_is_held(&unix_sk(peer_sk)->lock)),
const struct unix_sock *u = unix_sk(sk);
lockdep_assert_held(&unix_sk(other)->lock);
struct unix_address *addr = unix_sk(sock)->addr;
u = unix_sk(sk);
static inline int cmpname(struct unix_sock *unix_sk)
if (unix_sk->addr->name->sun_path[i] != sun_path[i])
struct unix_sock *unix_sk = ctx->unix_sk;
if (!unix_sk || !unix_sk->addr)
if (unix_sk->addr->name->sun_path[0])
if (cmpname(unix_sk))
err = bpf_setsockopt(unix_sk, SOL_SOCKET, SO_SNDBUF,
err = bpf_getsockopt(unix_sk, SOL_SOCKET, SO_SNDBUF,
struct unix_sock *unix_sk = ctx->unix_sk;
struct sock *sk = (struct sock *)unix_sk;
if (!unix_sk)
unix_sk,
if (unix_sk->addr) {
if (unix_sk->addr->name->sun_path[0]) {
BPF_SEQ_PRINTF(seq, " %s", unix_sk->addr->name->sun_path);
len = unix_sk->addr->len - sizeof(short);
unix_sk->addr->name->sun_path[i] ?:
struct unix_sock *unix_sk;
unix_sk = (struct unix_sock *)bpf_skc_to_unix_sock(sock->sk);
if (!unix_sk)
if (unix_sk->addr->name->sun_path[0])
len = unix_sk->addr->len - sizeof(short);
path[i] = unix_sk->addr->name->sun_path[i];