netfilter: switch xt_copy_counters to sockptr_t
Pass a sockptr_t to prepare for set_fs-less handling of the kernel pointer from bpf-cgroup. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
7e4b9dbabb
commit
ab214d1bf8
@@ -996,8 +996,7 @@ static int do_replace(struct net *net, const void __user *user,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int do_add_counters(struct net *net, const void __user *user,
|
||||
unsigned int len)
|
||||
static int do_add_counters(struct net *net, sockptr_t arg, unsigned int len)
|
||||
{
|
||||
unsigned int i;
|
||||
struct xt_counters_info tmp;
|
||||
@@ -1008,7 +1007,7 @@ static int do_add_counters(struct net *net, const void __user *user,
|
||||
struct arpt_entry *iter;
|
||||
unsigned int addend;
|
||||
|
||||
paddc = xt_copy_counters_from_user(user, len, &tmp);
|
||||
paddc = xt_copy_counters(arg, len, &tmp);
|
||||
if (IS_ERR(paddc))
|
||||
return PTR_ERR(paddc);
|
||||
|
||||
@@ -1420,7 +1419,7 @@ static int do_arpt_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned
|
||||
break;
|
||||
|
||||
case ARPT_SO_SET_ADD_COUNTERS:
|
||||
ret = do_add_counters(sock_net(sk), user, len);
|
||||
ret = do_add_counters(sock_net(sk), USER_SOCKPTR(user), len);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@@ -1151,8 +1151,7 @@ do_replace(struct net *net, const void __user *user, unsigned int len)
|
||||
}
|
||||
|
||||
static int
|
||||
do_add_counters(struct net *net, const void __user *user,
|
||||
unsigned int len)
|
||||
do_add_counters(struct net *net, sockptr_t arg, unsigned int len)
|
||||
{
|
||||
unsigned int i;
|
||||
struct xt_counters_info tmp;
|
||||
@@ -1163,7 +1162,7 @@ do_add_counters(struct net *net, const void __user *user,
|
||||
struct ipt_entry *iter;
|
||||
unsigned int addend;
|
||||
|
||||
paddc = xt_copy_counters_from_user(user, len, &tmp);
|
||||
paddc = xt_copy_counters(arg, len, &tmp);
|
||||
if (IS_ERR(paddc))
|
||||
return PTR_ERR(paddc);
|
||||
|
||||
@@ -1629,7 +1628,7 @@ do_ipt_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
|
||||
break;
|
||||
|
||||
case IPT_SO_SET_ADD_COUNTERS:
|
||||
ret = do_add_counters(sock_net(sk), user, len);
|
||||
ret = do_add_counters(sock_net(sk), USER_SOCKPTR(user), len);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
Reference in New Issue
Block a user