fanotify: Avoid lost events due to ENOMEM for unlimited queues
[sfrench/cifs-2.6.git] / kernel / relay.c
index 41280033a4c524fff06423fbb7bfdf2834f43e7e..c3029402f15c3367bdd3d59210eee471b6bb41c0 100644 (file)
@@ -611,7 +611,6 @@ free_bufs:
 
        kref_put(&chan->kref, relay_destroy_channel);
        mutex_unlock(&relay_channels_mutex);
-       kfree(chan);
        return NULL;
 }
 EXPORT_SYMBOL_GPL(relay_open);
@@ -925,12 +924,12 @@ static __poll_t relay_file_poll(struct file *filp, poll_table *wait)
        struct rchan_buf *buf = filp->private_data;
 
        if (buf->finalized)
-               return POLLERR;
+               return EPOLLERR;
 
        if (filp->f_mode & FMODE_READ) {
                poll_wait(filp, &buf->read_wait, wait);
                if (!relay_buf_empty(buf))
-                       mask |= POLLIN | POLLRDNORM;
+                       mask |= EPOLLIN | EPOLLRDNORM;
        }
 
        return mask;