Commit 429257a4 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'efi-urgent-for-v5.12-rc3' of...

Merge tag 'efi-urgent-for-v5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi

 into efi/urgent

Pull EFI fixes from Ard Biesheuvel:

 "- another missing RT_PROP table related fix, to ensure that the efivarfs
    pseudo filesystem fails gracefully if variable services are unsupported
  - use the correct alignment for literal EFI GUIDs
  - fix a use after unmap issue in the memreserve code"

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 1e28eed1 fb98cc0b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -927,7 +927,7 @@ int __ref efi_mem_reserve_persistent(phys_addr_t addr, u64 size)
	}

	/* first try to find a slot in an existing linked list entry */
	for (prsv = efi_memreserve_root->next; prsv; prsv = rsv->next) {
	for (prsv = efi_memreserve_root->next; prsv; ) {
		rsv = memremap(prsv, sizeof(*rsv), MEMREMAP_WB);
		index = atomic_fetch_add_unless(&rsv->count, 1, rsv->size);
		if (index < rsv->size) {
@@ -937,6 +937,7 @@ int __ref efi_mem_reserve_persistent(phys_addr_t addr, u64 size)
			memunmap(rsv);
			return efi_mem_reserve_iomem(addr, size);
		}
		prsv = rsv->next;
		memunmap(rsv);
	}

+4 −0
Original line number Diff line number Diff line
@@ -484,6 +484,10 @@ int efivar_init(int (*func)(efi_char16_t *, efi_guid_t, unsigned long, void *),
				}
			}

			break;
		case EFI_UNSUPPORTED:
			err = -EOPNOTSUPP;
			status = EFI_NOT_FOUND;
			break;
		case EFI_NOT_FOUND:
			break;
+4 −2
Original line number Diff line number Diff line
@@ -72,8 +72,10 @@ typedef void *efi_handle_t;
 */
typedef guid_t efi_guid_t __aligned(__alignof__(u32));

#define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
	GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)
#define EFI_GUID(a, b, c, d...) (efi_guid_t){ {					\
	(a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff,	\
	(b) & 0xff, ((b) >> 8) & 0xff,						\
	(c) & 0xff, ((c) >> 8) & 0xff, d } }

/*
 * Generic EFI table header