aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r--net/tipc/socket.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 252a52ae0893..3bb45042e833 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -692,10 +692,9 @@ static int tipc_getname(struct socket *sock, struct sockaddr *uaddr,
692} 692}
693 693
694/** 694/**
695 * tipc_poll - read and possibly block on pollmask 695 * tipc_poll - read pollmask
696 * @file: file structure associated with the socket 696 * @file: file structure associated with the socket
697 * @sock: socket for which to calculate the poll bits 697 * @sock: socket for which to calculate the poll bits
698 * @wait: ???
699 * 698 *
700 * Returns pollmask value 699 * Returns pollmask value
701 * 700 *
@@ -709,15 +708,12 @@ static int tipc_getname(struct socket *sock, struct sockaddr *uaddr,
709 * imply that the operation will succeed, merely that it should be performed 708 * imply that the operation will succeed, merely that it should be performed
710 * and will not block. 709 * and will not block.
711 */ 710 */
712static __poll_t tipc_poll(struct file *file, struct socket *sock, 711static __poll_t tipc_poll_mask(struct socket *sock, __poll_t events)
713 poll_table *wait)
714{ 712{
715 struct sock *sk = sock->sk; 713 struct sock *sk = sock->sk;
716 struct tipc_sock *tsk = tipc_sk(sk); 714 struct tipc_sock *tsk = tipc_sk(sk);
717 __poll_t revents = 0; 715 __poll_t revents = 0;
718 716
719 sock_poll_wait(file, sk_sleep(sk), wait);
720
721 if (sk->sk_shutdown & RCV_SHUTDOWN) 717 if (sk->sk_shutdown & RCV_SHUTDOWN)
722 revents |= EPOLLRDHUP | EPOLLIN | EPOLLRDNORM; 718 revents |= EPOLLRDHUP | EPOLLIN | EPOLLRDNORM;
723 if (sk->sk_shutdown == SHUTDOWN_MASK) 719 if (sk->sk_shutdown == SHUTDOWN_MASK)
@@ -1516,10 +1512,10 @@ static void tipc_sk_set_orig_addr(struct msghdr *m, struct sk_buff *skb)
1516 1512
1517 srcaddr->sock.family = AF_TIPC; 1513 srcaddr->sock.family = AF_TIPC;
1518 srcaddr->sock.addrtype = TIPC_ADDR_ID; 1514 srcaddr->sock.addrtype = TIPC_ADDR_ID;
1515 srcaddr->sock.scope = 0;
1519 srcaddr->sock.addr.id.ref = msg_origport(hdr); 1516 srcaddr->sock.addr.id.ref = msg_origport(hdr);
1520 srcaddr->sock.addr.id.node = msg_orignode(hdr); 1517 srcaddr->sock.addr.id.node = msg_orignode(hdr);
1521 srcaddr->sock.addr.name.domain = 0; 1518 srcaddr->sock.addr.name.domain = 0;
1522 srcaddr->sock.scope = 0;
1523 m->msg_namelen = sizeof(struct sockaddr_tipc); 1519 m->msg_namelen = sizeof(struct sockaddr_tipc);
1524 1520
1525 if (!msg_in_group(hdr)) 1521 if (!msg_in_group(hdr))
@@ -1528,6 +1524,7 @@ static void tipc_sk_set_orig_addr(struct msghdr *m, struct sk_buff *skb)
1528 /* Group message users may also want to know sending member's id */ 1524 /* Group message users may also want to know sending member's id */
1529 srcaddr->member.family = AF_TIPC; 1525 srcaddr->member.family = AF_TIPC;
1530 srcaddr->member.addrtype = TIPC_ADDR_NAME; 1526 srcaddr->member.addrtype = TIPC_ADDR_NAME;
1527 srcaddr->member.scope = 0;
1531 srcaddr->member.addr.name.name.type = msg_nametype(hdr); 1528 srcaddr->member.addr.name.name.type = msg_nametype(hdr);
1532 srcaddr->member.addr.name.name.instance = TIPC_SKB_CB(skb)->orig_member; 1529 srcaddr->member.addr.name.name.instance = TIPC_SKB_CB(skb)->orig_member;
1533 srcaddr->member.addr.name.domain = 0; 1530 srcaddr->member.addr.name.domain = 0;
@@ -3027,7 +3024,7 @@ static const struct proto_ops msg_ops = {
3027 .socketpair = tipc_socketpair, 3024 .socketpair = tipc_socketpair,
3028 .accept = sock_no_accept, 3025 .accept = sock_no_accept,
3029 .getname = tipc_getname, 3026 .getname = tipc_getname,
3030 .poll = tipc_poll, 3027 .poll_mask = tipc_poll_mask,
3031 .ioctl = tipc_ioctl, 3028 .ioctl = tipc_ioctl,
3032 .listen = sock_no_listen, 3029 .listen = sock_no_listen,
3033 .shutdown = tipc_shutdown, 3030 .shutdown = tipc_shutdown,
@@ -3048,7 +3045,7 @@ static const struct proto_ops packet_ops = {
3048 .socketpair = tipc_socketpair, 3045 .socketpair = tipc_socketpair,
3049 .accept = tipc_accept, 3046 .accept = tipc_accept,
3050 .getname = tipc_getname, 3047 .getname = tipc_getname,
3051 .poll = tipc_poll, 3048 .poll_mask = tipc_poll_mask,
3052 .ioctl = tipc_ioctl, 3049 .ioctl = tipc_ioctl,
3053 .listen = tipc_listen, 3050 .listen = tipc_listen,
3054 .shutdown = tipc_shutdown, 3051 .shutdown = tipc_shutdown,
@@ -3069,7 +3066,7 @@ static const struct proto_ops stream_ops = {
3069 .socketpair = tipc_socketpair, 3066 .socketpair = tipc_socketpair,
3070 .accept = tipc_accept, 3067 .accept = tipc_accept,
3071 .getname = tipc_getname, 3068 .getname = tipc_getname,
3072 .poll = tipc_poll, 3069 .poll_mask = tipc_poll_mask,
3073 .ioctl = tipc_ioctl, 3070 .ioctl = tipc_ioctl,
3074 .listen = tipc_listen, 3071 .listen = tipc_listen,
3075 .shutdown = tipc_shutdown, 3072 .shutdown = tipc_shutdown,