> -----Original Message----- > From: Greg KH [mailto:greg@xxxxxxxxx] > Sent: Friday, October 20, 2017 8:23 AM > To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx> > Cc: dvhart@xxxxxxxxxxxxx; Andy Shevchenko <andy.shevchenko@xxxxxxxxx>; > LKML <linux-kernel@xxxxxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx; Andy > Lutomirski <luto@xxxxxxxxxx>; quasisec@xxxxxxxxxx; pali.rohar@xxxxxxxxx; > rjw@xxxxxxxxxxxxx; mjg59@xxxxxxxxxx; hch@xxxxxx; Alan Cox > <gnomes@xxxxxxxxxxxxxxxxxxx> > Subject: Re: [PATCH v10 13/15] platform/x86: wmi: create userspace interface for > drivers > > On Thu, Oct 19, 2017 at 12:50:16PM -0500, Mario Limonciello wrote: > > +static ssize_t wmi_char_read(struct file *filp, char __user *buffer, > > + size_t length, loff_t *offset) > > +{ > > + struct wmi_block *wblock = filp->private_data; > > + size_t count; > > + > > + if (*offset != 0) > > + return 0; > > + > > + count = sizeof(wblock->req_buf_size); > > + count = length < count ? length : count; > > + > > + if (copy_to_user(buffer, &wblock->req_buf_size, count)) > > + return -EFAULT; > > + > > + *offset = count; > > + return count; > > simple_read_from_buffer()? Library functions are your friend :) > Thanks, wasn't aware of it.