Skip to content

Commit

Permalink
[AF_UNIX]: Convert socks to unix_socks in scan_inflight, not in callb…
Browse files Browse the repository at this point in the history
…acks

The scan_inflight() routine scans through the unix sockets and calls
some passed callback. The fact is that all these callbacks work with
the unix_sock objects, not the sock ones, so make this conversion in
the scan_inflight() before calling the callbacks.

This removes one unneeded variable from the inc_inflight_move_tail().

Signed-off-by: Pavel Emelyanov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
xemul authored and davem330 committed Nov 11, 2007
1 parent 9305cfa commit 5c80f1a
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions net/unix/garbage.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ static inline struct sk_buff *sock_queue_head(struct sock *sk)
for (skb = sock_queue_head(sk)->next, next = skb->next; \
skb != sock_queue_head(sk); skb = next, next = skb->next)

static void scan_inflight(struct sock *x, void (*func)(struct sock *),
static void scan_inflight(struct sock *x, void (*func)(struct unix_sock *),
struct sk_buff_head *hitlist)
{
struct sk_buff *skb;
Expand All @@ -185,9 +185,9 @@ static void scan_inflight(struct sock *x, void (*func)(struct sock *),
* if it indeed does so
*/
struct sock *sk = unix_get_socket(*fp++);
if(sk) {
if (sk) {
hit = true;
func(sk);
func(unix_sk(sk));
}
}
if (hit && hitlist != NULL) {
Expand All @@ -199,7 +199,7 @@ static void scan_inflight(struct sock *x, void (*func)(struct sock *),
spin_unlock(&x->sk_receive_queue.lock);
}

static void scan_children(struct sock *x, void (*func)(struct sock *),
static void scan_children(struct sock *x, void (*func)(struct unix_sock *),
struct sk_buff_head *hitlist)
{
if (x->sk_state != TCP_LISTEN)
Expand Down Expand Up @@ -235,20 +235,18 @@ static void scan_children(struct sock *x, void (*func)(struct sock *),
}
}

static void dec_inflight(struct sock *sk)
static void dec_inflight(struct unix_sock *usk)
{
atomic_dec(&unix_sk(sk)->inflight);
atomic_dec(&usk->inflight);
}

static void inc_inflight(struct sock *sk)
static void inc_inflight(struct unix_sock *usk)
{
atomic_inc(&unix_sk(sk)->inflight);
atomic_inc(&usk->inflight);
}

static void inc_inflight_move_tail(struct sock *sk)
static void inc_inflight_move_tail(struct unix_sock *u)
{
struct unix_sock *u = unix_sk(sk);

atomic_inc(&u->inflight);
/*
* If this is still a candidate, move it to the end of the
Expand Down

0 comments on commit 5c80f1a

Please sign in to comment.