2021-02-22 15:01:30

by Tang Bin

[permalink] [raw]
Subject: [PATCH] net: tap: remove redundant assignments

In the function tap_get_user, the assignment of 'err' at both places
is redundant, so remove one.

Signed-off-by: Tang Bin <[email protected]>
---
drivers/net/tap.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 1f4bdd944..3e9c72738 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -625,7 +625,7 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
struct tap_dev *tap;
unsigned long total_len = iov_iter_count(from);
unsigned long len = total_len;
- int err;
+ int err = -EINVAL;
struct virtio_net_hdr vnet_hdr = { 0 };
int vnet_hdr_len = 0;
int copylen = 0;
@@ -636,7 +636,6 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
if (q->flags & IFF_VNET_HDR) {
vnet_hdr_len = READ_ONCE(q->vnet_hdr_sz);

- err = -EINVAL;
if (len < vnet_hdr_len)
goto err;
len -= vnet_hdr_len;
@@ -657,7 +656,6 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
goto err;
}

- err = -EINVAL;
if (unlikely(len < ETH_HLEN))
goto err;

--
2.20.1.windows.1




2021-02-23 00:58:58

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] net: tap: remove redundant assignments

On Mon, 22 Feb 2021 22:57:48 +0800 Tang Bin wrote:
> In the function tap_get_user, the assignment of 'err' at both places
> is redundant, so remove one.
>
> Signed-off-by: Tang Bin <[email protected]>
> ---
> drivers/net/tap.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/tap.c b/drivers/net/tap.c
> index 1f4bdd944..3e9c72738 100644
> --- a/drivers/net/tap.c
> +++ b/drivers/net/tap.c
> @@ -625,7 +625,7 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
> struct tap_dev *tap;
> unsigned long total_len = iov_iter_count(from);
> unsigned long len = total_len;
> - int err;
> + int err = -EINVAL;
> struct virtio_net_hdr vnet_hdr = { 0 };
> int vnet_hdr_len = 0;
> int copylen = 0;
> @@ -636,7 +636,6 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
> if (q->flags & IFF_VNET_HDR) {
> vnet_hdr_len = READ_ONCE(q->vnet_hdr_sz);
>
> - err = -EINVAL;
> if (len < vnet_hdr_len)
> goto err;
> len -= vnet_hdr_len;
> @@ -657,7 +656,6 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
> goto err;
> }
>
> - err = -EINVAL;
> if (unlikely(len < ETH_HLEN))
> goto err;
>

Assigning err close to the gotos makes the code more robust and easier
to read. No applying this, sorry.