mirror of
https://github.com/linuxkit/linuxkit.git
synced 2026-06-09 20:54:38 +00:00
kernel: Update to 4.13.6/4.9.56/4.4.92
NOTE: Some of the 4.13.x VMBus patches did not apply cleanly and they were dropped for now. This may break LCOW and other Windows support. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
@@ -172,11 +172,11 @@ endef
|
||||
# Build Targets
|
||||
# Debug targets only for latest stable and LTS stable
|
||||
#
|
||||
$(eval $(call kernel,4.13.5,4.13.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.5,4.13.x,-dbg))
|
||||
$(eval $(call kernel,4.9.55,4.9.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.9.55,4.9.x,-dbg))
|
||||
$(eval $(call kernel,4.4.91,4.4.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.6,4.13.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.6,4.13.x,-dbg))
|
||||
$(eval $(call kernel,4.9.56,4.9.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.9.56,4.9.x,-dbg))
|
||||
$(eval $(call kernel,4.4.92,4.4.x,$(EXTRA)))
|
||||
|
||||
# Target for kernel config
|
||||
kconfig: | sources
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.13.5 Kernel Configuration
|
||||
# Linux/arm64 4.13.6 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.13.5 Kernel Configuration
|
||||
# Linux/x86 4.13.6 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.4.91 Kernel Configuration
|
||||
# Linux/arm64 4.4.92 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.4.91 Kernel Configuration
|
||||
# Linux/x86 4.4.92 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.9.55 Kernel Configuration
|
||||
# Linux/arm64 4.9.56 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.9.55 Kernel Configuration
|
||||
# Linux/x86 4.9.56 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c53376e0635d39e3037ce5a2b4874a50800d32e1 Mon Sep 17 00:00:00 2001
|
||||
From 88649f9b578f9d4a00f624e18c0524440ce97a0b Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:12 -0600
|
||||
Subject: [PATCH 01/17] vmbus: vmbus_open(): reset onchannel_callback on error
|
||||
Subject: [PATCH 01/14] vmbus: vmbus_open(): reset onchannel_callback on error
|
||||
|
||||
No real issue is observed without the patch, but let's add this
|
||||
just in case.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c6a481781fa76c095abe74bdc1083df2789d12a1 Mon Sep 17 00:00:00 2001
|
||||
From 443c87acb6c5a538e3e3065fced1e3e5a5c0aae3 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:20 -0600
|
||||
Subject: [PATCH 02/17] vmbus: remove "goto error_clean_msglist" in
|
||||
Subject: [PATCH 02/14] vmbus: remove "goto error_clean_msglist" in
|
||||
vmbus_open()
|
||||
|
||||
This is just a cleanup patch to simplify the code a little.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 12b46dafed31d8083e4352e91fb16d71b1b10fa9 Mon Sep 17 00:00:00 2001
|
||||
From dc99fa02f640b5f7719727e62d2f81f0d1c93868 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:23 -0600
|
||||
Subject: [PATCH 03/17] vmbus: dynamically enqueue/dequeue a channel on
|
||||
Subject: [PATCH 03/14] vmbus: dynamically enqueue/dequeue a channel on
|
||||
vmbus_open/close
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@@ -82,7 +82,7 @@ index 42498ecd0f02..d4243b5c39b7 100644
|
||||
channel->sc_creation_callback = NULL;
|
||||
/* Stop callback and cancel the timer asap */
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index 4bbb8dea4727..1afa7a699dd2 100644
|
||||
index 037361158074..415c69aeb32c 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -362,6 +362,17 @@ static void percpu_channel_enq(void *arg)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 31717efbd97bd61cddd19f9fee2972325d3e52e8 Mon Sep 17 00:00:00 2001
|
||||
From fcb3e7f94e485a5bcd730784f056d6650093149c Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:26 -0600
|
||||
Subject: [PATCH 04/17] hv_sock: implements Hyper-V transport for Virtual
|
||||
Subject: [PATCH 04/14] hv_sock: implements Hyper-V transport for Virtual
|
||||
Sockets (AF_VSOCK)
|
||||
|
||||
Hyper-V Sockets (hv_sock) supplies a byte-stream based communication
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5a08fb06df9c3b5275fb04a619ce9c05d1fe2b68 Mon Sep 17 00:00:00 2001
|
||||
From 215417da38c0a88d9b2468304b414c8faa88cd10 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:29 -0600
|
||||
Subject: [PATCH 05/17] VMCI: only try to load on VMware hypervisor
|
||||
Subject: [PATCH 05/14] VMCI: only try to load on VMware hypervisor
|
||||
|
||||
Without the patch, vmw_vsock_vmci_transport.ko and vmw_vmci.ko can
|
||||
automatically load when an application creates an AF_VSOCK socket.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 80833dd5a4b84db420395096d72b45d08bc99acc Mon Sep 17 00:00:00 2001
|
||||
From 31695355b51ff9351e1beb1d334a3eeb996896f4 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:35 -0600
|
||||
Subject: [PATCH 06/17] hv_sock: add the support of auto-loading
|
||||
Subject: [PATCH 06/14] hv_sock: add the support of auto-loading
|
||||
|
||||
After we disable VMWare virtual sockets driver's auto-loading on Hyper-V,
|
||||
we can enable hv_sock's auto-loading now.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From accbae2f5975f31044abff1c346b7962467a0725 Mon Sep 17 00:00:00 2001
|
||||
From d351b5ed3eafffe7dc31c2c75180782ca455ae31 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 18:52:02 -0600
|
||||
Subject: [PATCH 07/17] tools: hv_sock: 2 simple test cases.
|
||||
Subject: [PATCH 07/14] tools: hv_sock: 2 simple test cases.
|
||||
|
||||
Please read this document first:
|
||||
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From a45342433ece86ac489d2ff4a2be1902e900c5fe Mon Sep 17 00:00:00 2001
|
||||
From 0fe8cb7ac4a6fb02e267b4e87b0e9102aa7bb92f Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Tue, 16 May 2017 22:14:03 +0800
|
||||
Subject: [PATCH 08/17] hvsock: fix a race in hvs_stream_dequeue()
|
||||
Subject: [PATCH 08/14] hvsock: fix a race in hvs_stream_dequeue()
|
||||
|
||||
If hv_pkt_iter_next() returns a non-NULL pointer, we must update
|
||||
the recv_data_len/data_off info, otherwise the received data will
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d8edba7c4945f311c2d8f844365d18e6160d9c34 Mon Sep 17 00:00:00 2001
|
||||
From 8b8cd3d7e407fcd39648cea2fe030f4c2e505855 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 19 May 2017 21:49:59 +0800
|
||||
Subject: [PATCH 09/17] hvsock: fix vsock_dequeue/enqueue_accept race
|
||||
Subject: [PATCH 09/14] hvsock: fix vsock_dequeue/enqueue_accept race
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 49f51e99f1a39957fd276f528f2b0bb85ab86a5c Mon Sep 17 00:00:00 2001
|
||||
From aaa233991131d32aaa04bb4bc5a2ebd6516fa992 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 21 Jun 2017 22:30:42 +0800
|
||||
Subject: [PATCH 12/17] hv-sock: a temporary workaround for the
|
||||
Subject: [PATCH 10/14] hv-sock: a temporary workaround for the
|
||||
pending_send_size issue
|
||||
|
||||
While I'm trying to find out the root cause, I believe this can work
|
||||
@@ -1,246 +0,0 @@
|
||||
From ed9c64d1bb5a40058a00fbedc5c4978dbda772ff Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 5 Jun 2017 16:13:18 +0800
|
||||
Subject: [PATCH 10/17] vmbus: fix hv_percpu_channel_deq/enq race
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
(cherry picked from commit db40d92a09ff6b84b6c47e96d0a8d1cb1f83cd36)
|
||||
---
|
||||
drivers/hv/channel_mgmt.c | 32 +++++++++++++++++++++----
|
||||
drivers/hv/connection.c | 11 +++++++++
|
||||
drivers/hv/hyperv_vmbus.h | 1 +
|
||||
drivers/hv/vmbus_drv.c | 59 ++++++++++++++++++++++++++++++++++++++++++++---
|
||||
4 files changed, 95 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index 1afa7a699dd2..117157c8e284 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -364,11 +364,16 @@ static void percpu_channel_enq(void *arg)
|
||||
|
||||
void hv_percpu_channel_enq(struct vmbus_channel *channel)
|
||||
{
|
||||
+ unsigned long flags;
|
||||
+
|
||||
if (channel->target_cpu != get_cpu())
|
||||
smp_call_function_single(channel->target_cpu,
|
||||
percpu_channel_enq, channel, true);
|
||||
- else
|
||||
+ else {
|
||||
+ local_irq_save(flags);
|
||||
percpu_channel_enq(channel);
|
||||
+ local_irq_restore(flags);
|
||||
+ }
|
||||
|
||||
put_cpu();
|
||||
}
|
||||
@@ -382,11 +387,16 @@ static void percpu_channel_deq(void *arg)
|
||||
|
||||
void hv_percpu_channel_deq(struct vmbus_channel *channel)
|
||||
{
|
||||
+ unsigned long flags;
|
||||
+
|
||||
if (channel->target_cpu != get_cpu())
|
||||
smp_call_function_single(channel->target_cpu,
|
||||
percpu_channel_deq, channel, true);
|
||||
- else
|
||||
+ else {
|
||||
+ local_irq_save(flags);
|
||||
percpu_channel_deq(channel);
|
||||
+ local_irq_restore(flags);
|
||||
+ }
|
||||
|
||||
put_cpu();
|
||||
}
|
||||
@@ -494,7 +504,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
channel->num_sc++;
|
||||
spin_unlock_irqrestore(&channel->lock, flags);
|
||||
} else {
|
||||
- atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
goto err_free_chan;
|
||||
}
|
||||
}
|
||||
@@ -548,6 +557,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
return;
|
||||
|
||||
err_deq_chan:
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
mutex_lock(&vmbus_connection.channel_mutex);
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
@@ -914,16 +924,28 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
}
|
||||
}
|
||||
|
||||
+static void vmbus_stop_rescind_handling_work(struct work_struct *work)
|
||||
+{
|
||||
+ atomic_inc(&vmbus_connection.offer_in_progress);
|
||||
+}
|
||||
+
|
||||
void vmbus_hvsock_device_unregister(struct vmbus_channel *channel)
|
||||
{
|
||||
- mutex_lock(&vmbus_connection.channel_mutex);
|
||||
+ struct work_struct work;
|
||||
|
||||
BUG_ON(!is_hvsock_channel(channel));
|
||||
|
||||
+ /* Prevent chn_rescind_callback from running in the rescind path */
|
||||
+ INIT_WORK(&work, vmbus_stop_rescind_handling_work);
|
||||
+ queue_work_on(vmbus_connection.connect_cpu,
|
||||
+ vmbus_connection.work_queue_rescind, &work);
|
||||
+ flush_work(&work);
|
||||
+
|
||||
channel->rescind = true;
|
||||
vmbus_device_unregister(channel->device_obj);
|
||||
|
||||
- mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
+ /* Unblock the rescind handling */
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vmbus_hvsock_device_unregister);
|
||||
|
||||
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
|
||||
index 59c11ff90d12..a79b615b2d98 100644
|
||||
--- a/drivers/hv/connection.c
|
||||
+++ b/drivers/hv/connection.c
|
||||
@@ -156,6 +156,12 @@ int vmbus_connect(void)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
+ vmbus_connection.work_queue_rescind = create_workqueue("hv_vmbus_rsd");
|
||||
+ if (!vmbus_connection.work_queue_rescind) {
|
||||
+ ret = -ENOMEM;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
INIT_LIST_HEAD(&vmbus_connection.chn_msg_list);
|
||||
spin_lock_init(&vmbus_connection.channelmsg_lock);
|
||||
|
||||
@@ -246,6 +252,11 @@ void vmbus_disconnect(void)
|
||||
*/
|
||||
vmbus_initiate_unload(false);
|
||||
|
||||
+ if (vmbus_connection.work_queue_rescind) {
|
||||
+ drain_workqueue(vmbus_connection.work_queue_rescind);
|
||||
+ destroy_workqueue(vmbus_connection.work_queue_rescind);
|
||||
+ }
|
||||
+
|
||||
if (vmbus_connection.work_queue) {
|
||||
drain_workqueue(vmbus_connection.work_queue);
|
||||
destroy_workqueue(vmbus_connection.work_queue);
|
||||
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
|
||||
index 1b6a5e0dfa75..80270384053e 100644
|
||||
--- a/drivers/hv/hyperv_vmbus.h
|
||||
+++ b/drivers/hv/hyperv_vmbus.h
|
||||
@@ -339,6 +339,7 @@ struct vmbus_connection {
|
||||
struct mutex channel_mutex;
|
||||
|
||||
struct workqueue_struct *work_queue;
|
||||
+ struct workqueue_struct *work_queue_rescind;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
|
||||
index ed84e96715a0..fb50edf6ad17 100644
|
||||
--- a/drivers/hv/vmbus_drv.c
|
||||
+++ b/drivers/hv/vmbus_drv.c
|
||||
@@ -806,6 +806,52 @@ static void vmbus_onmessage_work(struct work_struct *work)
|
||||
kfree(ctx);
|
||||
}
|
||||
|
||||
+static void vmbus_dispatch_msg_work(struct work_struct *work)
|
||||
+{
|
||||
+ struct vmbus_channel_message_header *hdr;
|
||||
+ struct onmessage_work_context *ctx, *context;
|
||||
+
|
||||
+ ctx = container_of(work, struct onmessage_work_context, work);
|
||||
+ hdr = (struct vmbus_channel_message_header *)ctx->msg.u.payload;
|
||||
+
|
||||
+ context = kmalloc(sizeof(*context), GFP_KERNEL | __GFP_NOFAIL);
|
||||
+ INIT_WORK(&context->work, vmbus_onmessage_work);
|
||||
+ memcpy(&context->msg, &ctx->msg, sizeof(struct hv_message));
|
||||
+
|
||||
+ /*
|
||||
+ * The host can generate a rescind message while we
|
||||
+ * may still be handling the original offer. We deal with
|
||||
+ * this condition by ensuring the processing is done on the
|
||||
+ * same CPU.
|
||||
+ */
|
||||
+ switch (hdr->msgtype) {
|
||||
+ case CHANNELMSG_RESCIND_CHANNELOFFER:
|
||||
+ /*
|
||||
+ * If we are handling the rescind message;
|
||||
+ * schedule the work on the global work queue.
|
||||
+ */
|
||||
+ queue_work_on(vmbus_connection.connect_cpu,
|
||||
+ vmbus_connection.work_queue_rescind,
|
||||
+ &context->work);
|
||||
+ break;
|
||||
+
|
||||
+ case CHANNELMSG_OFFERCHANNEL:
|
||||
+ /* XXX */
|
||||
+ flush_workqueue(vmbus_connection.work_queue_rescind);
|
||||
+
|
||||
+ atomic_inc(&vmbus_connection.offer_in_progress);
|
||||
+ queue_work_on(vmbus_connection.connect_cpu,
|
||||
+ vmbus_connection.work_queue,
|
||||
+ &context->work);
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ queue_work(vmbus_connection.work_queue, &context->work);
|
||||
+ }
|
||||
+
|
||||
+ kfree(ctx);
|
||||
+}
|
||||
+
|
||||
static void hv_process_timer_expiration(struct hv_message *msg,
|
||||
struct hv_per_cpu_context *hv_cpu)
|
||||
{
|
||||
@@ -845,9 +891,10 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
if (ctx == NULL)
|
||||
return;
|
||||
|
||||
- INIT_WORK(&ctx->work, vmbus_onmessage_work);
|
||||
+ INIT_WORK(&ctx->work, vmbus_dispatch_msg_work);
|
||||
memcpy(&ctx->msg, msg, sizeof(*msg));
|
||||
|
||||
+#if 0
|
||||
/*
|
||||
* The host can generate a rescind message while we
|
||||
* may still be handling the original offer. We deal with
|
||||
@@ -860,8 +907,9 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
* If we are handling the rescind message;
|
||||
* schedule the work on the global work queue.
|
||||
*/
|
||||
- schedule_work_on(vmbus_connection.connect_cpu,
|
||||
- &ctx->work);
|
||||
+ queue_work_on(vmbus_connection.connect_cpu,
|
||||
+ vmbus_connection.work_queue_rescind,
|
||||
+ &ctx->work);
|
||||
break;
|
||||
|
||||
case CHANNELMSG_OFFERCHANNEL:
|
||||
@@ -874,6 +922,9 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
default:
|
||||
queue_work(vmbus_connection.work_queue, &ctx->work);
|
||||
}
|
||||
+#else
|
||||
+ schedule_work(&ctx->work);
|
||||
+#endif
|
||||
} else
|
||||
entry->message_handler(hdr);
|
||||
|
||||
@@ -1171,6 +1222,8 @@ int vmbus_device_register(struct hv_device *child_device_obj)
|
||||
child_device_obj->device.parent = &hv_acpi_dev->dev;
|
||||
child_device_obj->device.release = vmbus_device_release;
|
||||
|
||||
+ if (is_hvsock_channel(child_device_obj->channel))
|
||||
+ dev_set_uevent_suppress(&child_device_obj->device, 1);
|
||||
/*
|
||||
* Register with the LDM. This will kick off the driver/device
|
||||
* binding...which will eventually call vmbus_match() and vmbus_probe()
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
From 2d22cdc2fd0b6c09544354e463cc26da329b60af Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 5 Jun 2017 21:32:00 +0800
|
||||
Subject: [PATCH 11/17] vmbus: add vmbus onoffer/onoffer_rescind sync.
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
(cherry picked from commit 0465d97030768485eec5a69a98963e3da7402826)
|
||||
---
|
||||
drivers/hv/channel_mgmt.c | 25 +++++++++++++++++++------
|
||||
drivers/hv/hyperv_vmbus.h | 1 +
|
||||
drivers/hv/vmbus_drv.c | 1 +
|
||||
3 files changed, 21 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index 117157c8e284..c524ca967d8f 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -466,6 +466,7 @@ void vmbus_free_channels(void)
|
||||
static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
{
|
||||
struct vmbus_channel *channel;
|
||||
+ struct hv_device *device_obj;
|
||||
bool fnew = true;
|
||||
unsigned long flags;
|
||||
u16 dev_type;
|
||||
@@ -523,6 +524,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
if (channel->sc_creation_callback != NULL)
|
||||
channel->sc_creation_callback(newchannel);
|
||||
atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
+ atomic_dec(&vmbus_connection.register_in_progress);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -531,33 +533,36 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
* We need to set the DeviceObject field before calling
|
||||
* vmbus_child_dev_add()
|
||||
*/
|
||||
- newchannel->device_obj = vmbus_device_create(
|
||||
+ device_obj = vmbus_device_create(
|
||||
&newchannel->offermsg.offer.if_type,
|
||||
&newchannel->offermsg.offer.if_instance,
|
||||
newchannel);
|
||||
- if (!newchannel->device_obj)
|
||||
+ if (!device_obj)
|
||||
goto err_deq_chan;
|
||||
|
||||
- newchannel->device_obj->device_id = dev_type;
|
||||
+ device_obj->device_id = dev_type;
|
||||
/*
|
||||
* Add the new device to the bus. This will kick off device-driver
|
||||
* binding which eventually invokes the device driver's AddDevice()
|
||||
* method.
|
||||
*/
|
||||
- ret = vmbus_device_register(newchannel->device_obj);
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
+ ret = vmbus_device_register(device_obj);
|
||||
|
||||
if (ret != 0) {
|
||||
pr_err("unable to add child device object (relid %d)\n",
|
||||
newchannel->offermsg.child_relid);
|
||||
- kfree(newchannel->device_obj);
|
||||
+ kfree(device_obj);
|
||||
goto err_deq_chan;
|
||||
}
|
||||
+ newchannel->device_obj = device_obj;
|
||||
+ atomic_dec(&vmbus_connection.register_in_progress);
|
||||
|
||||
- atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
return;
|
||||
|
||||
err_deq_chan:
|
||||
atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
+ atomic_dec(&vmbus_connection.register_in_progress);
|
||||
mutex_lock(&vmbus_connection.channel_mutex);
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
@@ -888,6 +893,14 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
|
||||
vmbus_rescind_cleanup(channel);
|
||||
|
||||
+ while (atomic_read(&vmbus_connection.register_in_progress) != 0) {
|
||||
+ /*
|
||||
+ * We wait here until any channel offer is currently
|
||||
+ * being processed.
|
||||
+ */
|
||||
+ msleep(1);
|
||||
+ }
|
||||
+
|
||||
if (channel->device_obj) {
|
||||
if (channel->chn_rescind_callback) {
|
||||
channel->chn_rescind_callback(channel);
|
||||
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
|
||||
index 80270384053e..5b8234994155 100644
|
||||
--- a/drivers/hv/hyperv_vmbus.h
|
||||
+++ b/drivers/hv/hyperv_vmbus.h
|
||||
@@ -309,6 +309,7 @@ struct vmbus_connection {
|
||||
int connect_cpu;
|
||||
|
||||
atomic_t offer_in_progress;
|
||||
+ atomic_t register_in_progress;
|
||||
|
||||
enum vmbus_connect_state conn_state;
|
||||
|
||||
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
|
||||
index fb50edf6ad17..1647f534a1bf 100644
|
||||
--- a/drivers/hv/vmbus_drv.c
|
||||
+++ b/drivers/hv/vmbus_drv.c
|
||||
@@ -840,6 +840,7 @@ static void vmbus_dispatch_msg_work(struct work_struct *work)
|
||||
flush_workqueue(vmbus_connection.work_queue_rescind);
|
||||
|
||||
atomic_inc(&vmbus_connection.offer_in_progress);
|
||||
+ atomic_inc(&vmbus_connection.register_in_progress);
|
||||
queue_work_on(vmbus_connection.connect_cpu,
|
||||
vmbus_connection.work_queue,
|
||||
&context->work);
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c5be4b5ee53d41b3cab9cc767ae6148a0196af43 Mon Sep 17 00:00:00 2001
|
||||
From 463ca8fab7225ac87f3b20915e45e44dfb5af592 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 28 Jun 2017 23:50:38 +0800
|
||||
Subject: [PATCH 13/17] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
Subject: [PATCH 11/14] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
|
||||
There is an off-by-one bug here, which can cause host-to-guest write to stall.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 955db677c804636847dc706721b04f597dfceccc Mon Sep 17 00:00:00 2001
|
||||
From d8592f2252894b71e4494f0ff88e44b6bcea3dca Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 7 Jul 2017 09:15:29 +0800
|
||||
Subject: [PATCH 14/17] hv-sock: avoid double FINs if shutdown() is called
|
||||
Subject: [PATCH 12/14] hv-sock: avoid double FINs if shutdown() is called
|
||||
|
||||
The host expects a single FIN.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From f9e403624b67fbf283205ed1709066723289996c Mon Sep 17 00:00:00 2001
|
||||
From 1f090eed1aaf9f1181e45a338b99878c6e494996 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Dodgen <dodgen@google.com>
|
||||
Date: Thu, 24 Aug 2017 15:26:01 -0400
|
||||
Subject: [PATCH 16/17] ext4: fix fault handling when mounted with -o dax,ro
|
||||
Subject: [PATCH 13/14] ext4: fix fault handling when mounted with -o dax,ro
|
||||
|
||||
If an ext4 filesystem is mounted with both the DAX and read-only
|
||||
options, executables on that filesystem will fail to start (claiming
|
||||
@@ -1,7 +1,7 @@
|
||||
From b49a4ebca4f743318bdc46c9be23755a184276b3 Mon Sep 17 00:00:00 2001
|
||||
From f0591ec41208c6e0d2a12334a6c846f01f2f4007 Mon Sep 17 00:00:00 2001
|
||||
From: Cheng-mean Liu <soccerl@microsoft.com>
|
||||
Date: Tue, 11 Jul 2017 16:58:26 -0700
|
||||
Subject: [PATCH 17/17] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB
|
||||
Subject: [PATCH 14/14] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB
|
||||
(page size)
|
||||
|
||||
Signed-off-by: Cheng-mean Liu <soccerl@microsoft.com>
|
||||
@@ -1,86 +0,0 @@
|
||||
From 36cc16a4c8f927c2bff8e8711df396843ae04cc5 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Tue, 19 Sep 2017 20:05:31 -0700
|
||||
Subject: [PATCH 15/17] vmbus: hvsock: add proper sync for
|
||||
vmbus_hvsock_device_unregister()
|
||||
|
||||
Without the patch, vmbus_hvsock_device_unregister() can destroy the device
|
||||
prematurely.
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
(cherry picked from commit b6ffb4393fb266711b37ed056487665d8650f31a)
|
||||
---
|
||||
drivers/hv/channel_mgmt.c | 20 ++++++--------------
|
||||
include/linux/hyperv.h | 2 ++
|
||||
2 files changed, 8 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index c524ca967d8f..7437385738ac 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -558,6 +558,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
newchannel->device_obj = device_obj;
|
||||
atomic_dec(&vmbus_connection.register_in_progress);
|
||||
|
||||
+ newchannel->probe_done = true;
|
||||
+
|
||||
return;
|
||||
|
||||
err_deq_chan:
|
||||
@@ -904,6 +906,8 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
if (channel->device_obj) {
|
||||
if (channel->chn_rescind_callback) {
|
||||
channel->chn_rescind_callback(channel);
|
||||
+ channel->rescind_done = true;
|
||||
+
|
||||
return;
|
||||
}
|
||||
/*
|
||||
@@ -937,28 +941,16 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
}
|
||||
}
|
||||
|
||||
-static void vmbus_stop_rescind_handling_work(struct work_struct *work)
|
||||
-{
|
||||
- atomic_inc(&vmbus_connection.offer_in_progress);
|
||||
-}
|
||||
-
|
||||
void vmbus_hvsock_device_unregister(struct vmbus_channel *channel)
|
||||
{
|
||||
struct work_struct work;
|
||||
|
||||
BUG_ON(!is_hvsock_channel(channel));
|
||||
|
||||
- /* Prevent chn_rescind_callback from running in the rescind path */
|
||||
- INIT_WORK(&work, vmbus_stop_rescind_handling_work);
|
||||
- queue_work_on(vmbus_connection.connect_cpu,
|
||||
- vmbus_connection.work_queue_rescind, &work);
|
||||
- flush_work(&work);
|
||||
+ while (!READ_ONCE(channel->probe_done) || !READ_ONCE(channel->rescind_done))
|
||||
+ msleep(1);
|
||||
|
||||
- channel->rescind = true;
|
||||
vmbus_device_unregister(channel->device_obj);
|
||||
-
|
||||
- /* Unblock the rescind handling */
|
||||
- atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vmbus_hvsock_device_unregister);
|
||||
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index cc28cd20256f..28d8cd3655ce 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -895,6 +895,8 @@ struct vmbus_channel {
|
||||
*/
|
||||
enum hv_numa_policy affinity_policy;
|
||||
|
||||
+ bool probe_done;
|
||||
+ bool rescind_done;
|
||||
};
|
||||
|
||||
static inline bool is_hvsock_channel(const struct vmbus_channel *c)
|
||||
--
|
||||
2.14.1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 9c525bad72585462bde7c1020e624d3a104762b8 Mon Sep 17 00:00:00 2001
|
||||
From 856bd4391b1d1ef570c41a04af1e6569b0e6ae56 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 17 Dec 2015 16:53:43 +0800
|
||||
Subject: [PATCH 01/44] virtio: make find_vqs() checkpatch.pl-friendly
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From cee5913aff11acd8fa84292a08d0d7d910464dd4 Mon Sep 17 00:00:00 2001
|
||||
From e5e81c9b625e8bef7d9f568c11a183a0d943d616 Mon Sep 17 00:00:00 2001
|
||||
From: Julia Lawall <julia.lawall@lip6.fr>
|
||||
Date: Sat, 21 Nov 2015 18:39:17 +0100
|
||||
Subject: [PATCH 02/44] VSOCK: constify vmci_transport_notify_ops structures
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From caa08130b07dd06a5676ad7acbac669bba03805a Mon Sep 17 00:00:00 2001
|
||||
From cdfe5217991da9a36667d8bd2035dac485323f32 Mon Sep 17 00:00:00 2001
|
||||
From: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
|
||||
Date: Tue, 22 Mar 2016 17:05:52 +0100
|
||||
Subject: [PATCH 03/44] AF_VSOCK: Shrink the area influenced by prepare_to_wait
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6b6299a0198bb094f0f7837cdf4257a615bf678d Mon Sep 17 00:00:00 2001
|
||||
From 5629f181052f3b9f81e6a5cb3e27909ec1f06fa2 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 23 Jun 2016 16:28:58 +0100
|
||||
Subject: [PATCH 04/44] vsock: make listener child lock ordering explicit
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 1949e1aff6e049d5b4cffa536ab2412dc22a1e8e Mon Sep 17 00:00:00 2001
|
||||
From 219cd6dc1429ef0805b586a7b9f274d274214f64 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 28 Jul 2016 15:36:30 +0100
|
||||
Subject: [PATCH 05/44] VSOCK: transport-specific vsock_transport functions
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e390194183e0dc248210c09333fc2e8a15c694c7 Mon Sep 17 00:00:00 2001
|
||||
From d3cc1a7d00e67576dbccc862e2f6a4093fb1619e Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 28 Jul 2016 15:36:31 +0100
|
||||
Subject: [PATCH 06/44] VSOCK: defer sock removal to transports
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 281ba6830be1843048a9f8e0ff4ef63039d3fbc3 Mon Sep 17 00:00:00 2001
|
||||
From cc3ba5ac51c7f21272f81b04c857e81e0385ce92 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 28 Jul 2016 15:36:32 +0100
|
||||
Subject: [PATCH 07/44] VSOCK: Introduce virtio_vsock_common.ko
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e6d5755d8f62281666add5d43beb2151655b46e7 Mon Sep 17 00:00:00 2001
|
||||
From 5493c8c9039db93d887149fe390c97c62b7de3e9 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 28 Jul 2016 15:36:33 +0100
|
||||
Subject: [PATCH 08/44] VSOCK: Introduce virtio_transport.ko
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 189ba1fcc324a75d9757c3d2bdef13185e73f75c Mon Sep 17 00:00:00 2001
|
||||
From 9d6607037faab1c8a53001d8b259ac4a80b427e8 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 28 Jul 2016 15:36:34 +0100
|
||||
Subject: [PATCH 09/44] VSOCK: Introduce vhost_vsock.ko
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From be972771b3bbee4d940ec5bde1bacbde7668604a Mon Sep 17 00:00:00 2001
|
||||
From 2a53a98986e77f240013b679bdd5080b84f47d72 Mon Sep 17 00:00:00 2001
|
||||
From: Asias He <asias@redhat.com>
|
||||
Date: Thu, 28 Jul 2016 15:36:35 +0100
|
||||
Subject: [PATCH 10/44] VSOCK: Add Makefile and Kconfig
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 86c0d5452c7c835065cf40949d39684ce558776a Mon Sep 17 00:00:00 2001
|
||||
From 1047f5e89fec6c09e4174acb5561782954f2fc4b Mon Sep 17 00:00:00 2001
|
||||
From: Wei Yongjun <weiyj.lk@gmail.com>
|
||||
Date: Tue, 2 Aug 2016 13:50:42 +0000
|
||||
Subject: [PATCH 11/44] VSOCK: Use kvfree()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 7a4fd008b1ec73fdbacde5bdb915e75fea7c5c72 Mon Sep 17 00:00:00 2001
|
||||
From 657e8991b110a87c0df324f4d27e2398df81e870 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Thu, 4 Aug 2016 14:52:53 +0100
|
||||
Subject: [PATCH 12/44] vhost/vsock: fix vhost virtio_vsock_pkt use-after-free
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 1612a88bb5d6c7723fb30a223310fd340e29af6b Mon Sep 17 00:00:00 2001
|
||||
From 4ff9eab3a8e61a8307e76570bcec31472fc3b090 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Fri, 5 Aug 2016 13:52:09 +0100
|
||||
Subject: [PATCH 13/44] virtio-vsock: fix include guard typo
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From fc451311252b88bd8dc0a8feb8aaeccb34eb7bb4 Mon Sep 17 00:00:00 2001
|
||||
From c17a67f9b7015fb4d3a15a0d783486d770a23eca Mon Sep 17 00:00:00 2001
|
||||
From: Gerard Garcia <ggarcia@deic.uab.cat>
|
||||
Date: Wed, 10 Aug 2016 17:24:34 +0200
|
||||
Subject: [PATCH 14/44] vhost/vsock: drop space available check for TX vq
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From cd8349140465c950e9e73118eacea013b1a1dc65 Mon Sep 17 00:00:00 2001
|
||||
From 1acbbfced43f6219f3f1596cf4070d738625979c Mon Sep 17 00:00:00 2001
|
||||
From: Ian Campbell <ian.campbell@docker.com>
|
||||
Date: Mon, 4 Apr 2016 14:50:10 +0100
|
||||
Subject: [PATCH 15/44] VSOCK: Only allow host network namespace to use
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From b7f0d8ce16008a09934126ae654e333484756131 Mon Sep 17 00:00:00 2001
|
||||
From ad1f53a263777b329fe0ce5bcd356aca29fa8708 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Oshins <jakeo@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:41 -0800
|
||||
Subject: [PATCH 16/44] drivers:hv: Define the channel type for Hyper-V PCI
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 3143aee86df2ea144ad62f55c2b5d7f6de8556ac Mon Sep 17 00:00:00 2001
|
||||
From 18e5bb427d8f7b5b07529fcc4dace32a4120a964 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:43 -0800
|
||||
Subject: [PATCH 17/44] Drivers: hv: vmbus: Use uuid_le type consistently
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 54dfb86272aacb4446da7f0bda5df261071bb276 Mon Sep 17 00:00:00 2001
|
||||
From b5447ef6e9e46f644b5d7d31d4557fae93d0de61 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:44 -0800
|
||||
Subject: [PATCH 18/44] Drivers: hv: vmbus: Use uuid_le_cmp() for comparing
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From dee0e4fc0cba39f04050b5c1fd56dff929c35be1 Mon Sep 17 00:00:00 2001
|
||||
From efcba5fd10440c87e32b1e1c761821828850a8d6 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:48 -0800
|
||||
Subject: [PATCH 19/44] Drivers: hv: vmbus: do sanity check of channel state in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0c2f2e200967569493f3f24bad543804d1d56b09 Mon Sep 17 00:00:00 2001
|
||||
From 5978b66f3462754c88616070a6f41f9f8ff6c3d0 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:50 -0800
|
||||
Subject: [PATCH 20/44] Drivers: hv: vmbus: release relid on error in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 051da99bcdb3e9d293a16a4869b22a942bedc238 Mon Sep 17 00:00:00 2001
|
||||
From 965725635521dbba2a4a82f8ab40a343bd46e018 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 14 Dec 2015 16:01:51 -0800
|
||||
Subject: [PATCH 21/44] Drivers: hv: vmbus: channge
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 47b9d3789c347cfa0f877aaf67463db2505a2100 Mon Sep 17 00:00:00 2001
|
||||
From 658b7c7c06ede2e0211c8accfecaae4cec85add4 Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Mon, 14 Dec 2015 19:02:00 -0800
|
||||
Subject: [PATCH 22/44] Drivers: hv: remove code duplication between
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e627bc3c9a955294227500e746566ac6f7381184 Mon Sep 17 00:00:00 2001
|
||||
From 899f16803bb388cfc959a28368723e63c07beb09 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Dec 2015 12:21:22 -0800
|
||||
Subject: [PATCH 23/44] Drivers: hv: vmbus: fix the building warning with
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 60c4e94e520937042d641f4259938bc79048a4dc Mon Sep 17 00:00:00 2001
|
||||
From 234561ebf27f49a8ec564f28ec7a16f38cfa812b Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Tue, 15 Dec 2015 16:27:27 -0800
|
||||
Subject: [PATCH 24/44] Drivers: hv: vmbus: Treat Fibre Channel devices as
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 74ba26637e7faacb4e3f8c61104dec21187c6a6d Mon Sep 17 00:00:00 2001
|
||||
From 1469a802b8bfbb817986cca9e7c8904524c5fd32 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Fri, 25 Dec 2015 20:00:30 -0800
|
||||
Subject: [PATCH 25/44] Drivers: hv: vmbus: Add vendor and device atttributes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ca28d5c4b32b123bba73f6e32981f2de6293a91b Mon Sep 17 00:00:00 2001
|
||||
From 2ed4bc4174ebc1dd73a7f8db67a82779f88d5566 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:37 -0800
|
||||
Subject: [PATCH 26/44] Drivers: hv: vmbus: add a helper function to set a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6fd962ab3e213febc9bcf8bc7ead7422f2013d98 Mon Sep 17 00:00:00 2001
|
||||
From a970930ec2236429f979d92d6a2c03420437fa82 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:38 -0800
|
||||
Subject: [PATCH 27/44] Drivers: hv: vmbus: define the new offer type for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a0123329ac16e12f299d180bbd49a71c94c8152e Mon Sep 17 00:00:00 2001
|
||||
From 617883388dc298c729f278d67560f5084a6b3383 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:39 -0800
|
||||
Subject: [PATCH 28/44] Drivers: hv: vmbus: vmbus_sendpacket_ctl: hvsock: avoid
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 19f5409bc3117d429b6ea065be7126e76243af17 Mon Sep 17 00:00:00 2001
|
||||
From 9c7846299cb55ed7743d7706094bf83f5a9df447 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:40 -0800
|
||||
Subject: [PATCH 29/44] Drivers: hv: vmbus: define a new VMBus message type for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 13ea161d8416049014cade656cd71047a82d9f8b Mon Sep 17 00:00:00 2001
|
||||
From 332af068b03da4500f78879c376ffde6337be19c Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:41 -0800
|
||||
Subject: [PATCH 30/44] Drivers: hv: vmbus: add a hvsock flag in struct
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 790b0bb6b791142129460dbd0affb7ea6f7973f1 Mon Sep 17 00:00:00 2001
|
||||
From acda69845b33f53f2dca9f79e59d45361797cd23 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:42 -0800
|
||||
Subject: [PATCH 31/44] Drivers: hv: vmbus: add a per-channel rescind callback
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 9164bb9c92983efdc7c18462ccef32889d7a7c1c Mon Sep 17 00:00:00 2001
|
||||
From db167d0152627bbfa667ca2ad8a80fcd67c83530 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:43 -0800
|
||||
Subject: [PATCH 32/44] Drivers: hv: vmbus: add an API
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 02035c58c11f5cd2752760cc7d92a44c7075b766 Mon Sep 17 00:00:00 2001
|
||||
From ec8df15f6500c5c8df2eaccf30a3e881361775e5 Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Wed, 27 Jan 2016 22:29:45 -0800
|
||||
Subject: [PATCH 33/44] Drivers: hv: vmbus: Give control over how the ring
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 4340b100726f86cf3d03a9d158026931758a1076 Mon Sep 17 00:00:00 2001
|
||||
From 62a87e03ec7cc707ac0df489b2a5b36b015441af Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 26 Feb 2016 15:13:16 -0800
|
||||
Subject: [PATCH 34/44] Drivers: hv: vmbus: avoid wait_for_completion() on
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a6ee753b96c9625804e2345e1ecbacd9230a567f Mon Sep 17 00:00:00 2001
|
||||
From c3fdfcfb86581b96bf0e0afc501be497fe84303f Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 26 Feb 2016 15:13:18 -0800
|
||||
Subject: [PATCH 35/44] Drivers: hv: vmbus: avoid unneeded compiler
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From c6d6d8d4b710d89fdcd3e44b5c82cf4bc4a24164 Mon Sep 17 00:00:00 2001
|
||||
From 1c021b50e0614cb9ac189ba3a15e31ad4c2c57fb Mon Sep 17 00:00:00 2001
|
||||
From: Tom Herbert <tom@herbertland.com>
|
||||
Date: Mon, 7 Mar 2016 14:11:06 -0800
|
||||
Subject: [PATCH 36/44] kcm: Kernel Connection Multiplexor module
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 943574cc6cdc27ca4265c806237557fa32ff9cb0 Mon Sep 17 00:00:00 2001
|
||||
From 2852eb182a89c29873cd945e0b8346a92dc075d9 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Mar 2016 02:51:09 -0700
|
||||
Subject: [PATCH 37/44] net: add the AF_KCM entries to family name tables
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From b010dccdccf4bf33f69c0ba451e0fb307a282625 Mon Sep 17 00:00:00 2001
|
||||
From aae3913b1b73c83de6fe5113ecc27453bfcb790b Mon Sep 17 00:00:00 2001
|
||||
From: Courtney Cavin <courtney.cavin@sonymobile.com>
|
||||
Date: Wed, 27 Apr 2016 12:13:03 -0700
|
||||
Subject: [PATCH 38/44] net: Add Qualcomm IPC router
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ba061bce70c08890db03b795ed6d17cecdaa18c7 Mon Sep 17 00:00:00 2001
|
||||
From 400f7f589396ced3306669e1541fbe41094cc40f Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sun, 15 May 2016 09:53:11 -0700
|
||||
Subject: [PATCH 39/44] hv_sock: introduce Hyper-V Sockets
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0166df0b9bd95bbea442803bb68de9336a729b0e Mon Sep 17 00:00:00 2001
|
||||
From e5c30fb666d82e76150f0900582fba80260b9830 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 21 Mar 2016 02:53:08 -0700
|
||||
Subject: [PATCH 40/44] net: add the AF_HYPERV entries to family name tables
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6cbfc60c1ecac5b8407d533e8d925fa37bd346b1 Mon Sep 17 00:00:00 2001
|
||||
From 52ee595fee2bde973189e1425247c60173ae2e3a Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sat, 21 May 2016 16:55:50 +0800
|
||||
Subject: [PATCH 41/44] Drivers: hv: vmbus: fix the race when querying &
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0f15cc9d520f0aaf5ef6169a566063b4b3a2c9c5 Mon Sep 17 00:00:00 2001
|
||||
From 0f526c73b5a9e6f2ce3e0a74fe6382942b6d74df Mon Sep 17 00:00:00 2001
|
||||
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
|
||||
Date: Mon, 23 May 2016 18:55:45 +0100
|
||||
Subject: [PATCH 42/44] vmbus: Don't spam the logs with unknown GUIDs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 5bdb96b09825d6357ef664bdde7d912467184d51 Mon Sep 17 00:00:00 2001
|
||||
From eaf798827fd58aa7d7270f9702883207fcbbf4f2 Mon Sep 17 00:00:00 2001
|
||||
From: James Bottomley <James.Bottomley@HansenPartnership.com>
|
||||
Date: Wed, 17 Feb 2016 16:49:38 -0800
|
||||
Subject: [PATCH 43/44] fs: add filp_clone_open API
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From d3da4c2f631482a6def5df8e0a992c1ccb8c248b Mon Sep 17 00:00:00 2001
|
||||
From 4a5519e5f46c0ae55f8be683a1bdd2363869403b Mon Sep 17 00:00:00 2001
|
||||
From: James Bottomley <James.Bottomley@HansenPartnership.com>
|
||||
Date: Wed, 17 Feb 2016 16:51:16 -0800
|
||||
Subject: [PATCH 44/44] binfmt_misc: add persistent opened binary handler for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 19e16fc15567aee6b70285b21ad4a864de16fcfa Mon Sep 17 00:00:00 2001
|
||||
From b29fe48363585d8c4d96a979d43482a67dd1481f Mon Sep 17 00:00:00 2001
|
||||
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||||
Date: Thu, 2 Mar 2017 12:55:49 -0300
|
||||
Subject: [PATCH 01/13] tools build: Add test for sched_getcpu()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e2901f1d68fb8996c42f52b6edb6e5553b878e32 Mon Sep 17 00:00:00 2001
|
||||
From 9a4dde19bae9797ea632a414b02f43d27a747cc6 Mon Sep 17 00:00:00 2001
|
||||
From: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||||
Date: Thu, 13 Oct 2016 17:12:35 -0300
|
||||
Subject: [PATCH 02/13] perf jit: Avoid returning garbage for a ret variable
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 94d19bda0bfc5718202fdebc6c96cd3cc7bfdf67 Mon Sep 17 00:00:00 2001
|
||||
From 65cc9fceae5c27ea9069c375c5daa7d5e28462ee Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sat, 23 Jul 2016 01:35:51 +0000
|
||||
Subject: [PATCH 03/13] hv_sock: introduce Hyper-V Sockets
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From feb5ca957e14d1dfc5375aeaadb9112d553a1e04 Mon Sep 17 00:00:00 2001
|
||||
From 5b76dda785edf1415657f81fe50962635a54b352 Mon Sep 17 00:00:00 2001
|
||||
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
|
||||
Date: Mon, 23 May 2016 18:55:45 +0100
|
||||
Subject: [PATCH 04/13] vmbus: Don't spam the logs with unknown GUIDs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a78806f42285eb676ab73dcd99f4e3746e9700ed Mon Sep 17 00:00:00 2001
|
||||
From d1a4c8e21b750ee6c6c9f28b3498015d65f0a453 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sun, 6 Nov 2016 13:14:07 -0800
|
||||
Subject: [PATCH 05/13] Drivers: hv: utils: Fix the mapping between host
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From acb5b5bdbca84184bd78da3a58af74c516e2f451 Mon Sep 17 00:00:00 2001
|
||||
From d9646498544d50814410b3e9fdaee0ddcd386c07 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sun, 6 Nov 2016 13:14:10 -0800
|
||||
Subject: [PATCH 06/13] Drivers: hv: vss: Improve log messages.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 07e89e7f8e485538dea616aa23c93a88f1067ace Mon Sep 17 00:00:00 2001
|
||||
From 6308212197e4682beb468c40036d846c8cf93dad Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sun, 6 Nov 2016 13:14:11 -0800
|
||||
Subject: [PATCH 07/13] Drivers: hv: vss: Operation timeouts should match host
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From afea085a5358ebb992cd9dcd21833331ca1c2d05 Mon Sep 17 00:00:00 2001
|
||||
From 3a796dc6d04e0cfff5e1b553ce14434c8991b73a Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sat, 28 Jan 2017 12:37:17 -0700
|
||||
Subject: [PATCH 08/13] Drivers: hv: vmbus: Use all supported IC versions to
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 9ffd1d935d0134858212f8b4f9f8a238c43c1fcc Mon Sep 17 00:00:00 2001
|
||||
From 34379e682d26011f993a2121ed833699eb413873 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ng <alexng@messages.microsoft.com>
|
||||
Date: Sat, 28 Jan 2017 12:37:18 -0700
|
||||
Subject: [PATCH 09/13] Drivers: hv: Log the negotiated IC versions.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 45125116f4c5d6e8b9d1c94dff753d38d3986af7 Mon Sep 17 00:00:00 2001
|
||||
From 4579acf1773e70b59674bc8ce03abf265d5a05ba Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Sun, 26 Mar 2017 16:42:20 +0800
|
||||
Subject: [PATCH 10/13] vmbus: fix missed ring events on boot
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From f5c788ef7b7f6a77c7b28761629b0357b9d7b40a Mon Sep 17 00:00:00 2001
|
||||
From a487d91e06c48b99d8c92835e13a184ced75fe00 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 29 Mar 2017 18:37:10 +0800
|
||||
Subject: [PATCH 11/13] vmbus: remove "goto error_clean_msglist" in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6411e6e71f7f48ddf1e7678b02bdda497f83bd94 Mon Sep 17 00:00:00 2001
|
||||
From 05f50ab2f943d79d26b2d5ca0db8021699253a08 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 24 Mar 2017 20:53:18 +0800
|
||||
Subject: [PATCH 12/13] vmbus: dynamically enqueue/dequeue the channel on
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e709a12b70ad6465c69c4ea6ec5635821b81289c Mon Sep 17 00:00:00 2001
|
||||
From d1ded41ea339dfec68868f2311780aa46390f069 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Thu, 6 Jul 2017 21:37:11 +0000
|
||||
Subject: [PATCH 13/13] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
|
||||
Reference in New Issue
Block a user