diff
< 	kern_buf = memdup_user(buf, nbytes);
---
> 	size_t actual_size = min(nbytes, user_buffer_size(buf));
> 	kern_buf = memdup_user(buf, actual_size);
