X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fbridge%2Fnetfilter%2Febtables.c;h=8352eec5bec4cd16f530d52455afff529928ab2f;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=f76563312ee4ae381da102d7204f96df9e73c989;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index f76563312..8352eec5b 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -190,7 +190,7 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff **pskb, base = private->entries; i = 0; while (i < nentries) { - if (ebt_basic_match(point, (**pskb).mac.ethernet, in, out)) + if (ebt_basic_match(point, eth_hdr(*pskb), in, out)) goto letscontinue; if (EBT_MATCH_ITERATE(point, ebt_do_match, *pskb, in, out) != 0) @@ -902,7 +902,7 @@ static void get_counters(struct ebt_counter *oldcounters, } /* replace the table */ -static int do_replace(void *user, unsigned int len) +static int do_replace(void __user *user, unsigned int len) { int ret, i, countersize; struct ebt_table_info *newinfo; @@ -1217,7 +1217,7 @@ void ebt_unregister_table(struct ebt_table *table) } /* userspace just supplied us with counters */ -static int update_counters(void *user, unsigned int len) +static int update_counters(void __user *user, unsigned int len) { int i, ret; struct ebt_counter *tmp; @@ -1315,7 +1315,7 @@ static inline int ebt_make_names(struct ebt_entry *e, char *base, char *ubase) } /* called with ebt_mutex down */ -static int copy_everything_to_user(struct ebt_table *t, void *user, +static int copy_everything_to_user(struct ebt_table *t, void __user *user, int *len, int cmd) { struct ebt_replace tmp; @@ -1391,7 +1391,7 @@ static int copy_everything_to_user(struct ebt_table *t, void *user, } static int do_ebt_set_ctl(struct sock *sk, - int cmd, void *user, unsigned int len) + int cmd, void __user *user, unsigned int len) { int ret; @@ -1408,7 +1408,7 @@ static int do_ebt_set_ctl(struct sock *sk, return ret; } -static int do_ebt_get_ctl(struct sock *sk, int cmd, void *user, int *len) +static int do_ebt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len) { int ret; struct ebt_replace tmp;