Commit 46f4945e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'efi-core-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI updates from Ingo Molnar:
 "A handful of EFI changes for this cycle:

   - EFI CPER parsing improvements

   - Don't take the address of efi_guid_t internal fields"

* tag 'efi-core-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efi: cper: check section header more appropriately
  efi: Don't use knowledge about efi_guid_t internals
  efi: cper: fix scnprintf() use in cper_mem_err_location()
parents 4a2b88eb 1be72c8e
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ static int cper_mem_err_location(struct cper_mem_err_compact *mem, char *msg)
		return 0;

	n = 0;
	len = CPER_REC_LEN - 1;
	len = CPER_REC_LEN;
	if (mem->validation_bits & CPER_MEM_VALID_NODE)
		n += scnprintf(msg + n, len - n, "node: %d ", mem->node);
	if (mem->validation_bits & CPER_MEM_VALID_CARD)
@@ -258,13 +258,12 @@ static int cper_mem_err_location(struct cper_mem_err_compact *mem, char *msg)
		n += scnprintf(msg + n, len - n, "responder_id: 0x%016llx ",
			       mem->responder_id);
	if (mem->validation_bits & CPER_MEM_VALID_TARGET_ID)
		scnprintf(msg + n, len - n, "target_id: 0x%016llx ",
		n += scnprintf(msg + n, len - n, "target_id: 0x%016llx ",
			       mem->target_id);
	if (mem->validation_bits & CPER_MEM_VALID_CHIP_ID)
		scnprintf(msg + n, len - n, "chip_id: %d ",
		n += scnprintf(msg + n, len - n, "chip_id: %d ",
			       mem->extended >> CPER_MEM_CHIP_ID_SHIFT);

	msg[n] = '\0';
	return n;
}

@@ -633,7 +632,7 @@ int cper_estatus_check(const struct acpi_hest_generic_status *estatus)
	data_len = estatus->data_length;

	apei_estatus_for_each_section(estatus, gdata) {
		if (sizeof(struct acpi_hest_generic_data) > data_len)
		if (acpi_hest_get_size(gdata) > data_len)
			return -EINVAL;

		record_size = acpi_hest_get_record_size(gdata);
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ int __init parse_efi_signature_list(
		memcpy(&list, data, sizeof(list));
		pr_devel("LIST[%04x] guid=%pUl ls=%x hs=%x ss=%x\n",
			 offs,
			 list.signature_type.b, list.signature_list_size,
			 &list.signature_type, list.signature_list_size,
			 list.signature_header_size, list.signature_size);

		lsize = list.signature_list_size;