All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] efivarfs: Replace invalid slashes with exclamation marks in dentries.
@ 2020-09-25  7:45 Michael Schaller
  2020-09-25  7:48 ` Ard Biesheuvel
  2020-09-30  5:27 ` [tip: efi/urgent] " tip-bot2 for Michael Schaller
  0 siblings, 2 replies; 6+ messages in thread
From: Michael Schaller @ 2020-09-25  7:45 UTC (permalink / raw)
  Cc: michael, Michael Schaller, Matthew Garrett, Jeremy Kerr,
	Ard Biesheuvel, linux-efi, linux-kernel

Without this patch efivarfs_alloc_dentry creates dentries with slashes in
their name if the respective EFI variable has slashes in its name. This in
turn causes EIO on getdents64, which prevents a complete directory listing
of /sys/firmware/efi/efivars/.

This patch replaces the invalid shlashes with exclamation marks like
kobject_set_name_vargs does for /sys/firmware/efi/vars/ to have consistently
named dentries under /sys/firmware/efi/vars/ and /sys/firmware/efi/efivars/.

Signed-off-by: Michael Schaller <misch@google.com>
Tested-by: Michael Schaller <misch@google.com>
---
 fs/efivarfs/super.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c
index 28bb5689333a..15880a68faad 100644
--- a/fs/efivarfs/super.c
+++ b/fs/efivarfs/super.c
@@ -141,6 +141,9 @@ static int efivarfs_callback(efi_char16_t *name16, efi_guid_t vendor,
 
 	name[len + EFI_VARIABLE_GUID_LEN+1] = '\0';
 
+	/* replace invalid slashes like kobject_set_name_vargs does for /sys/firmware/efi/vars. */
+	strreplace(name, '/', '!');
+
 	inode = efivarfs_get_inode(sb, d_inode(root), S_IFREG | 0644, 0,
 				   is_removable);
 	if (!inode)
-- 
2.28.0.681.g6f77f65b4e-goog


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-30  5:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-25  7:45 [PATCH v2] efivarfs: Replace invalid slashes with exclamation marks in dentries Michael Schaller
2020-09-25  7:48 ` Ard Biesheuvel
2020-09-25  7:54   ` Michael Schaller
2020-09-25  7:55     ` Ard Biesheuvel
2020-09-25  7:58       ` Michael Schaller
2020-09-30  5:27 ` [tip: efi/urgent] " tip-bot2 for Michael Schaller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.