diff options
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r-- | net/tipc/socket.c | 17 |
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 | */ |
712 | static __poll_t tipc_poll(struct file *file, struct socket *sock, | 711 | static __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, |