Lines Matching full:va
266 mm_variable_access *va = func; in uefi_vars_mm_get_variable() local
272 length = sizeof(*mvar) + sizeof(*va); in uefi_vars_mm_get_variable()
277 if (va->name_size > uv->max_storage || in uefi_vars_mm_get_variable()
278 va->data_size > uv->max_storage) { in uefi_vars_mm_get_variable()
282 name = func + sizeof(*va); in uefi_vars_mm_get_variable()
283 if (uadd64_overflow(length, va->name_size, &length)) { in uefi_vars_mm_get_variable()
290 if (!uefi_str_is_valid(name, va->name_size, true)) { in uefi_vars_mm_get_variable()
294 uefi_trace_variable(__func__, va->guid, name, va->name_size); in uefi_vars_mm_get_variable()
296 var = uefi_vars_find_variable(uv, va->guid, name, va->name_size); in uefi_vars_mm_get_variable()
306 data = func + sizeof(*va) + va->name_size; in uefi_vars_mm_get_variable()
307 if (uadd64_overflow(length, va->data_size, &length)) { in uefi_vars_mm_get_variable()
314 va->attributes = var->attributes; in uefi_vars_mm_get_variable()
315 if (va->data_size < var->data_size) { in uefi_vars_mm_get_variable()
316 va->data_size = var->data_size; in uefi_vars_mm_get_variable()
317 length -= va->data_size; in uefi_vars_mm_get_variable()
320 va->data_size = var->data_size; in uefi_vars_mm_get_variable()
414 mm_variable_access *va = func; in uefi_vars_mm_set_variable() local
423 length = sizeof(*mvar) + sizeof(*va); in uefi_vars_mm_set_variable()
428 if (va->name_size > uv->max_storage || in uefi_vars_mm_set_variable()
429 va->data_size > uv->max_storage) { in uefi_vars_mm_set_variable()
433 name = func + sizeof(*va); in uefi_vars_mm_set_variable()
434 if (uadd64_overflow(length, va->name_size, &length)) { in uefi_vars_mm_set_variable()
441 data = func + sizeof(*va) + va->name_size; in uefi_vars_mm_set_variable()
442 if (uadd64_overflow(length, va->data_size, &length)) { in uefi_vars_mm_set_variable()
449 g_assert(va->name_size < G_MAXUINT32); in uefi_vars_mm_set_variable()
450 g_assert(va->data_size < G_MAXUINT32); in uefi_vars_mm_set_variable()
452 if (!uefi_str_is_valid(name, va->name_size, true)) { in uefi_vars_mm_set_variable()
456 uefi_trace_variable(__func__, va->guid, name, va->name_size); in uefi_vars_mm_set_variable()
458 old_var = uefi_vars_find_variable(uv, va->guid, name, va->name_size); in uefi_vars_mm_set_variable()
459 if (va->data_size) { in uefi_vars_mm_set_variable()
460 new_var = add_variable(uv, va->guid, name, va->name_size, in uefi_vars_mm_set_variable()
461 va->attributes); in uefi_vars_mm_set_variable()
462 if (va->attributes & EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) { in uefi_vars_mm_set_variable()
467 } else if (va->attributes & in uefi_vars_mm_set_variable()
469 status = uefi_vars_check_auth_2(uv, new_var, va, data); in uefi_vars_mm_set_variable()
488 new_var->data = g_malloc(va->data_size); in uefi_vars_mm_set_variable()
489 memcpy(new_var->data, data, va->data_size); in uefi_vars_mm_set_variable()
490 new_var->data_size = va->data_size; in uefi_vars_mm_set_variable()
514 if (va->attributes & EFI_VARIABLE_APPEND_WRITE && old_var && new_var) { in uefi_vars_mm_set_variable()