From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.133]:46044 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966526AbeF1OVY (ORCPT ); Thu, 28 Jun 2018 10:21:24 -0400 From: Christoph Hellwig To: Alexander Viro Cc: Linus Torvalds , linux-fsdevel@vger.kernel.org, netdev@vger.kernel.org, lkp@01.org Subject: [PATCH 3/6] net: don't detour through struct to find the poll head Date: Thu, 28 Jun 2018 16:20:56 +0200 Message-Id: <20180628142059.10017-4-hch@lst.de> In-Reply-To: <20180628142059.10017-1-hch@lst.de> References: <20180628142059.10017-1-hch@lst.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: As far as I can tell sock->sk->sk_wq->wait will always point to sock->wq->wait. That means we can do the shorter dereference and not worry about any RCU protection. Signed-off-by: Christoph Hellwig --- net/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/socket.c b/net/socket.c index fe6620607b07..7cf037d21805 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1136,7 +1136,7 @@ static struct wait_queue_head *sock_get_poll_head(struct file *file, if (!sock->ops->poll_mask) return NULL; sock_poll_busy_loop(sock, events); - return sk_sleep(sock->sk); + return &sock->wq->wait; } static __poll_t sock_poll_mask(struct file *file, __poll_t events) -- 2.17.1