Skip to content

Commit

Permalink
socket: sk_filter minor cleanups
Browse files Browse the repository at this point in the history
Some minor style cleanups:
  * Move __KERNEL__ definitions to one place in filter.h
  * Use const for sk_filter_len
  * Line wrapping
  * Put EXPORT_SYMBOL next to function definition

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Apr 10, 2008
1 parent d9c58f3 commit b715631
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 19 deletions.
31 changes: 15 additions & 16 deletions include/linux/filter.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,6 @@ struct sock_fprog /* Required for SO_ATTACH_FILTER. */
struct sock_filter __user *filter;
};

#ifdef __KERNEL__
struct sk_filter
{
atomic_t refcnt;
unsigned int len; /* Number of filter blocks */
struct rcu_head rcu;
struct sock_filter insns[0];
};

static inline unsigned int sk_filter_len(struct sk_filter *fp)
{
return fp->len*sizeof(struct sock_filter) + sizeof(*fp);
}
#endif

/*
* Instruction classes
*/
Expand Down Expand Up @@ -141,10 +126,24 @@ static inline unsigned int sk_filter_len(struct sk_filter *fp)
#define SKF_LL_OFF (-0x200000)

#ifdef __KERNEL__
struct sk_filter
{
atomic_t refcnt;
unsigned int len; /* Number of filter blocks */
struct rcu_head rcu;
struct sock_filter insns[0];
};

static inline unsigned int sk_filter_len(const struct sk_filter *fp)
{
return fp->len * sizeof(struct sock_filter) + sizeof(*fp);
}

struct sk_buff;
struct sock;

extern unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int flen);
extern unsigned int sk_run_filter(struct sk_buff *skb,
struct sock_filter *filter, int flen);
extern int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk);
extern int sk_detach_filter(struct sock *sk);
extern int sk_chk_filter(struct sock_filter *filter, int flen);
Expand Down
5 changes: 2 additions & 3 deletions net/core/filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int

return 0;
}
EXPORT_SYMBOL(sk_run_filter);

/**
* sk_chk_filter - verify socket filter code
Expand Down Expand Up @@ -385,6 +386,7 @@ int sk_chk_filter(struct sock_filter *filter, int flen)

return (BPF_CLASS(filter[flen - 1].code) == BPF_RET) ? 0 : -EINVAL;
}
EXPORT_SYMBOL(sk_chk_filter);

/**
* sk_filter_rcu_release: Release a socket filter by rcu_head
Expand Down Expand Up @@ -467,6 +469,3 @@ int sk_detach_filter(struct sock *sk)
rcu_read_unlock_bh();
return ret;
}

EXPORT_SYMBOL(sk_chk_filter);
EXPORT_SYMBOL(sk_run_filter);

0 comments on commit b715631

Please sign in to comment.