--- ./modules/linux/vmci/linux/driver.c.orig +++ ./modules/linux/vmci/linux/driver.c @@ -252,7 +252,21 @@ #define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0) #endif -static struct file_operations vmuser_fops; +/* initilaize here to make constify plugin happy */ +static struct file_operations vmuser_fops = { + .owner = THIS_MODULE, + .poll = LinuxDriverPoll, +#ifdef HAVE_UNLOCKED_IOCTL + .unlocked_ioctl = LinuxDriver_UnlockedIoctl, +#else + .ioctl = LinuxDriver_Ioctl, +#endif +#ifdef HAVE_COMPAT_IOCTL + .compat_ioctl = LinuxDriver_UnlockedIoctl, +#endif + .open = LinuxDriver_Open, + .release = LinuxDriver_Close +}; /* @@ -388,26 +402,6 @@ if (VMCI_HostInit() < VMCI_SUCCESS) { return -ENOMEM; } - - /* - * Initialize the file_operations structure. Because this code is always - * compiled as a module, this is fine to do it here and not in a static - * initializer. - */ - - memset(&vmuser_fops, 0, sizeof vmuser_fops); - vmuser_fops.owner = THIS_MODULE; - vmuser_fops.poll = LinuxDriverPoll; -#ifdef HAVE_UNLOCKED_IOCTL - vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl; -#else - vmuser_fops.ioctl = LinuxDriver_Ioctl; -#endif -#ifdef HAVE_COMPAT_IOCTL - vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl; -#endif - vmuser_fops.open = LinuxDriver_Open; - vmuser_fops.release = LinuxDriver_Close; sprintf(linuxState.deviceName, "vmci"); linuxState.major = 10;