On Mon, Oct 09, 2017 at 05:51:51PM -0500, Mario Limonciello wrote: > +static long wmi_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) > +{ > + struct wmi_driver *wdriver = NULL; > + struct wmi_block *wblock = NULL; > + const char *driver_name; > + struct list_head *p; > + int ret; > + > + if (_IOC_TYPE(cmd) != WMI_IOC) > + return -ENOTTY; > + > + driver_name = filp->f_path.dentry->d_iname; > + > + list_for_each(p, &wmi_block_list) { No locking while walking the list, you are brave :(