c
< 	buffer = vmemdup_user(buf, lbuf);
---
> 	size_t actual_size = get_user_size(buf);
> 	if (lbuf > actual_size) {
> 		return -EINVAL;
> 	}
> 	buffer = vmemdup_user(buf, lbuf);
