From: Cyrill Gorcunov > Sent: 03 May 2019 09:32 > On Thu, May 02, 2019 at 05:46:08PM -0400, Joel Savitz wrote: > > > Won't be possible to use put_user here? Something like > > > > > > static int prctl_get_tasksize(unsigned long __user *uaddr) > > > { > > > return put_user(TASK_SIZE, uaddr) ? -EFAULT : 0; > > > } > > > > What would be the benefit of using put_user() over copy_to_user() in > > this context? > > It is a common pattern to use put_user with native types, where > copy_to_user more biased for composed types transfer.
It also removes all the crappy code that checks whether the kernel buffer is valid. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)