diff options
Diffstat (limited to 'drivers/net/slip.c')
-rw-r--r-- | drivers/net/slip.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/slip.c b/drivers/net/slip.c index e17c535a577..ccfe45924fd 100644 --- a/drivers/net/slip.c +++ b/drivers/net/slip.c | |||
@@ -79,6 +79,7 @@ | |||
79 | #include <linux/rtnetlink.h> | 79 | #include <linux/rtnetlink.h> |
80 | #include <linux/if_arp.h> | 80 | #include <linux/if_arp.h> |
81 | #include <linux/if_slip.h> | 81 | #include <linux/if_slip.h> |
82 | #include <linux/compat.h> | ||
82 | #include <linux/delay.h> | 83 | #include <linux/delay.h> |
83 | #include <linux/init.h> | 84 | #include <linux/init.h> |
84 | #include "slip.h" | 85 | #include "slip.h" |
@@ -1168,6 +1169,27 @@ static int slip_ioctl(struct tty_struct *tty, struct file *file, | |||
1168 | } | 1169 | } |
1169 | } | 1170 | } |
1170 | 1171 | ||
1172 | #ifdef CONFIG_COMPAT | ||
1173 | static long slip_compat_ioctl(struct tty_struct *tty, struct file *file, | ||
1174 | unsigned int cmd, unsigned long arg) | ||
1175 | { | ||
1176 | switch (cmd) { | ||
1177 | case SIOCGIFNAME: | ||
1178 | case SIOCGIFENCAP: | ||
1179 | case SIOCSIFENCAP: | ||
1180 | case SIOCSIFHWADDR: | ||
1181 | case SIOCSKEEPALIVE: | ||
1182 | case SIOCGKEEPALIVE: | ||
1183 | case SIOCSOUTFILL: | ||
1184 | case SIOCGOUTFILL: | ||
1185 | return slip_ioctl(tty, file, cmd, | ||
1186 | (unsigned long)compat_ptr(arg)); | ||
1187 | } | ||
1188 | |||
1189 | return -ENOIOCTLCMD; | ||
1190 | } | ||
1191 | #endif | ||
1192 | |||
1171 | /* VSV changes start here */ | 1193 | /* VSV changes start here */ |
1172 | #ifdef CONFIG_SLIP_SMART | 1194 | #ifdef CONFIG_SLIP_SMART |
1173 | /* function do_ioctl called from net/core/dev.c | 1195 | /* function do_ioctl called from net/core/dev.c |
@@ -1260,6 +1282,9 @@ static struct tty_ldisc_ops sl_ldisc = { | |||
1260 | .close = slip_close, | 1282 | .close = slip_close, |
1261 | .hangup = slip_hangup, | 1283 | .hangup = slip_hangup, |
1262 | .ioctl = slip_ioctl, | 1284 | .ioctl = slip_ioctl, |
1285 | #ifdef CONFIG_COMPAT | ||
1286 | .compat_ioctl = slip_compat_ioctl, | ||
1287 | #endif | ||
1263 | .receive_buf = slip_receive_buf, | 1288 | .receive_buf = slip_receive_buf, |
1264 | .write_wakeup = slip_write_wakeup, | 1289 | .write_wakeup = slip_write_wakeup, |
1265 | }; | 1290 | }; |