[v3,4/4] net/virtio: remove useless pointers checks

Message ID 20190605100039.18029-5-maxime.coquelin@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series et/virtio: Fix packet segmentation bug |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Maxime Coquelin June 5, 2019, 10 a.m. UTC
  This patch removes uses checks on 'prev' pointer, as it
is always set before with a valid value.

Reviewed-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_rxtx.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)
  

Comments

Xiaolong Ye June 6, 2019, 7:15 a.m. UTC | #1
On 06/05, Maxime Coquelin wrote:
>This patch removes uses checks on 'prev' pointer, as it

s/uses/useless/

>is always set before with a valid value.
>
>Reviewed-by: David Marchand <david.marchand@redhat.com>
>Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>---
> drivers/net/virtio/virtio_rxtx.c | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
>diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
>index 358cc86627..ca40ba9c5d 100644
>--- a/drivers/net/virtio/virtio_rxtx.c
>+++ b/drivers/net/virtio/virtio_rxtx.c
>@@ -1517,9 +1517,7 @@ virtio_recv_pkts_inorder(void *rx_queue,
> 
> 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
> 
>-			if (prev)
>-				prev->next = rxm;
>-
>+			prev->next = rxm;
> 			prev = rxm;
> 			seg_res -= 1;
> 		}
>@@ -1701,9 +1699,7 @@ virtio_recv_mergeable_pkts(void *rx_queue,
> 
> 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
> 
>-			if (prev)
>-				prev->next = rxm;
>-
>+			prev->next = rxm;
> 			prev = rxm;
> 			seg_res -= 1;
> 		}
>@@ -1876,9 +1872,7 @@ virtio_recv_mergeable_pkts_packed(void *rx_queue,
> 
> 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
> 
>-			if (prev)
>-				prev->next = rxm;
>-
>+			prev->next = rxm;
> 			prev = rxm;
> 			seg_res -= 1;
> 		}
>@@ -1921,8 +1915,7 @@ virtio_recv_mergeable_pkts_packed(void *rx_queue,
> 		} else {
> 			PMD_RX_LOG(ERR,
> 					"No enough segments for packet.");
>-			if (prev)
>-				virtio_discard_rxbuf(vq, prev);
>+			virtio_discard_rxbuf(vq, prev);
> 			rxvq->stats.errors++;
> 			break;
> 		}
>-- 
>2.21.0
>
  
Maxime Coquelin June 6, 2019, 7:31 a.m. UTC | #2
On 6/6/19 9:15 AM, Ye Xiaolong wrote:
> On 06/05, Maxime Coquelin wrote:
>> This patch removes uses checks on 'prev' pointer, as it
> 
> s/uses/useless/

Thanks, will fix while applying.

Maxime
>> is always set before with a valid value.
>>
>> Reviewed-by: David Marchand <david.marchand@redhat.com>
>> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>> ---
>> drivers/net/virtio/virtio_rxtx.c | 15 ++++-----------
>> 1 file changed, 4 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
>> index 358cc86627..ca40ba9c5d 100644
>> --- a/drivers/net/virtio/virtio_rxtx.c
>> +++ b/drivers/net/virtio/virtio_rxtx.c
>> @@ -1517,9 +1517,7 @@ virtio_recv_pkts_inorder(void *rx_queue,
>>
>> 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
>>
>> -			if (prev)
>> -				prev->next = rxm;
>> -
>> +			prev->next = rxm;
>> 			prev = rxm;
>> 			seg_res -= 1;
>> 		}
>> @@ -1701,9 +1699,7 @@ virtio_recv_mergeable_pkts(void *rx_queue,
>>
>> 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
>>
>> -			if (prev)
>> -				prev->next = rxm;
>> -
>> +			prev->next = rxm;
>> 			prev = rxm;
>> 			seg_res -= 1;
>> 		}
>> @@ -1876,9 +1872,7 @@ virtio_recv_mergeable_pkts_packed(void *rx_queue,
>>
>> 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
>>
>> -			if (prev)
>> -				prev->next = rxm;
>> -
>> +			prev->next = rxm;
>> 			prev = rxm;
>> 			seg_res -= 1;
>> 		}
>> @@ -1921,8 +1915,7 @@ virtio_recv_mergeable_pkts_packed(void *rx_queue,
>> 		} else {
>> 			PMD_RX_LOG(ERR,
>> 					"No enough segments for packet.");
>> -			if (prev)
>> -				virtio_discard_rxbuf(vq, prev);
>> +			virtio_discard_rxbuf(vq, prev);
>> 			rxvq->stats.errors++;
>> 			break;
>> 		}
>> -- 
>> 2.21.0
>>
  

Patch

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 358cc86627..ca40ba9c5d 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -1517,9 +1517,7 @@  virtio_recv_pkts_inorder(void *rx_queue,
 
 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
 
-			if (prev)
-				prev->next = rxm;
-
+			prev->next = rxm;
 			prev = rxm;
 			seg_res -= 1;
 		}
@@ -1701,9 +1699,7 @@  virtio_recv_mergeable_pkts(void *rx_queue,
 
 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
 
-			if (prev)
-				prev->next = rxm;
-
+			prev->next = rxm;
 			prev = rxm;
 			seg_res -= 1;
 		}
@@ -1876,9 +1872,7 @@  virtio_recv_mergeable_pkts_packed(void *rx_queue,
 
 			rx_pkts[nb_rx]->pkt_len += (uint32_t)(len[i]);
 
-			if (prev)
-				prev->next = rxm;
-
+			prev->next = rxm;
 			prev = rxm;
 			seg_res -= 1;
 		}
@@ -1921,8 +1915,7 @@  virtio_recv_mergeable_pkts_packed(void *rx_queue,
 		} else {
 			PMD_RX_LOG(ERR,
 					"No enough segments for packet.");
-			if (prev)
-				virtio_discard_rxbuf(vq, prev);
+			virtio_discard_rxbuf(vq, prev);
 			rxvq->stats.errors++;
 			break;
 		}