Page MenuHomeFreeBSD

efivar: Attempt to fix setting/printing/deleting EFI vars with '-' in their name

Authored by imp on Apr 7 2021, 5:59 AM.



Due to how we're parsing UUIDs, we were disallowing setting, printing or
deleting any UEFI variable with a '-' in it when you attempted to do that
operation with the exact name (wildcard reporting was unaffected). Fix the
parser to loop over all the dashes in the name and only give up when all
possible matches are exhausted.

PR: 251025

Diff Detail

rG FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

imp requested review of this revision.Apr 7 2021, 5:59 AM
imp created this revision.

Better error message with full name.

markj added inline comments.

If you instead write if (efi_name_to_guid(name, guid) >= 0) break;, you can get rid of the again flag variable.

BTW, efi_name_to_guid(3) is documented as unimplemented. :)

This revision is now accepted and ready to land.Apr 7 2021, 1:24 PM

Address markj's comments

This revision now requires review to proceed.Apr 8 2021, 10:17 PM
This revision is now accepted and ready to land.Apr 9 2021, 1:52 PM