Skip to contentSkip to conversation

Drivers: hv: vmbus: Fix a bug in the handling of channel offers

PATCH In review K. Y. Srinivasan 2 participants 5 messages Aug 26, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Drivers: hv: vmbus: Fix a bug in the handling of channel offers

The channel state should be correctly set before registering the device. In the current code the driver probe would fail for channels that have been rescinded and subsequently re-offered. Fix the bug.

---
 drivers/hv/channel_mgmt.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
drivers/hv/channel_mgmt.c +7 -7
index 12ec8c8..bbff5f2 100644
@@ -293,6 +293,13 @@ static void vmbus_process_offer(struct work_struct *work)
 	}
 
 	/*
+	 * This state is used to indicate a successful open
+	 * so that when we do close the channel normally, we
+	 * can cleanup properly
+	 */
+	newchannel->state = CHANNEL_OPEN_STATE;
+
+	/*
 	 * Start the process of binding this offer to the driver
 	 * We need to set the DeviceObject field before calling
 	 * vmbus_child_dev_add()
@@ -318,13 +325,6 @@ static void vmbus_process_offer(struct work_struct *work)
 		kfree(newchannel->device_obj);
 
 		free_channel(newchannel);
-	} else {
-		/*
-		 * This state is used to indicate a successful open
-		 * so that when we do close the channel normally, we
-		 * can cleanup properly
-		 */
-		newchannel->state = CHANNEL_OPEN_STATE;
 	}
 }
 
Signature · 1 line
1.7.4.1
maintainer
#1 lore raw
Quoted 6 lines · K. Y. Srinivasan

The channel state should be correctly set before registering the device. In the current code the driver probe would fail for channels that have been rescinded and subsequently re-offered. Fix the bug.

What older kernel versions have this bug? When did it show up?

thanks,

greg k-h

#2 lore raw
Quoted 14 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, August 26, 2013 2:57 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 1/1] Drivers: hv: vmbus: Fix a bug in the handling of channel offers

Quoted 1 line · K. Y. Srinivasan

The channel state should be correctly set before registering the device. In the

current

Quoted 8 lines
Quoted 1 line

code the driver probe would fail for channels that have been rescinded and

subsequently

Quoted 4 lines

re-offered. Fix the bug.

What older kernel versions have this bug? When did it show up?

The patch that introduced the bug is:

commit e68d2971d26577b932a16333ce165af98a96e068

Author: K. Y. Srinivasan <[email protected]>
Date:   Thu May 23 12:02:32 2013 -0700

Drivers: hv: vmbus: Implement multi-channel support

I think 3.10 shipped with this bug.

Regards,

K. Y

Quoted 4 lines

thanks,

greg k-h

maintainer
#3 lore raw
Quoted 25 lines · KY Srinivasan
Quoted 14 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, August 26, 2013 2:57 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 1/1] Drivers: hv: vmbus: Fix a bug in the handling of channel offers

Quoted 1 line · K. Y. Srinivasan

The channel state should be correctly set before registering the device. In the

current

Quoted 8 lines
Quoted 1 line

code the driver probe would fail for channels that have been rescinded and

subsequently

Quoted 4 lines

re-offered. Fix the bug.

What older kernel versions have this bug? When did it show up?

The patch that introduced the bug is:

Quoted 7 lines

commit e68d2971d26577b932a16333ce165af98a96e068

Author: K. Y. Srinivasan <[email protected]>
Date:   Thu May 23 12:02:32 2013 -0700

Drivers: hv: vmbus: Implement multi-channel support

I think 3.10 shipped with this bug.

Why do you think that, it's not what git shows:

	$ git describe --contains e68d2971d26577b932a16333ce165af98a96e068
	v3.11-rc1~157^2~64

So this is a 3.11-only thing, right?

thanks,

greg k-h

#4 lore raw
Quoted 46 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, August 26, 2013 4:14 PM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 1/1] Drivers: hv: vmbus: Fix a bug in the handling of channel offers

Quoted 7 lines · KY Srinivasan
Quoted 7 lines

-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Monday, August 26, 2013 2:57 PM
To: KY Srinivasan
Cc: [email protected]; [email protected];

[email protected];

Quoted 2 lines
Quoted 2 lines

[email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 1/1] Drivers: hv: vmbus: Fix a bug in the handling of

channel

Quoted 4 lines
Quoted 4 lines

offers

Quoted 1 line · K. Y. Srinivasan

The channel state should be correctly set before registering the device. In

the

Quoted 18 lines
Quoted 9 lines

current

Quoted 1 line

code the driver probe would fail for channels that have been rescinded and

subsequently

Quoted 4 lines

re-offered. Fix the bug.

What older kernel versions have this bug? When did it show up?

The patch that introduced the bug is:

commit e68d2971d26577b932a16333ce165af98a96e068

Author: K. Y. Srinivasan <[email protected]>
Date:   Thu May 23 12:02:32 2013 -0700

Drivers: hv: vmbus: Implement multi-channel support

Quoted 7 lines
Quoted 1 line

I think 3.10 shipped with this bug.

Why do you think that, it's not what git shows:

	$ git describe --contains e68d2971d26577b932a16333ce165af98a96e068
	v3.11-rc1~157^2~64

So this is a 3.11-only thing, right?

My mistake; I was looking at some version of linux-3.10 code that had this problem and so I assumed it must have shipped in 3.10.

Regards,

K. Y

Quoted 4 lines

thanks,

greg k-h