Lines Matching refs:kern_spbuf

208 	struct papr_sysparm_buf *kern_spbuf;  in papr_sysparm_buf_from_user()  local
220 static_assert(sizeof(kern_spbuf->val) >= PAPR_SYSPARM_MAX_INPUT); in papr_sysparm_buf_from_user()
225 kern_spbuf = papr_sysparm_buf_alloc(); in papr_sysparm_buf_from_user()
226 if (!kern_spbuf) in papr_sysparm_buf_from_user()
229 papr_sysparm_buf_set_length(kern_spbuf, len); in papr_sysparm_buf_from_user()
231 if (len > 0 && copy_from_user(kern_spbuf->val, user_iob->data, len)) { in papr_sysparm_buf_from_user()
236 return kern_spbuf; in papr_sysparm_buf_from_user()
239 papr_sysparm_buf_free(kern_spbuf); in papr_sysparm_buf_from_user()
243 static int papr_sysparm_buf_to_user(const struct papr_sysparm_buf *kern_spbuf, in papr_sysparm_buf_to_user() argument
246 u16 len_out = papr_sysparm_buf_get_length(kern_spbuf); in papr_sysparm_buf_to_user()
252 static_assert(sizeof(kern_spbuf->val) >= PAPR_SYSPARM_MAX_OUTPUT); in papr_sysparm_buf_to_user()
254 if (copy_to_user(user_iob->data, kern_spbuf->val, PAPR_SYSPARM_MAX_OUTPUT)) in papr_sysparm_buf_to_user()
262 struct papr_sysparm_buf *kern_spbuf; in papr_sysparm_ioctl_get() local
269 kern_spbuf = papr_sysparm_buf_from_user(user_iob); in papr_sysparm_ioctl_get()
270 if (IS_ERR(kern_spbuf)) in papr_sysparm_ioctl_get()
271 return PTR_ERR(kern_spbuf); in papr_sysparm_ioctl_get()
273 ret = papr_sysparm_get(param, kern_spbuf); in papr_sysparm_ioctl_get()
277 ret = papr_sysparm_buf_to_user(kern_spbuf, user_iob); in papr_sysparm_ioctl_get()
284 papr_sysparm_buf_free(kern_spbuf); in papr_sysparm_ioctl_get()
291 struct papr_sysparm_buf *kern_spbuf; in papr_sysparm_ioctl_set() local
298 kern_spbuf = papr_sysparm_buf_from_user(user_iob); in papr_sysparm_ioctl_set()
299 if (IS_ERR(kern_spbuf)) in papr_sysparm_ioctl_set()
300 return PTR_ERR(kern_spbuf); in papr_sysparm_ioctl_set()
302 ret = papr_sysparm_set(param, kern_spbuf); in papr_sysparm_ioctl_set()
309 papr_sysparm_buf_free(kern_spbuf); in papr_sysparm_ioctl_set()