diff --git a/[refs] b/[refs] index d338f807b26c..a4bdbe6e0f6a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5456f09aaf88731e16dbcea7522cb330b6846415 +refs/heads/master: 973a34aa8593dbfe84386343c694f5beecb51d8a diff --git a/trunk/net/unix/af_unix.c b/trunk/net/unix/af_unix.c index e8898758dd31..7ff31c60186a 100644 --- a/trunk/net/unix/af_unix.c +++ b/trunk/net/unix/af_unix.c @@ -2091,6 +2091,10 @@ static unsigned int unix_dgram_poll(struct file *file, struct socket *sock, return mask; } + /* No write status requested, avoid expensive OUT tests. */ + if (wait && !(wait->key & (POLLWRBAND | POLLWRNORM | POLLOUT))) + return mask; + writable = unix_writable(sk); other = unix_peer_get(sk); if (other) {