diff options
| author | Stephen Hemminger <shemminger@osdl.org> | 2004-06-22 03:06:32 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-06-22 03:06:32 -0700 |
| commit | 296cf45d024d126cd7976a663ff8533648d97184 (patch) | |
| tree | 1db130eaed579a3ad47729bef10b39a8118c6cd3 | |
| parent | c51fd78e40195663177a27690246658a48f4ff06 (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.h | 2 | ||||
| -rw-r--r-- | net/ipv4/af_inet.c | 2 | ||||
| -rw-r--r-- | net/ipv4/fib_frontend.c | 2 | ||||
| -rw-r--r-- | net/ipv4/ipconfig.c | 4 |
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; } |
