The problem is that the entire ‘viainfo’ structure is copied to the userspace using copy_to_user() but its “reserved” member which is a 246 Bytes array remains uninitialized. For completeness, here is the structure’s definition as seen at drivers/video/via/ioctl.h header file.