Lines Matching full:param

281  * allowed to 'steal' the value by setting param->xxx to NULL before returning.
284 struct fs_parameter *param) in vfs_fsconfig_locked() argument
303 return vfs_parse_fs_param(fc, param); in vfs_fsconfig_locked()
361 struct fs_parameter param = { in SYSCALL_DEFINE5() local
409 param.key = strndup_user(_key, 256); in SYSCALL_DEFINE5()
410 if (IS_ERR(param.key)) in SYSCALL_DEFINE5()
411 return PTR_ERR(param.key); in SYSCALL_DEFINE5()
416 param.type = fs_value_is_flag; in SYSCALL_DEFINE5()
419 param.type = fs_value_is_string; in SYSCALL_DEFINE5()
420 param.string = strndup_user(_value, 256); in SYSCALL_DEFINE5()
421 if (IS_ERR(param.string)) { in SYSCALL_DEFINE5()
422 ret = PTR_ERR(param.string); in SYSCALL_DEFINE5()
425 param.size = strlen(param.string); in SYSCALL_DEFINE5()
428 param.type = fs_value_is_blob; in SYSCALL_DEFINE5()
429 param.size = aux; in SYSCALL_DEFINE5()
430 param.blob = memdup_user_nul(_value, aux); in SYSCALL_DEFINE5()
431 if (IS_ERR(param.blob)) { in SYSCALL_DEFINE5()
432 ret = PTR_ERR(param.blob); in SYSCALL_DEFINE5()
440 param.type = fs_value_is_filename; in SYSCALL_DEFINE5()
441 param.name = getname_flags(_value, lookup_flags); in SYSCALL_DEFINE5()
442 if (IS_ERR(param.name)) { in SYSCALL_DEFINE5()
443 ret = PTR_ERR(param.name); in SYSCALL_DEFINE5()
446 param.dirfd = aux; in SYSCALL_DEFINE5()
447 param.size = strlen(param.name->name); in SYSCALL_DEFINE5()
450 param.type = fs_value_is_file; in SYSCALL_DEFINE5()
452 param.file = fget_raw(aux); in SYSCALL_DEFINE5()
453 if (!param.file) in SYSCALL_DEFINE5()
455 param.dirfd = aux; in SYSCALL_DEFINE5()
463 ret = vfs_fsconfig_locked(fc, cmd, &param); in SYSCALL_DEFINE5()
474 kfree(param.string); in SYSCALL_DEFINE5()
478 if (param.name) in SYSCALL_DEFINE5()
479 putname(param.name); in SYSCALL_DEFINE5()
482 if (param.file) in SYSCALL_DEFINE5()
483 fput(param.file); in SYSCALL_DEFINE5()
489 kfree(param.key); in SYSCALL_DEFINE5()