summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2004-06-22 03:06:32 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-06-22 03:06:32 -0700
commit296cf45d024d126cd7976a663ff8533648d97184 (patch)
tree1db130eaed579a3ad47729bef10b39a8118c6cd3
parentc51fd78e40195663177a27690246658a48f4ff06 (diff)
[IPV4]: ip_rt_ioctl argument is user pointer.
The function ip_rt_ioctl expects a pointer to a user route structure, so define it that way and cast as appropriate. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@redhat.com>
-rw-r--r--include/net/route.h2
-rw-r--r--net/ipv4/af_inet.c2
-rw-r--r--net/ipv4/fib_frontend.c2
-rw-r--r--net/ipv4/ipconfig.c4
4 files changed, 5 insertions, 5 deletions
diff --git a/include/net/route.h b/include/net/route.h
index 0e7210e6d194..a5e9c575ea3e 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -129,7 +129,7 @@ extern void ip_rt_send_redirect(struct sk_buff *skb);
extern unsigned inet_addr_type(u32 addr);
extern void ip_rt_multicast_event(struct in_device *);
-extern int ip_rt_ioctl(unsigned int cmd, void *arg);
+extern int ip_rt_ioctl(unsigned int cmd, void __user *arg);
extern void ip_rt_get_source(u8 *src, struct rtable *rt);
extern int ip_rt_dump(struct sk_buff *skb, struct netlink_callback *cb);
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index f6c27fc4f05c..caa8632509b5 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -848,7 +848,7 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
case SIOCADDRT:
case SIOCDELRT:
case SIOCRTMSG:
- err = ip_rt_ioctl(cmd, (void *)arg);
+ err = ip_rt_ioctl(cmd, (void __user *)arg);
break;
case SIOCDARP:
case SIOCGARP:
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index fc4e9f8e6bb7..f5b008a9d7d0 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -235,7 +235,7 @@ e_inval:
* Handle IP routing ioctl calls. These are used to manipulate the routing tables
*/
-int ip_rt_ioctl(unsigned int cmd, void *arg)
+int ip_rt_ioctl(unsigned int cmd, void __user *arg)
{
int err;
struct kern_rta rta;
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index a5322adb2be8..19833d69dab8 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -272,7 +272,7 @@ static int __init ic_dev_ioctl(unsigned int cmd, struct ifreq *arg)
mm_segment_t oldfs = get_fs();
set_fs(get_ds());
- res = devinet_ioctl(cmd, arg);
+ res = devinet_ioctl(cmd, (struct ifreq __user *) arg);
set_fs(oldfs);
return res;
}
@@ -283,7 +283,7 @@ static int __init ic_route_ioctl(unsigned int cmd, struct rtentry *arg)
mm_segment_t oldfs = get_fs();
set_fs(get_ds());
- res = ip_rt_ioctl(cmd, arg);
+ res = ip_rt_ioctl(cmd, (void __user *) arg);
set_fs(oldfs);
return res;
}