2019-10-31 06:49:03

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] vsock: Simplify '__vsock_release()'

Use '__skb_queue_purge()' instead of re-implementing it.

Signed-off-by: Christophe JAILLET <[email protected]>
---
net/vmw_vsock/af_vsock.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index 2ab43b2bba31..2983dc92ca63 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -641,7 +641,6 @@ EXPORT_SYMBOL_GPL(__vsock_create);
static void __vsock_release(struct sock *sk, int level)
{
if (sk) {
- struct sk_buff *skb;
struct sock *pending;
struct vsock_sock *vsk;

@@ -662,8 +661,7 @@ static void __vsock_release(struct sock *sk, int level)
sock_orphan(sk);
sk->sk_shutdown = SHUTDOWN_MASK;

- while ((skb = skb_dequeue(&sk->sk_receive_queue)))
- kfree_skb(skb);
+ skb_queue_purge(&sk->sk_receive_queue);

/* Clean up any sockets that never were accepted. */
while ((pending = vsock_dequeue_accept(sk)) != NULL) {
--
2.20.1


2019-10-31 09:08:14

by Stefano Garzarella

[permalink] [raw]
Subject: Re: [PATCH] vsock: Simplify '__vsock_release()'

On Thu, Oct 31, 2019 at 07:47:41AM +0100, Christophe JAILLET wrote:
> Use '__skb_queue_purge()' instead of re-implementing it.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> net/vmw_vsock/af_vsock.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
> index 2ab43b2bba31..2983dc92ca63 100644
> --- a/net/vmw_vsock/af_vsock.c
> +++ b/net/vmw_vsock/af_vsock.c
> @@ -641,7 +641,6 @@ EXPORT_SYMBOL_GPL(__vsock_create);
> static void __vsock_release(struct sock *sk, int level)
> {
> if (sk) {
> - struct sk_buff *skb;
> struct sock *pending;
> struct vsock_sock *vsk;
>
> @@ -662,8 +661,7 @@ static void __vsock_release(struct sock *sk, int level)
> sock_orphan(sk);
> sk->sk_shutdown = SHUTDOWN_MASK;
>
> - while ((skb = skb_dequeue(&sk->sk_receive_queue)))
> - kfree_skb(skb);
> + skb_queue_purge(&sk->sk_receive_queue);
>
> /* Clean up any sockets that never were accepted. */
> while ((pending = vsock_dequeue_accept(sk)) != NULL) {

Good clean-up!

This patch LGTM:
Reviewed-by: Stefano Garzarella <[email protected]>

Thanks,
Stefano

2019-10-31 09:38:12

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] vsock: Simplify '__vsock_release()'

Hello!

On 31.10.2019 9:47, Christophe JAILLET wrote:

> Use '__skb_queue_purge()' instead of re-implementing it.

In don't see that double underscore below...

> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> net/vmw_vsock/af_vsock.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
> index 2ab43b2bba31..2983dc92ca63 100644
> --- a/net/vmw_vsock/af_vsock.c
> +++ b/net/vmw_vsock/af_vsock.c
[...]
> @@ -662,8 +661,7 @@ static void __vsock_release(struct sock *sk, int level)
> sock_orphan(sk);
> sk->sk_shutdown = SHUTDOWN_MASK;
>
> - while ((skb = skb_dequeue(&sk->sk_receive_queue)))
> - kfree_skb(skb);
> + skb_queue_purge(&sk->sk_receive_queue);
>
> /* Clean up any sockets that never were accepted. */
> while ((pending = vsock_dequeue_accept(sk)) != NULL) {

MBR, Sergei

2019-10-31 09:52:42

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] vsock: Simplify '__vsock_release()'

Le 31/10/2019 à 10:36, Sergei Shtylyov a écrit :
> Hello!
>
> On 31.10.2019 9:47, Christophe JAILLET wrote:
>
>> Use '__skb_queue_purge()' instead of re-implementing it.
>
>    In don't see that double underscore below...
This is a typo in the commit message.

There is no need for __ because skb_dequeue was used.

Could you fix it directly in the commit message (preferred solution for
me) or should I send a V2?

CJ

>> Signed-off-by: Christophe JAILLET <[email protected]>
>> ---
>>   net/vmw_vsock/af_vsock.c | 4 +---
>>   1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
>> index 2ab43b2bba31..2983dc92ca63 100644
>> --- a/net/vmw_vsock/af_vsock.c
>> +++ b/net/vmw_vsock/af_vsock.c
> [...]
>> @@ -662,8 +661,7 @@ static void __vsock_release(struct sock *sk, int
>> level)
>>           sock_orphan(sk);
>>           sk->sk_shutdown = SHUTDOWN_MASK;
>>   -        while ((skb = skb_dequeue(&sk->sk_receive_queue)))
>> -            kfree_skb(skb);
>> +        skb_queue_purge(&sk->sk_receive_queue);
>>             /* Clean up any sockets that never were accepted. */
>>           while ((pending = vsock_dequeue_accept(sk)) != NULL) {
>
> MBR, Sergei
>

2019-11-01 08:10:05

by Stefan Hajnoczi

[permalink] [raw]
Subject: Re: [PATCH] vsock: Simplify '__vsock_release()'

On Thu, Oct 31, 2019 at 07:47:41AM +0100, Christophe JAILLET wrote:
> Use '__skb_queue_purge()' instead of re-implementing it.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> net/vmw_vsock/af_vsock.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)

Modulo the comment about double-underscore:

Reviewed-by: Stefan Hajnoczi <[email protected]>


Attachments:
(No filename) (399.00 B)
signature.asc (499.00 B)
Download all attachments

2019-11-02 17:15:33

by Stefano Garzarella

[permalink] [raw]
Subject: Re: [PATCH] vsock: Simplify '__vsock_release()'

On Thu, Oct 31, 2019 at 10:49 AM Christophe JAILLET
<[email protected]> wrote:
>
> Le 31/10/2019 à 10:36, Sergei Shtylyov a écrit :
> > Hello!
> >
> > On 31.10.2019 9:47, Christophe JAILLET wrote:
> >
> >> Use '__skb_queue_purge()' instead of re-implementing it.
> >
> > In don't see that double underscore below...
> This is a typo in the commit message.
>
> There is no need for __ because skb_dequeue was used.
>
> Could you fix it directly in the commit message (preferred solution for
> me) or should I send a V2?
>

I think is better if you send a v2 fixing this and including the R-b tags.
My R-b stays with that fixed :-)

Thanks,
Stefano