Displaying 20 results from an estimated 68 matches for "virtio_vsock_remove".
2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...struct virtio_vsock *vsock)
> +{
> + flush_work(&vsock->loopback_work);
> + flush_work(&vsock->rx_work);
> + flush_work(&vsock->tx_work);
> + flush_work(&vsock->event_work);
> + flush_work(&vsock->send_pkt_work);
> +}
> +
> static void virtio_vsock_remove(struct virtio_device *vdev)
> {
> struct virtio_vsock *vsock = vdev->priv;
> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> mutex_lock(&the_virtio_vsock_mutex);
> the_virtio_vsock = NULL;
>
> - flush_work(&vsock->l...
2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...struct virtio_vsock *vsock)
> +{
> + flush_work(&vsock->loopback_work);
> + flush_work(&vsock->rx_work);
> + flush_work(&vsock->tx_work);
> + flush_work(&vsock->event_work);
> + flush_work(&vsock->send_pkt_work);
> +}
> +
> static void virtio_vsock_remove(struct virtio_device *vdev)
> {
> struct virtio_vsock *vsock = vdev->priv;
> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> mutex_lock(&the_virtio_vsock_mutex);
> the_virtio_vsock = NULL;
>
> - flush_work(&vsock->l...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...p;vsock->loopback_work);
>>> + flush_work(&vsock->rx_work);
>>> + flush_work(&vsock->tx_work);
>>> + flush_work(&vsock->event_work);
>>> + flush_work(&vsock->send_pkt_work);
>>> +}
>>> +
>>> static void virtio_vsock_remove(struct virtio_device *vdev)
>>> {
>>> struct virtio_vsock *vsock = vdev->priv;
>>> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>> mutex_lock(&the_virtio_vsock_mutex);
>>> the_virtio_vsock = NULL...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...p;vsock->loopback_work);
>>> + flush_work(&vsock->rx_work);
>>> + flush_work(&vsock->tx_work);
>>> + flush_work(&vsock->event_work);
>>> + flush_work(&vsock->send_pkt_work);
>>> +}
>>> +
>>> static void virtio_vsock_remove(struct virtio_device *vdev)
>>> {
>>> struct virtio_vsock *vsock = vdev->priv;
>>> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>> mutex_lock(&the_virtio_vsock_mutex);
>>> the_virtio_vsock = NULL...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...work(&vsock->rx_work);
>>>>> + flush_work(&vsock->tx_work);
>>>>> + flush_work(&vsock->event_work);
>>>>> + flush_work(&vsock->send_pkt_work);
>>>>> +}
>>>>> +
>>>>> static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>> {
>>>>> struct virtio_vsock *vsock = vdev->priv;
>>>>> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>> mutex_lock(&the_virtio_vsock_mutex);
>&...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...work(&vsock->rx_work);
>>>>> + flush_work(&vsock->tx_work);
>>>>> + flush_work(&vsock->event_work);
>>>>> + flush_work(&vsock->send_pkt_work);
>>>>> +}
>>>>> +
>>>>> static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>> {
>>>>> struct virtio_vsock *vsock = vdev->priv;
>>>>> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>> mutex_lock(&the_virtio_vsock_mutex);
>&...
2019 May 28
8
[PATCH 0/4] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock
before registering the driver", Stefan pointed out some possible issues
in the .probe() and .remove() callbacks of the virtio-vsock driver.
This series tries to solve these issues:
- Patch 1 postpones the 'the_virtio_vsock' assignment at the end of the
.probe() to avoid that some sockets queue works when
2019 May 28
8
[PATCH 0/4] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock
before registering the driver", Stefan pointed out some possible issues
in the .probe() and .remove() callbacks of the virtio-vsock driver.
This series tries to solve these issues:
- Patch 1 postpones the 'the_virtio_vsock' assignment at the end of the
.probe() to avoid that some sockets queue works when
2019 May 29
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...> + flush_work(&vsock->loopback_work);
> > + flush_work(&vsock->rx_work);
> > + flush_work(&vsock->tx_work);
> > + flush_work(&vsock->event_work);
> > + flush_work(&vsock->send_pkt_work);
> > +}
> > +
> > static void virtio_vsock_remove(struct virtio_device *vdev)
> > {
> > struct virtio_vsock *vsock = vdev->priv;
> > @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> > mutex_lock(&the_virtio_vsock_mutex);
> > the_virtio_vsock = NULL;
> > - flush...
2019 May 31
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...00, Jason Wang wrote:
>>>> On 2019/5/29 ??6:58, Stefano Garzarella wrote:
>>>>> On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote:
>>>>>> On 2019/5/28 ??6:56, Stefano Garzarella wrote:
>>>>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>>>> vsock->event_run = false;
>>>>>>> mutex_unlock(&vsock->event_lock);
>>>>>>> + /* Flush all pending works */
>>>>>>> + virtio_vsock_flush_works(vsock);
>&g...
2019 May 31
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...00, Jason Wang wrote:
>>>> On 2019/5/29 ??6:58, Stefano Garzarella wrote:
>>>>> On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote:
>>>>>> On 2019/5/28 ??6:56, Stefano Garzarella wrote:
>>>>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>>>> vsock->event_run = false;
>>>>>>> mutex_unlock(&vsock->event_lock);
>>>>>>> + /* Flush all pending works */
>>>>>>> + virtio_vsock_flush_works(vsock);
>&g...
2019 May 30
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...flush_work(&vsock->rx_work);
> > > > + flush_work(&vsock->tx_work);
> > > > + flush_work(&vsock->event_work);
> > > > + flush_work(&vsock->send_pkt_work);
> > > > +}
> > > > +
> > > > static void virtio_vsock_remove(struct virtio_device *vdev)
> > > > {
> > > > struct virtio_vsock *vsock = vdev->priv;
> > > > @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> > > > mutex_lock(&the_virtio_vsock_mutex);
> > &g...
2019 May 28
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t;
}
+static void virtio_vsock_flush_works(struct virtio_vsock *vsock)
+{
+ flush_work(&vsock->loopback_work);
+ flush_work(&vsock->rx_work);
+ flush_work(&vsock->tx_work);
+ flush_work(&vsock->event_work);
+ flush_work(&vsock->send_pkt_work);
+}
+
static void virtio_vsock_remove(struct virtio_device *vdev)
{
struct virtio_vsock *vsock = vdev->priv;
@@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
mutex_lock(&the_virtio_vsock_mutex);
the_virtio_vsock = NULL;
- flush_work(&vsock->loopback_work);
- flush_work(&vsock-&...
2019 Jun 13
1
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t;>>> On 2019/5/29 ??6:58, Stefano Garzarella wrote:
>>>>>>> On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote:
>>>>>>>> On 2019/5/28 ??6:56, Stefano Garzarella wrote:
>>>>>>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
>>>>>>>>> vsock->event_run = false;
>>>>>>>>> mutex_unlock(&vsock->event_lock);
>>>>>>>>> + /* Flush all pending works */
>>>>>>>>> + virti...
2019 Jul 05
4
[PATCH v3 0/3] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock
before registering the driver", Stefan pointed out some possible issues
in the .probe() and .remove() callbacks of the virtio-vsock driver.
This series tries to solve these issues:
- Patch 1 adds RCU critical sections to avoid use-after-free of
'the_virtio_vsock' pointer.
- Patch 2 stops workers before to
2018 Nov 05
2
[PATCH 1/5] VSOCK: support fill mergeable rx buffer in guest
...probe(struct virtio_device *vdev)
if (ret < 0)
goto out_vqs;
+ if (virtio_has_feature(vdev, VIRTIO_VSOCK_F_MRG_RXBUF))
+ vsock->mergeable = true;
+
vsock->rx_buf_nr = 0;
vsock->rx_buf_max_nr = 0;
atomic_set(&vsock->queued_replies, 0);
@@ -640,8 +669,12 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
vdev->config->reset(vdev);
mutex_lock(&vsock->rx_lock);
- while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_RX])))
- virtio_transport_free_pkt(pkt);
+ while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_RX]))) {
+ if (vsock...
2018 Nov 05
2
[PATCH 1/5] VSOCK: support fill mergeable rx buffer in guest
...probe(struct virtio_device *vdev)
if (ret < 0)
goto out_vqs;
+ if (virtio_has_feature(vdev, VIRTIO_VSOCK_F_MRG_RXBUF))
+ vsock->mergeable = true;
+
vsock->rx_buf_nr = 0;
vsock->rx_buf_max_nr = 0;
atomic_set(&vsock->queued_replies, 0);
@@ -640,8 +669,12 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
vdev->config->reset(vdev);
mutex_lock(&vsock->rx_lock);
- while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_RX])))
- virtio_transport_free_pkt(pkt);
+ while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_RX]))) {
+ if (vsock...
2019 May 31
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...0800, Jason Wang wrote:
> > > On 2019/5/29 ??6:58, Stefano Garzarella wrote:
> > > > On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote:
> > > > > On 2019/5/28 ??6:56, Stefano Garzarella wrote:
> > > > > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> > > > > > vsock->event_run = false;
> > > > > > mutex_unlock(&vsock->event_lock);
> > > > > > + /* Flush all pending works */
> > > > > > + virtio_vsock_flush_works(vsock);
>...
2019 Jun 28
11
[PATCH v2 0/3] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock
before registering the driver", Stefan pointed out some possible issues
in the .probe() and .remove() callbacks of the virtio-vsock driver.
This series tries to solve these issues:
- Patch 1 adds RCU critical sections to avoid use-after-free of
'the_virtio_vsock' pointer.
- Patch 2 stops workers before to
2019 Jun 28
11
[PATCH v2 0/3] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock
before registering the driver", Stefan pointed out some possible issues
in the .probe() and .remove() callbacks of the virtio-vsock driver.
This series tries to solve these issues:
- Patch 1 adds RCU critical sections to avoid use-after-free of
'the_virtio_vsock' pointer.
- Patch 2 stops workers before to