Displaying 10 results from an estimated 10 matches for "wake_up_interrupti".
2013 Jul 22
3
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...> 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() calls wake_up_interruptible on the waitqueue.
>>
>> I mean the following cases:
>
> (formatting to fit properly:)
>
>>
>> CPU0: CPU1: unplug_port()
>>
>> if (!port->guest_connected) {
>> return POLLHUP;
>> }
>>...
2013 Jul 22
3
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...> 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() calls wake_up_interruptible on the waitqueue.
>>
>> I mean the following cases:
>
> (formatting to fit properly:)
>
>>
>> CPU0: CPU1: unplug_port()
>>
>> if (!port->guest_connected) {
>> return POLLHUP;
>> }
>>...
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...ueue, 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() calls wake_up_interruptible on the waitqueue.
I mean the following cases:
CPU0: CPU1: unplug_port()
if (!port->guest_connected) {
return POLLHUP;
}
wake_up_interruptiable()
poll_wait(filp, &port->waitqueue,...
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...ueue, 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() calls wake_up_interruptible on the waitqueue.
I mean the following cases:
CPU0: CPU1: unplug_port()
if (!port->guest_connected) {
return POLLHUP;
}
wake_up_interruptiable()
poll_wait(filp, &port->waitqueue,...
2013 Jul 23
1
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...onnected) {
>>>>>> 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() calls wake_up_interruptible on the waitqueue.
>>>> I mean the following cases:
>>> (formatting to fit properly:)
>>>
>>>> CPU0: CPU1: unplug_port()
>>>>
>>>> if (!port->guest_connected) {
>>>> return POLLHUP;...
2013 Jul 23
1
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...onnected) {
>>>>>> 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() calls wake_up_interruptible on the waitqueue.
>>>> I mean the following cases:
>>> (formatting to fit properly:)
>>>
>>>> CPU0: CPU1: unplug_port()
>>>>
>>>> if (!port->guest_connected) {
>>>> return POLLHUP;...
2013 Jul 19
0
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...> >>> 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() calls wake_up_interruptible on the waitqueue.
>
> I mean the following cases:
(formatting to fit properly:)
>
> CPU0: CPU1: unplug_port()
>
> if (!port->guest_connected) {
> return POLLHUP;
> }
> wake_up_interruptiabl...
2013 Jul 23
0
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
...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() calls wake_up_interruptible on the waitqueue.
>>> I mean the following cases:
>> (formatting to fit properly:)
>>
>>> CPU0: CPU1: unplug_port()
>>>
>>> if (!port->guest_connected) {
>>> return POLLHUP;
>>> }
>>>...
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
On 07/19/2013 04:16 AM, Amit Shah wrote:
> Between poll() being called and processed, the port can be unplugged.
> Check if this happened, and bail out.
>
> Signed-off-by: Amit Shah <amit.shah at redhat.com>
> ---
> drivers/char/virtio_console.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/char/virtio_console.c
2013 Jul 19
2
[PATCH 06/10] virtio: console: fix race in port_fops_poll() and port unplug
On 07/19/2013 04:16 AM, Amit Shah wrote:
> Between poll() being called and processed, the port can be unplugged.
> Check if this happened, and bail out.
>
> Signed-off-by: Amit Shah <amit.shah at redhat.com>
> ---
> drivers/char/virtio_console.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/char/virtio_console.c