Hi.
I will ack connector part of course, but this hunk is actually quite
bad.
> +static void shutdown_onchannelcallback(void *context)
> +{
> + struct vmbus_channel *channel = context;
> + u8 *buf;
> + u32 buflen, recvlen;
> + u64 requestid;
> + u8 execute_shutdown = false;
> +
> + struct shutdown_msg_data *shutdown_msg;
> +
> + struct icmsg_hdr *icmsghdrp;
> + struct icmsg_negotiate *negop = NULL;
> +
> + buflen = PAGE_SIZE;
> + buf = kmalloc(buflen, GFP_ATOMIC);
> +
> + vmbus_recvpacket(channel, buf, buflen, &recvlen, &requestid);
Boom. I did not read further, since this function returns void and thus
can not propagate error, which is likely not a good idea.
--
Evgeniy Polyakov
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel