Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[TIPC]: Use standard socket "not implemented" routines

This patch modifies TIPC's socket API to utilize existing
generic routines to indicate unsupported operations, rather
than adding similar TIPC-specific routines.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Jon Paul Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Allan Stephens and committed by
David S. Miller
5eee6a6d f3ec75f6

+14 -41
+14 -41
net/tipc/socket.c
··· 1 1 /* 2 2 * net/tipc/socket.c: TIPC socket API 3 3 * 4 - * Copyright (c) 2001-2006, Ericsson AB 5 - * Copyright (c) 2004-2006, Wind River Systems 4 + * Copyright (c) 2001-2007, Ericsson AB 5 + * Copyright (c) 2004-2007, Wind River Systems 6 6 * All rights reserved. 7 7 * 8 8 * Redistribution and use in source and binary forms, with or without ··· 1600 1600 } 1601 1601 1602 1602 /** 1603 - * Placeholders for non-implemented functionality 1604 - * 1605 - * Returns error code (POSIX-compliant where defined) 1606 - */ 1607 - 1608 - static int ioctl(struct socket *s, u32 cmd, unsigned long arg) 1609 - { 1610 - return -EINVAL; 1611 - } 1612 - 1613 - static int no_mmap(struct file *file, struct socket *sock, 1614 - struct vm_area_struct *vma) 1615 - { 1616 - return -EINVAL; 1617 - } 1618 - static ssize_t no_sendpage(struct socket *sock, struct page *page, 1619 - int offset, size_t size, int flags) 1620 - { 1621 - return -EINVAL; 1622 - } 1623 - 1624 - static int no_skpair(struct socket *s1, struct socket *s2) 1625 - { 1626 - return -EOPNOTSUPP; 1627 - } 1628 - 1629 - /** 1630 1603 * Protocol switches for the various types of TIPC sockets 1631 1604 */ 1632 1605 ··· 1609 1636 .release = release, 1610 1637 .bind = bind, 1611 1638 .connect = connect, 1612 - .socketpair = no_skpair, 1639 + .socketpair = sock_no_socketpair, 1613 1640 .accept = accept, 1614 1641 .getname = get_name, 1615 1642 .poll = poll, 1616 - .ioctl = ioctl, 1643 + .ioctl = sock_no_ioctl, 1617 1644 .listen = listen, 1618 1645 .shutdown = shutdown, 1619 1646 .setsockopt = setsockopt, 1620 1647 .getsockopt = getsockopt, 1621 1648 .sendmsg = send_msg, 1622 1649 .recvmsg = recv_msg, 1623 - .mmap = no_mmap, 1624 - .sendpage = no_sendpage 1650 + .mmap = sock_no_mmap, 1651 + .sendpage = sock_no_sendpage 1625 1652 }; 1626 1653 1627 1654 static struct proto_ops packet_ops = { ··· 1630 1657 .release = release, 1631 1658 .bind = bind, 1632 1659 .connect = connect, 1633 - .socketpair = no_skpair, 1660 + .socketpair = sock_no_socketpair, 1634 1661 .accept = accept, 1635 1662 .getname = get_name, 1636 1663 .poll = poll, 1637 - .ioctl = ioctl, 1664 + .ioctl = sock_no_ioctl, 1638 1665 .listen = listen, 1639 1666 .shutdown = shutdown, 1640 1667 .setsockopt = setsockopt, 1641 1668 .getsockopt = getsockopt, 1642 1669 .sendmsg = send_packet, 1643 1670 .recvmsg = recv_msg, 1644 - .mmap = no_mmap, 1645 - .sendpage = no_sendpage 1671 + .mmap = sock_no_mmap, 1672 + .sendpage = sock_no_sendpage 1646 1673 }; 1647 1674 1648 1675 static struct proto_ops stream_ops = { ··· 1651 1678 .release = release, 1652 1679 .bind = bind, 1653 1680 .connect = connect, 1654 - .socketpair = no_skpair, 1681 + .socketpair = sock_no_socketpair, 1655 1682 .accept = accept, 1656 1683 .getname = get_name, 1657 1684 .poll = poll, 1658 - .ioctl = ioctl, 1685 + .ioctl = sock_no_ioctl, 1659 1686 .listen = listen, 1660 1687 .shutdown = shutdown, 1661 1688 .setsockopt = setsockopt, 1662 1689 .getsockopt = getsockopt, 1663 1690 .sendmsg = send_stream, 1664 1691 .recvmsg = recv_stream, 1665 - .mmap = no_mmap, 1666 - .sendpage = no_sendpage 1692 + .mmap = sock_no_mmap, 1693 + .sendpage = sock_no_sendpage 1667 1694 }; 1668 1695 1669 1696 static struct net_proto_family tipc_family_ops = {