aboutsummaryrefslogtreecommitdiffstats
path: root/net/econet/af_econet.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/econet/af_econet.c')
-rw-r--r--net/econet/af_econet.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c
index c792994d7952..0c4c83bb2a59 100644
--- a/net/econet/af_econet.c
+++ b/net/econet/af_econet.c
@@ -693,6 +693,19 @@ static int econet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg
693 return 0; 693 return 0;
694} 694}
695 695
696#ifdef CONFIG_COMPAT
697static int econet_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
698{
699 /*
700 * All ioctls provided by econet are standard. There is one gotcha, sockaddr_ec
701 * differs between 32bit and 64bit. Fortunately nobody in kernel uses portion
702 * of sockaddr which differs between 32bit and 64bit, so we do not need special
703 * handling.
704 */
705 return -ENOIOCTLCMD;
706}
707#endif
708
696static struct net_proto_family econet_family_ops = { 709static struct net_proto_family econet_family_ops = {
697 .family = PF_ECONET, 710 .family = PF_ECONET,
698 .create = econet_create, 711 .create = econet_create,
@@ -710,6 +723,9 @@ static const struct proto_ops SOCKOPS_WRAPPED(econet_ops) = {
710 .getname = econet_getname, 723 .getname = econet_getname,
711 .poll = datagram_poll, 724 .poll = datagram_poll,
712 .ioctl = econet_ioctl, 725 .ioctl = econet_ioctl,
726#ifdef CONFIG_COMPAT
727 .compat_ioctl = econet_compat_ioctl,
728#endif
713 .listen = sock_no_listen, 729 .listen = sock_no_listen,
714 .shutdown = sock_no_shutdown, 730 .shutdown = sock_no_shutdown,
715 .setsockopt = sock_no_setsockopt, 731 .setsockopt = sock_no_setsockopt,