Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1477266 > unrolled thread

[PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914

Started bykys@exchange.microsoft.com
First post2016-09-06 12:40 +0200
Last post2016-09-06 17:40 +0200
Articles 4 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914 kys@exchange.microsoft.com - 2016-09-06 12:40 +0200
    Re: [PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914 Greg KH <gregkh@linuxfoundation.org> - 2016-09-06 14:20 +0200
    Re: [PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914 Dan Carpenter <dan.carpenter@oracle.com> - 2016-09-06 15:10 +0200
      RE: [PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914 KY Srinivasan <kys@microsoft.com> - 2016-09-06 17:40 +0200

#1477266 — [PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914

Fromkys@exchange.microsoft.com
Date2016-09-06 12:40 +0200
Subject[PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914
Message-ID<selXj-PI-25@gated-at.bofh.it>
From: K. Y. Srinivasan <kys@microsoft.com>

To deal with the merge conflict between net-next and char-misc trees,
revert commit bb08d431a914 from char-misc tree. This commit can be rebased
and applied once net-next picks up char-misc changes.
---
 include/linux/hyperv.h |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index c877e79..613074e 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1492,23 +1492,31 @@ static inline struct vmpacket_descriptor *
 get_next_pkt_raw(struct vmbus_channel *channel)
 {
 	struct hv_ring_buffer_info *ring_info = &channel->inbound;
-	u32 priv_read_loc = ring_info->priv_read_index;
+	u32 read_loc = ring_info->priv_read_index;
 	void *ring_buffer = hv_get_ring_buffer(ring_info);
+	struct vmpacket_descriptor *cur_desc;
+	u32 packetlen;
 	u32 dsize = ring_info->ring_datasize;
-	/*
-	 * delta is the difference between what is available to read and
-	 * what was already consumed in place. We commit read index after
-	 * the whole batch is processed.
-	 */
-	u32 delta = priv_read_loc >= ring_info->ring_buffer->read_index ?
-		priv_read_loc - ring_info->ring_buffer->read_index :
-		(dsize - ring_info->ring_buffer->read_index) + priv_read_loc;
+	u32 delta = read_loc - ring_info->ring_buffer->read_index;
 	u32 bytes_avail_toread = (hv_get_bytes_to_read(ring_info) - delta);
 
 	if (bytes_avail_toread < sizeof(struct vmpacket_descriptor))
 		return NULL;
 
-	return ring_buffer + priv_read_loc;
+	if ((read_loc + sizeof(*cur_desc)) > dsize)
+		return NULL;
+
+	cur_desc = ring_buffer + read_loc;
+	packetlen = cur_desc->len8 << 3;
+
+	/*
+	 * If the packet under consideration is wrapping around,
+	 * return failure.
+	 */
+	if ((read_loc + packetlen + VMBUS_PKT_TRAILER) > (dsize - 1))
+		return NULL;
+
+	return cur_desc;
 }
 
 /*
@@ -1520,14 +1528,16 @@ static inline void put_pkt_raw(struct vmbus_channel *channel,
 				struct vmpacket_descriptor *desc)
 {
 	struct hv_ring_buffer_info *ring_info = &channel->inbound;
+	u32 read_loc = ring_info->priv_read_index;
 	u32 packetlen = desc->len8 << 3;
 	u32 dsize = ring_info->ring_datasize;
 
+	if ((read_loc + packetlen + VMBUS_PKT_TRAILER) > dsize)
+		BUG();
 	/*
 	 * Include the packet trailer.
 	 */
 	ring_info->priv_read_index += packetlen + VMBUS_PKT_TRAILER;
-	ring_info->priv_read_index %= dsize;
 }
 
 /*
-- 
1.7.4.1

[toc] | [next] | [standalone]


#1477315

FromGreg KH <gregkh@linuxfoundation.org>
Date2016-09-06 14:20 +0200
Message-ID<senw5-1UN-21@gated-at.bofh.it>
In reply to#1477266
On Tue, Sep 06, 2016 at 05:28:12AM -0700, kys@exchange.microsoft.com wrote:
> From: K. Y. Srinivasan <kys@microsoft.com>
> 
> To deal with the merge conflict between net-next and char-misc trees,
> revert commit bb08d431a914 from char-misc tree. This commit can be rebased
> and applied once net-next picks up char-misc changes.
> ---
>  include/linux/hyperv.h |   32 +++++++++++++++++++++-----------
>  1 files changed, 21 insertions(+), 11 deletions(-)

No signed off by :(

And you don't provide the text of the reverted patch :(

[toc] | [prev] | [next] | [standalone]


#1477356

FromDan Carpenter <dan.carpenter@oracle.com>
Date2016-09-06 15:10 +0200
Message-ID<seoiu-2rH-33@gated-at.bofh.it>
In reply to#1477266
Use a human readable subject.  Look at the default git revert format.

regards,
dan carpenter

[toc] | [prev] | [next] | [standalone]


#1477552

FromKY Srinivasan <kys@microsoft.com>
Date2016-09-06 17:40 +0200
Message-ID<seqDE-3MC-25@gated-at.bofh.it>
In reply to#1477356

> -----Original Message-----
> From: Dan Carpenter [mailto:dan.carpenter@oracle.com]
> Sent: Tuesday, September 6, 2016 6:34 PM
> To: KY Srinivasan <kys@microsoft.com>
> Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org;
> devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com;
> vkuznets@redhat.com; jasowang@redhat.com;
> leann.ogasawara@canonical.com; sfr@canb.auug.org.au;
> davem@davemloft.net; Stephen Hemminger <sthemmin@microsoft.com>;
> arnd@arndb.de
> Subject: Re: [PATCH] Drivers: hv: vmbus: Revert commit bb08d431a914
> 
> Use a human readable subject.  Look at the default git revert format.

Thanks Dan; will do.

K. Y
> 
> regards,
> dan carpenter

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web