aboutsummaryrefslogtreecommitdiffstats
path: root/net/tls/tls_sw.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tls/tls_sw.c')
-rw-r--r--net/tls/tls_sw.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
index f127fac88acf..d2380548f8f6 100644
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -919,22 +919,23 @@ splice_read_end:
919 return copied ? : err; 919 return copied ? : err;
920} 920}
921 921
922__poll_t tls_sw_poll_mask(struct socket *sock, __poll_t events) 922unsigned int tls_sw_poll(struct file *file, struct socket *sock,
923 struct poll_table_struct *wait)
923{ 924{
925 unsigned int ret;
924 struct sock *sk = sock->sk; 926 struct sock *sk = sock->sk;
925 struct tls_context *tls_ctx = tls_get_ctx(sk); 927 struct tls_context *tls_ctx = tls_get_ctx(sk);
926 struct tls_sw_context_rx *ctx = tls_sw_ctx_rx(tls_ctx); 928 struct tls_sw_context_rx *ctx = tls_sw_ctx_rx(tls_ctx);
927 __poll_t mask;
928 929
929 /* Grab EPOLLOUT and EPOLLHUP from the underlying socket */ 930 /* Grab POLLOUT and POLLHUP from the underlying socket */
930 mask = ctx->sk_poll_mask(sock, events); 931 ret = ctx->sk_poll(file, sock, wait);
931 932
932 /* Clear EPOLLIN bits, and set based on recv_pkt */ 933 /* Clear POLLIN bits, and set based on recv_pkt */
933 mask &= ~(EPOLLIN | EPOLLRDNORM); 934 ret &= ~(POLLIN | POLLRDNORM);
934 if (ctx->recv_pkt) 935 if (ctx->recv_pkt)
935 mask |= EPOLLIN | EPOLLRDNORM; 936 ret |= POLLIN | POLLRDNORM;
936 937
937 return mask; 938 return ret;
938} 939}
939 940
940static int tls_read_size(struct strparser *strp, struct sk_buff *skb) 941static int tls_read_size(struct strparser *strp, struct sk_buff *skb)
@@ -1191,7 +1192,7 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx)
1191 sk->sk_data_ready = tls_data_ready; 1192 sk->sk_data_ready = tls_data_ready;
1192 write_unlock_bh(&sk->sk_callback_lock); 1193 write_unlock_bh(&sk->sk_callback_lock);
1193 1194
1194 sw_ctx_rx->sk_poll_mask = sk->sk_socket->ops->poll_mask; 1195 sw_ctx_rx->sk_poll = sk->sk_socket->ops->poll;
1195 1196
1196 strp_check_rcv(&sw_ctx_rx->strp); 1197 strp_check_rcv(&sw_ctx_rx->strp);
1197 } 1198 }