Drivers: hv: avoid passing opaque pointer to vmbus_onmessage()

vmbus_onmessage() doesn't need the header of the message, it only
uses it to get to the payload, we can pass the pointer to the
payload directly.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20200406104154.45010-4-vkuznets@redhat.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
Vitaly Kuznetsov 2020-04-06 12:41:52 +02:00 committed by Wei Liu
parent a276463b7a
commit 5cc415001b
3 changed files with 4 additions and 8 deletions

View File

@ -1363,13 +1363,8 @@ channel_message_table[CHANNELMSG_COUNT] = {
*
* This is invoked in the vmbus worker thread context.
*/
void vmbus_onmessage(void *context)
void vmbus_onmessage(struct vmbus_channel_message_header *hdr)
{
struct hv_message *msg = context;
struct vmbus_channel_message_header *hdr;
hdr = (struct vmbus_channel_message_header *)msg->u.payload;
trace_vmbus_on_message(hdr);
/*

View File

@ -1035,7 +1035,8 @@ static void vmbus_onmessage_work(struct work_struct *work)
ctx = container_of(work, struct onmessage_work_context,
work);
vmbus_onmessage(&ctx->msg);
vmbus_onmessage((struct vmbus_channel_message_header *)
&ctx->msg.payload);
kfree(ctx);
}

View File

@ -1017,7 +1017,7 @@ static inline void clear_low_latency_mode(struct vmbus_channel *c)
c->low_latency = false;
}
void vmbus_onmessage(void *context);
void vmbus_onmessage(struct vmbus_channel_message_header *hdr);
int vmbus_request_offers(void);