Drivers: hv: vmbus: Prevent sending data on a rescinded channel

am: e44eab51e7

Change-Id: I2ddbfadcd61f6e9bd0cbe93de0bc0d4d1c6399f9
This commit is contained in:
K. Y. Srinivasan
2017-03-12 08:28:14 +00:00
committed by android-build-merger

View File

@@ -298,6 +298,9 @@ int hv_ringbuffer_write(struct vmbus_channel *channel,
unsigned long flags = 0;
struct hv_ring_buffer_info *outring_info = &channel->outbound;
if (channel->rescind)
return -ENODEV;
for (i = 0; i < kv_count; i++)
totalbytes_towrite += kv_list[i].iov_len;
@@ -350,6 +353,10 @@ int hv_ringbuffer_write(struct vmbus_channel *channel,
spin_unlock_irqrestore(&outring_info->ring_lock, flags);
hv_signal_on_write(old_write, channel, kick_q);
if (channel->rescind)
return -ENODEV;
return 0;
}