char: make misc_deregister a void function
[firefly-linux-kernel-4.4.55.git] / drivers / misc / vmw_vmci / vmci_host.c
index 66fc9921fc85d22b927ea2b297fde5ca199866ee..9ec262a526564134a0a61b4fa442549ea0ea2c57 100644 (file)
@@ -395,6 +395,12 @@ static int vmci_host_do_send_datagram(struct vmci_host_dev *vmci_host_dev,
                return -EFAULT;
        }
 
+       if (VMCI_DG_SIZE(dg) != send_info.len) {
+               vmci_ioctl_err("datagram size mismatch\n");
+               kfree(dg);
+               return -EINVAL;
+       }
+
        pr_devel("Datagram dst (handle=0x%x:0x%x) src (handle=0x%x:0x%x), payload (size=%llu bytes)\n",
                 dg->dst.context, dg->dst.resource,
                 dg->src.context, dg->src.resource,
@@ -1025,14 +1031,9 @@ int __init vmci_host_init(void)
 
 void __exit vmci_host_exit(void)
 {
-       int error;
-
        vmci_host_device_initialized = false;
 
-       error = misc_deregister(&vmci_host_miscdev);
-       if (error)
-               pr_warn("Error unregistering character device: %d\n", error);
-
+       misc_deregister(&vmci_host_miscdev);
        vmci_ctx_destroy(host_context);
        vmci_qp_broker_exit();