From: Sasha Levin <Alexander.Levin@microsoft.com>
To: "stable@vger.kernel.org" <stable@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Jones <pjones@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Sasha Levin <Alexander.Levin@microsoft.com>
Subject: [PATCH AUTOSEL 4.14 18/57] efi/esrt: Only call efi_mem_reserve() for boot services memory
Date: Sat, 15 Sep 2018 01:32:41 +0000 [thread overview]
Message-ID: <20180915013223.179909-18-alexander.levin@microsoft.com> (raw)
In-Reply-To: <20180915013223.179909-1-alexander.levin@microsoft.com>
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[ Upstream commit 61f0d55569463a1af897117ff47d202b0ccb2e24 ]
The following commit:
7e1550b8f208 ("efi: Drop type and attribute checks in efi_mem_desc_lookup()")
refactored the implementation of efi_mem_desc_lookup() so that the type
check is moved to the callers, one of which is the x86 version of
efi_arch_mem_reserve(), where we added a modified check that only takes
EFI_BOOT_SERVICES_DATA regions into account.
This is reasonable, since it is the only memory type that requires this,
but doing so uncovered some unexpected behavior in the ESRT code, which
permits the ESRT table to reside in other types of memory than what the
UEFI spec mandates (i.e., EFI_BOOT_SERVICES_DATA), and unconditionally
calls efi_mem_reserve() on the region in question. This may result in
errors such as
esrt: Reserving ESRT space from 0x000000009c810318 to 0x000000009c810350.
efi: Failed to lookup EFI memory descriptor for 0x000000009c810318
when the ESRT table is not in EFI_BOOT_SERVICES_DATA memory, but we try
to reserve it nonetheless.
So make the call to efi_mem_reserve() conditional on the memory type.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Jones <pjones@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
drivers/firmware/efi/esrt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/firmware/efi/esrt.c b/drivers/firmware/efi/esrt.c
index c47e0c6ec00f..f3c28777b8c6 100644
--- a/drivers/firmware/efi/esrt.c
+++ b/drivers/firmware/efi/esrt.c
@@ -333,7 +333,8 @@ void __init efi_esrt_init(void)
end = esrt_data + size;
pr_info("Reserving ESRT space from %pa to %pa.\n", &esrt_data, &end);
- efi_mem_reserve(esrt_data, esrt_data_size);
+ if (md.type == EFI_BOOT_SERVICES_DATA)
+ efi_mem_reserve(esrt_data, esrt_data_size);
pr_debug("esrt-init: loaded.\n");
err_memunmap:
--
2.17.1
next prev parent reply other threads:[~2018-09-15 1:44 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-15 1:32 [PATCH AUTOSEL 4.14 01/57] binfmt_elf: Respect error return from `regset->active' Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 02/57] net/mlx5: Add missing SET_DRIVER_VERSION command translation Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 03/57] arm64: dts: uniphier: Add missing cooling device properties for CPUs Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 04/57] audit: fix use-after-free in audit_add_watch Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 05/57] mtdchar: fix overflows in adjustment of `count` Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 07/57] Bluetooth: Use lock_sock_nested in bt_accept_enqueue Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 06/57] vfs: fix freeze protection in mnt_want_write_file() for overlayfs Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 08/57] mtd: rawnand: sunxi: Add an U suffix to NFC_PAGE_OP definition Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 09/57] evm: Don't deadlock if a crypto algorithm is unavailable Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 10/57] KVM: PPC: Book3S HV: Add of_node_put() in success path Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 11/57] security: check for kstrdup() failure in lsm_append() Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 12/57] PM / devfreq: use put_device() instead of kfree() Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 13/57] MIPS: loongson64: cs5536: Fix PCI_OHCI_INT_REG reads Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 14/57] configfs: fix registered group removal Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 15/57] pinctrl: rza1: Fix selector use for groups and functions Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 16/57] pinctrl: pinmux: Return selector to the pinctrl driver Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 17/57] sched/core: Use smp_mb() in wake_woken_function() Sasha Levin
2018-09-15 1:32 ` Sasha Levin [this message]
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 19/57] ARM: hisi: handle of_iomap and fix missing of_node_put Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 20/57] ARM: hisi: fix error handling and " Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 21/57] ARM: hisi: check of_iomap and fix " Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 22/57] liquidio: fix hang when re-binding VF host drv after running DPDK VF driver Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 23/57] gpu: ipu-v3: csi: pass back mbus_code_to_bus_cfg error codes Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 24/57] tty: fix termios input-speed encoding when using BOTHER Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 25/57] tty: fix termios input-speed encoding Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 26/57] mmc: sdhci-of-esdhc: set proper dma mask for ls104x chips Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 27/57] mmc: tegra: prevent HS200 on Tegra 3 Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 28/57] mmc: sdhci: do not try to use 3.3V signaling if not supported Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 29/57] drm/nouveau: Fix runtime PM leak in drm_open() Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 31/57] drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 30/57] drm/nouveau/debugfs: Wake up GPU before doing any reclocking Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 32/57] parport: sunbpp: fix error return code Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 33/57] sched/fair: Fix util_avg of new tasks for asymmetric systems Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 34/57] coresight: Handle errors in finding input/output ports Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 35/57] coresight: tpiu: Fix disabling timeouts Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 36/57] coresight: ETM: Add support for Arm Cortex-A73 and Cortex-A35 Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 37/57] staging: bcm2835-audio: Don't leak workqueue if open fails Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 38/57] gpio: pxa: Fix potential NULL dereference Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 40/57] mfd: 88pm860x-i2c: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 39/57] gpiolib: Mark gpio_suffixes array with __maybe_unused Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 41/57] input: rohm_bu21023: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 42/57] rcu: Fix grace-period hangs due to race with CPU offline Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 43/57] drm/amdkfd: Fix error codes in kfd_get_process Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 45/57] ALSA: pcm: Fix snd_interval_refine first/last with open min/max Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 44/57] rtc: bq4802: add error handling for devm_ioremap Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 47/57] selftest: timers: Tweak raw_skew to SKIP when ADJ_OFFSET/other clock adjustments are in progress Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 46/57] scsi: libfc: fixup 'sleeping function called from invalid context' Sasha Levin
2018-09-15 1:32 ` [PATCH AUTOSEL 4.14 48/57] drm/panel: type promotion bug in s6e8aa0_read_mtp_id() Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 50/57] dmaengine: idma64: Support dmaengine_terminate_sync() Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 49/57] dmaengine: hsu: " Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 51/57] IB/nes: Fix a compiler warning Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 52/57] blk-mq: only attempt to merge bio if there is rq in sw queue Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 53/57] blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 54/57] gpiolib: Respect error code of ->get_direction() Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 55/57] pinctrl: msm: Fix msm_config_group_get() to be compliant Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 56/57] pinctrl: qcom: spmi-gpio: Fix pmic_gpio_config_get() " Sasha Levin
2018-09-15 1:33 ` [PATCH AUTOSEL 4.14 57/57] clk: tegra: bpmp: Don't crash when a clock fails to register Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180915013223.179909-18-alexander.levin@microsoft.com \
--to=alexander.levin@microsoft.com \
--cc=ard.biesheuvel@linaro.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjones@redhat.com \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome