Hello,
When there is an EFI variable with a forward slash in its name,
/sys/firmware/efi/efivars contains a directory entry with a forward
slash, which of course causes all sorts of problems (e.g. EINVAL from
stat(2)). Off the top of my head, I can think of two ways to handle
this:
1. Simply skip such variables when making the sysfs entries
2. Come up with an escaping scheme, e.g. "a single backslash is
actually a forward slash, two backslashes are actually a single
backslash" or some such.
Thoughts?
Cheers,
Shea Levy
P.S. Here is the program I ran to get the problematic efi variable,
which worked on qemu+OMVF and a macbook pro 9,2:
EFI_STATUS EFIAPI Main(
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{
EFI_GUID var_guid = { 0x38bd6e09, 0x70b3, 0x48f0, {0x8e, 0xa2,
0x87, 0x25, 0x0c, 0xc3, 0x27, 0x71} };
CHAR16 *var_name = L"a/directory";
CHAR8 data = '\0';
EFI_STATUS status;
return SystemTable->RuntimeServices->SetVariable(
var_name,
&var_guid,
EFI_VARIABLE_BOOTSERVICE_ACCESS|EFI_VARIABLE_RUNTIME_ACCESS,
sizeof data,
&data
);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html