Displaying 20 results from an estimated 118 matches for "poll_wait".
2013 Jul 22
3
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...>> >>>
>> >>> port = filp->private_data;
>> >>> + if (!port->guest_connected) {
>> >>> + /* Port was unplugged before we could proceed */
>> >>> + return POLLHUP;
>> >>> + }
>> >>> poll_wait(filp, &port->waitqueue, wait);
>> >>>
>> >>> if (!port->guest_connected) {
>> >> Looks still racy here. Unlike port_fops_read() which check
>> >> will_read_block(). If unplug happens after the check but before the
>> >>...
2013 Jul 22
3
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...>> >>>
>> >>> port = filp->private_data;
>> >>> + if (!port->guest_connected) {
>> >>> + /* Port was unplugged before we could proceed */
>> >>> + return POLLHUP;
>> >>> + }
>> >>> poll_wait(filp, &port->waitqueue, wait);
>> >>>
>> >>> if (!port->guest_connected) {
>> >> Looks still racy here. Unlike port_fops_read() which check
>> >> will_read_block(). If unplug happens after the check but before the
>> >>...
2013 Jul 23
1
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...t;>> port = filp->private_data;
>>>>>>> + if (!port->guest_connected) {
>>>>>>> + /* Port was unplugged before we could proceed */
>>>>>>> + return POLLHUP;
>>>>>>> + }
>>>>>>> poll_wait(filp, &port->waitqueue, wait);
>>>>>>>
>>>>>>> if (!port->guest_connected) {
>>>>>> Looks still racy here. Unlike port_fops_read() which check
>>>>>> will_read_block(). If unplug happens after the check but...
2013 Jul 23
1
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...t;>> port = filp->private_data;
>>>>>>> + if (!port->guest_connected) {
>>>>>>> + /* Port was unplugged before we could proceed */
>>>>>>> + return POLLHUP;
>>>>>>> + }
>>>>>>> poll_wait(filp, &port->waitqueue, wait);
>>>>>>>
>>>>>>> if (!port->guest_connected) {
>>>>>> Looks still racy here. Unlike port_fops_read() which check
>>>>>> will_read_block(). If unplug happens after the check but...
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...file *filp, poll_table *wait)
>>> unsigned int ret;
>>>
>>> port = filp->private_data;
>>> + if (!port->guest_connected) {
>>> + /* Port was unplugged before we could proceed */
>>> + return POLLHUP;
>>> + }
>>> poll_wait(filp, &port->waitqueue, wait);
>>>
>>> if (!port->guest_connected) {
>> Looks still racy here. Unlike port_fops_read() which check
>> will_read_block(). If unplug happens after the check but before the
>> poll_wait(), caller will be blocked forever....
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...file *filp, poll_table *wait)
>>> unsigned int ret;
>>>
>>> port = filp->private_data;
>>> + if (!port->guest_connected) {
>>> + /* Port was unplugged before we could proceed */
>>> + return POLLHUP;
>>> + }
>>> poll_wait(filp, &port->waitqueue, wait);
>>>
>>> if (!port->guest_connected) {
>> Looks still racy here. Unlike port_fops_read() which check
>> will_read_block(). If unplug happens after the check but before the
>> poll_wait(), caller will be blocked forever....
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...@@ -967,6 +967,10 @@ static unsigned int port_fops_poll(struct file *filp, poll_table *wait)
> unsigned int ret;
>
> port = filp->private_data;
> + if (!port->guest_connected) {
> + /* Port was unplugged before we could proceed */
> + return POLLHUP;
> + }
> poll_wait(filp, &port->waitqueue, wait);
>
> if (!port->guest_connected) {
Looks still racy here. Unlike port_fops_read() which check
will_read_block(). If unplug happens after the check but before the
poll_wait(), caller will be blocked forever.
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...@@ -967,6 +967,10 @@ static unsigned int port_fops_poll(struct file *filp, poll_table *wait)
> unsigned int ret;
>
> port = filp->private_data;
> + if (!port->guest_connected) {
> + /* Port was unplugged before we could proceed */
> + return POLLHUP;
> + }
> poll_wait(filp, &port->waitqueue, wait);
>
> if (!port->guest_connected) {
Looks still racy here. Unlike port_fops_read() which check
will_read_block(). If unplug happens after the check but before the
poll_wait(), caller will be blocked forever.
2013 Jul 23
0
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...gt;
>>>>>> port = filp->private_data;
>>>>>> + if (!port->guest_connected) {
>>>>>> + /* Port was unplugged before we could proceed */
>>>>>> + return POLLHUP;
>>>>>> + }
>>>>>> poll_wait(filp, &port->waitqueue, wait);
>>>>>>
>>>>>> if (!port->guest_connected) {
>>>>> Looks still racy here. Unlike port_fops_read() which check
>>>>> will_read_block(). If unplug happens after the check but before the
>&...
2013 Jul 19
0
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...gt;> unsigned int ret;
> >>>
> >>> port = filp->private_data;
> >>> + if (!port->guest_connected) {
> >>> + /* Port was unplugged before we could proceed */
> >>> + return POLLHUP;
> >>> + }
> >>> poll_wait(filp, &port->waitqueue, wait);
> >>>
> >>> if (!port->guest_connected) {
> >> Looks still racy here. Unlike port_fops_read() which check
> >> will_read_block(). If unplug happens after the check but before the
> >> poll_wait(), caller...
2008 Apr 05
11
[PATCH RFC 1/5] vringfd syscall
...de <linux/module.h>
+
+static struct vfsmount *vring_mnt;
+static DEFINE_MUTEX(vring_lock);
+
+struct vring_info
+{
+ struct vring ring;
+ u16 mask;
+ u16 __user *last_used;
+ u16 last_avail;
+
+ const struct vring_ops *ops;
+ void *ops_data;
+
+ /* Waitqueue for poll() */
+ wait_queue_head_t poll_wait;
+
+ /* The mapped used ring. */
+ struct vring_used *used;
+ struct page *used_page;
+};
+
+static unsigned int vring_poll(struct file *filp,
+ struct poll_table_struct *poll)
+{
+ struct vring_info *vr = filp->private_data;
+ int err;
+ unsigned int mask;
+ u16 used, last_used;
+
+ /*...
2008 Apr 05
11
[PATCH RFC 1/5] vringfd syscall
...de <linux/module.h>
+
+static struct vfsmount *vring_mnt;
+static DEFINE_MUTEX(vring_lock);
+
+struct vring_info
+{
+ struct vring ring;
+ u16 mask;
+ u16 __user *last_used;
+ u16 last_avail;
+
+ const struct vring_ops *ops;
+ void *ops_data;
+
+ /* Waitqueue for poll() */
+ wait_queue_head_t poll_wait;
+
+ /* The mapped used ring. */
+ struct vring_used *used;
+ struct page *used_page;
+};
+
+static unsigned int vring_poll(struct file *filp,
+ struct poll_table_struct *poll)
+{
+ struct vring_info *vr = filp->private_data;
+ int err;
+ unsigned int mask;
+ u16 used, last_used;
+
+ /*...
2013 Jul 19
0
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...t port_fops_poll(struct file *filp, poll_table *wait)
> > unsigned int ret;
> >
> > port = filp->private_data;
> > + if (!port->guest_connected) {
> > + /* Port was unplugged before we could proceed */
> > + return POLLHUP;
> > + }
> > poll_wait(filp, &port->waitqueue, wait);
> >
> > if (!port->guest_connected) {
> Looks still racy here. Unlike port_fops_read() which check
> will_read_block(). If unplug happens after the check but before the
> poll_wait(), caller will be blocked forever.
unplug_port() ca...
2009 Apr 02
7
[Lguest] [PATCH 4/5] lguest: use KVM hypercalls
fre, 27 03 2009 kl. 10:22 +1030, skrev Rusty Russell:
> From: Matias Zabaljauregui <zabaljauregui at gmail.com>
>
> Impact: cleanup
>
> This patch allow us to use KVM hypercalls
Something has broken in relation to this change. I'm not sure it is this
change itself or one following, but I get the following error when using
lguest:
lguest: unhandled trap 6 at 0x418726
2009 Apr 02
7
[Lguest] [PATCH 4/5] lguest: use KVM hypercalls
fre, 27 03 2009 kl. 10:22 +1030, skrev Rusty Russell:
> From: Matias Zabaljauregui <zabaljauregui at gmail.com>
>
> Impact: cleanup
>
> This patch allow us to use KVM hypercalls
Something has broken in relation to this change. I'm not sure it is this
change itself or one following, but I get the following error when using
lguest:
lguest: unhandled trap 6 at 0x418726
2019 Dec 05
0
kernel BUG at fs/pipe.c:LINE!
...__poll_t
> pipe_poll(struct file *filp, poll_table *wait)
> {
> __poll_t mask;
> struct pipe_inode_info *pipe = filp->private_data;
> unsigned int head = READ_ONCE(pipe->head);
> unsigned int tail = READ_ONCE(pipe->tail);
>
> poll_wait(filp, &pipe->wait, wait);
>
> BUG_ON(pipe_occupancy(head, tail) > pipe->ring_size);
>
> It's not holding the pipe mutex, right? So 'head', 'tail' and 'ring_size' can
> all be changed concurrently, and they aren't read atomically...
2006 Sep 28
0
[Patch] Remove unnecessary tlb flush in blktap_poll
...cb125a885a9a linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c
--- a/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c Thu Sep 28 23:24:43 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c Thu Sep 28 23:29:31 2006 +0100
@@ -680,7 +680,6 @@ static unsigned int blktap_poll(struct f
poll_wait(file, &info->wait, wait);
if (info->ufe_ring.req_prod_pvt != info->ufe_ring.sring->req_prod) {
- flush_tlb_all();
RING_PUSH_REQUESTS(&info->ufe_ring);
return POLLIN | POLLRDNORM;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@...
2010 Sep 15
1
PATCH: virtio_console: Fix poll blocking even though there is data to read (version 2)
Hi All,
I found this while working on a Linux agent for spice, the symptom I was
seeing was select blocking on the spice vdagent virtio serial port even
though there were messages queued up there.
I found this while working on a Linux agent for spice, the symptom I was
seeing was select blocking on the spice vdagent virtio serial port even
though there were messages queued up there.
2010 Sep 15
1
PATCH: virtio_console: Fix poll blocking even though there is data to read (version 2)
Hi All,
I found this while working on a Linux agent for spice, the symptom I was
seeing was select blocking on the spice vdagent virtio serial port even
though there were messages queued up there.
I found this while working on a Linux agent for spice, the symptom I was
seeing was select blocking on the spice vdagent virtio serial port even
though there were messages queued up there.
2013 Jul 18
0
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...le.c
+++ b/drivers/char/virtio_console.c
@@ -967,6 +967,10 @@ static unsigned int port_fops_poll(struct file *filp, poll_table *wait)
unsigned int ret;
port = filp->private_data;
+ if (!port->guest_connected) {
+ /* Port was unplugged before we could proceed */
+ return POLLHUP;
+ }
poll_wait(filp, &port->waitqueue, wait);
if (!port->guest_connected) {
--
1.8.1.4