From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Naoya Horiguchi <naoya.horiguchi@nec.com>,
Oscar Salvador <osalvador@suse.de>,
Muchun Song <songmuchun@bytedance.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
Michal Hocko <mhocko@suse.com>, Tony Luck <tony.luck@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.13 121/127] mm,hwpoison: make get_hwpoison_page() call get_any_page()
Date: Tue, 24 Aug 2021 12:56:01 -0400 [thread overview]
Message-ID: <20210824165607.709387-122-sashal@kernel.org> (raw)
In-Reply-To: <20210824165607.709387-1-sashal@kernel.org>
From: Naoya Horiguchi <naoya.horiguchi@nec.com>
[ Upstream commit 0ed950d1f28142ccd9a9453c60df87853530d778 ]
__get_hwpoison_page() could fail to grab refcount by some race condition,
so it's helpful if we can handle it by retrying. We already have retry
logic, so make get_hwpoison_page() call get_any_page() when called from
memory_failure().
As a result, get_hwpoison_page() can return negative values (i.e. error
code), so some callers are also changed to handle error cases.
soft_offline_page() does nothing for -EBUSY because that's enough and
users in userspace can easily handle it. unpoison_memory() is also
unchanged because it's broken and need thorough fixes (will be done
later).
Link: https://lkml.kernel.org/r/20210603233632.2964832-3-nao.horiguchi@gmail.com
Signed-off-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Muchun Song <songmuchun@bytedance.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
mm/hugetlb.c | 2 +
mm/memory-failure.c | 194 +++++++++++++++++++++++++-------------------
2 files changed, 111 insertions(+), 85 deletions(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 8363f737d5ad..6e35481a0a6b 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -5930,6 +5930,8 @@ int get_hwpoison_huge_page(struct page *page, bool *hugetlb)
*hugetlb = true;
if (HPageFreed(page) || HPageMigratable(page))
ret = get_page_unless_zero(page);
+ else
+ ret = -EBUSY;
}
spin_unlock_irq(&hugetlb_lock);
return ret;
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 6f5f78885ab4..18e83150194a 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -974,13 +974,6 @@ static inline bool HWPoisonHandlable(struct page *page)
return PageLRU(page) || __PageMovable(page);
}
-/**
- * __get_hwpoison_page() - Get refcount for memory error handling:
- * @page: raw error page (hit by memory error)
- *
- * Return: return 0 if failed to grab the refcount, otherwise true (some
- * non-zero value.)
- */
static int __get_hwpoison_page(struct page *page)
{
struct page *head = compound_head(page);
@@ -1025,15 +1018,6 @@ static int __get_hwpoison_page(struct page *page)
return 0;
}
-/*
- * Safely get reference count of an arbitrary page.
- *
- * Returns 0 for a free page, 1 for an in-use page,
- * -EIO for a page-type we cannot handle and -EBUSY if we raced with an
- * allocation.
- * We only incremented refcount in case the page was already in-use and it
- * is a known type we can handle.
- */
static int get_any_page(struct page *p, unsigned long flags)
{
int ret = 0, pass = 0;
@@ -1043,50 +1027,77 @@ static int get_any_page(struct page *p, unsigned long flags)
count_increased = true;
try_again:
- if (!count_increased && !__get_hwpoison_page(p)) {
- if (page_count(p)) {
- /* We raced with an allocation, retry. */
- if (pass++ < 3)
- goto try_again;
- ret = -EBUSY;
- } else if (!PageHuge(p) && !is_free_buddy_page(p)) {
- /* We raced with put_page, retry. */
+ if (!count_increased) {
+ ret = __get_hwpoison_page(p);
+ if (!ret) {
+ if (page_count(p)) {
+ /* We raced with an allocation, retry. */
+ if (pass++ < 3)
+ goto try_again;
+ ret = -EBUSY;
+ } else if (!PageHuge(p) && !is_free_buddy_page(p)) {
+ /* We raced with put_page, retry. */
+ if (pass++ < 3)
+ goto try_again;
+ ret = -EIO;
+ }
+ goto out;
+ } else if (ret == -EBUSY) {
+ /* We raced with freeing huge page to buddy, retry. */
if (pass++ < 3)
goto try_again;
- ret = -EIO;
+ goto out;
}
+ }
+
+ if (PageHuge(p) || HWPoisonHandlable(p)) {
+ ret = 1;
} else {
- if (PageHuge(p) || HWPoisonHandlable(p)) {
- ret = 1;
- } else {
- /*
- * A page we cannot handle. Check whether we can turn
- * it into something we can handle.
- */
- if (pass++ < 3) {
- put_page(p);
- shake_page(p, 1);
- count_increased = false;
- goto try_again;
- }
+ /*
+ * A page we cannot handle. Check whether we can turn
+ * it into something we can handle.
+ */
+ if (pass++ < 3) {
put_page(p);
- ret = -EIO;
+ shake_page(p, 1);
+ count_increased = false;
+ goto try_again;
}
+ put_page(p);
+ ret = -EIO;
}
-
+out:
return ret;
}
-static int get_hwpoison_page(struct page *p, unsigned long flags,
- enum mf_flags ctxt)
+/**
+ * get_hwpoison_page() - Get refcount for memory error handling
+ * @p: Raw error page (hit by memory error)
+ * @flags: Flags controlling behavior of error handling
+ *
+ * get_hwpoison_page() takes a page refcount of an error page to handle memory
+ * error on it, after checking that the error page is in a well-defined state
+ * (defined as a page-type we can successfully handle the memor error on it,
+ * such as LRU page and hugetlb page).
+ *
+ * Memory error handling could be triggered at any time on any type of page,
+ * so it's prone to race with typical memory management lifecycle (like
+ * allocation and free). So to avoid such races, get_hwpoison_page() takes
+ * extra care for the error page's state (as done in __get_hwpoison_page()),
+ * and has some retry logic in get_any_page().
+ *
+ * Return: 0 on failure,
+ * 1 on success for in-use pages in a well-defined state,
+ * -EIO for pages on which we can not handle memory errors,
+ * -EBUSY when get_hwpoison_page() has raced with page lifecycle
+ * operations like allocation and free.
+ */
+static int get_hwpoison_page(struct page *p, unsigned long flags)
{
int ret;
zone_pcp_disable(page_zone(p));
- if (ctxt == MF_SOFT_OFFLINE)
- ret = get_any_page(p, flags);
- else
- ret = __get_hwpoison_page(p);
+ ret = get_any_page(p, flags);
zone_pcp_enable(page_zone(p));
return ret;
@@ -1272,27 +1283,33 @@ static int memory_failure_hugetlb(unsigned long pfn, int flags)
num_poisoned_pages_inc();
- if (!(flags & MF_COUNT_INCREASED) && !get_hwpoison_page(p, flags, 0)) {
- /*
- * Check "filter hit" and "race with other subpage."
- */
- lock_page(head);
- if (PageHWPoison(head)) {
- if ((hwpoison_filter(p) && TestClearPageHWPoison(p))
- || (p != head && TestSetPageHWPoison(head))) {
- num_poisoned_pages_dec();
- unlock_page(head);
- return 0;
+ if (!(flags & MF_COUNT_INCREASED)) {
+ res = get_hwpoison_page(p, flags);
+ if (!res) {
+ /*
+ * Check "filter hit" and "race with other subpage."
+ */
+ lock_page(head);
+ if (PageHWPoison(head)) {
+ if ((hwpoison_filter(p) && TestClearPageHWPoison(p))
+ || (p != head && TestSetPageHWPoison(head))) {
+ num_poisoned_pages_dec();
+ unlock_page(head);
+ return 0;
+ }
}
+ unlock_page(head);
+ res = MF_FAILED;
+ if (!dissolve_free_huge_page(p) && take_page_off_buddy(p)) {
+ page_ref_inc(p);
+ res = MF_RECOVERED;
+ }
+ action_result(pfn, MF_MSG_FREE_HUGE, res);
+ return res == MF_RECOVERED ? 0 : -EBUSY;
+ } else if (res < 0) {
+ action_result(pfn, MF_MSG_UNKNOWN, MF_IGNORED);
+ return -EBUSY;
}
- unlock_page(head);
- res = MF_FAILED;
- if (!dissolve_free_huge_page(p) && take_page_off_buddy(p)) {
- page_ref_inc(p);
- res = MF_RECOVERED;
- }
- action_result(pfn, MF_MSG_FREE_HUGE, res);
- return res == MF_RECOVERED ? 0 : -EBUSY;
}
lock_page(head);
@@ -1493,28 +1510,35 @@ try_again:
* In fact it's dangerous to directly bump up page count from 0,
* that may make page_ref_freeze()/page_ref_unfreeze() mismatch.
*/
- if (!(flags & MF_COUNT_INCREASED) && !get_hwpoison_page(p, flags, 0)) {
- if (is_free_buddy_page(p)) {
- if (take_page_off_buddy(p)) {
- page_ref_inc(p);
- res = MF_RECOVERED;
- } else {
- /* We lost the race, try again */
- if (retry) {
- ClearPageHWPoison(p);
- num_poisoned_pages_dec();
- retry = false;
- goto try_again;
+ if (!(flags & MF_COUNT_INCREASED)) {
+ res = get_hwpoison_page(p, flags);
+ if (!res) {
+ if (is_free_buddy_page(p)) {
+ if (take_page_off_buddy(p)) {
+ page_ref_inc(p);
+ res = MF_RECOVERED;
+ } else {
+ /* We lost the race, try again */
+ if (retry) {
+ ClearPageHWPoison(p);
+ num_poisoned_pages_dec();
+ retry = false;
+ goto try_again;
+ }
+ res = MF_FAILED;
}
- res = MF_FAILED;
+ action_result(pfn, MF_MSG_BUDDY, res);
+ res = res == MF_RECOVERED ? 0 : -EBUSY;
+ } else {
+ action_result(pfn, MF_MSG_KERNEL_HIGH_ORDER, MF_IGNORED);
+ res = -EBUSY;
}
- action_result(pfn, MF_MSG_BUDDY, res);
- res = res == MF_RECOVERED ? 0 : -EBUSY;
- } else {
- action_result(pfn, MF_MSG_KERNEL_HIGH_ORDER, MF_IGNORED);
+ goto unlock_mutex;
+ } else if (res < 0) {
+ action_result(pfn, MF_MSG_UNKNOWN, MF_IGNORED);
res = -EBUSY;
+ goto unlock_mutex;
}
- goto unlock_mutex;
}
if (PageTransHuge(hpage)) {
@@ -1792,7 +1816,7 @@ int unpoison_memory(unsigned long pfn)
return 0;
}
- if (!get_hwpoison_page(p, flags, 0)) {
+ if (!get_hwpoison_page(p, flags)) {
if (TestClearPageHWPoison(p))
num_poisoned_pages_dec();
unpoison_pr_info("Unpoison: Software-unpoisoned free page %#lx\n",
@@ -2008,7 +2032,7 @@ int soft_offline_page(unsigned long pfn, int flags)
retry:
get_online_mems();
- ret = get_hwpoison_page(page, flags, MF_SOFT_OFFLINE);
+ ret = get_hwpoison_page(page, flags);
put_online_mems();
if (ret > 0) {
--
2.30.2
next prev parent reply other threads:[~2021-08-24 17:04 UTC|newest]
Thread overview: 143+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-24 16:54 [PATCH 5.13 000/127] 5.13.13-rc1 review Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 001/127] mtd: cfi_cmdset_0002: fix crash when erasing/writing AMD cards Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 002/127] io_uring: Use WRITE_ONCE() when writing to sq_flags Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 003/127] USB: core: Avoid WARNings for 0-length descriptor requests Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 004/127] USB: core: Fix incorrect pipe calculation in do_proc_control() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 005/127] dmaengine: xilinx_dma: Fix read-after-free bug when terminating transfers Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 006/127] dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 007/127] spi: spi-mux: Add module info needed for autoloading Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 008/127] net: xfrm: Fix end of loop tests for list_for_each_entry Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 009/127] ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218 Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 010/127] dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 011/127] scsi: pm80xx: Fix TMF task completion race condition Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 012/127] scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 013/127] scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 014/127] scsi: core: Avoid printing an error if target_alloc() returns -ENXIO Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 015/127] scsi: core: Fix capacity set to zero after offlinining device Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 016/127] drm/amdgpu: fix the doorbell missing when in CGPG issue for renoir Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 017/127] qede: fix crash in rmmod qede while automatic debug collection Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 018/127] ARM: dts: nomadik: Fix up interrupt controller node names Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 019/127] net: usb: pegasus: Check the return value of get_geristers() and friends; Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 020/127] net: usb: lan78xx: don't modify phy_device state concurrently Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 021/127] perf/x86: Fix out of bound MSR access Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 022/127] spi: cadence-quadspi: Fix check condition for DTR ops Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 023/127] drm/amd/display: Fix Dynamic bpp issue with 8K30 with Navi 1X Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 024/127] drm/amd/display: workaround for hard hang on HPD on native DP Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 025/127] kyber: make trace_block_rq call consistent with documentation Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 026/127] mtd: rawnand: Add a check in of_get_nand_secure_regions() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 027/127] arm64: dts: qcom: c630: fix correct powerdown pin for WSA881x Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 028/127] arm64: dts: qcom: msm8992-bullhead: Remove PSCI Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 029/127] arm64: dts: qcom: msm8992-bullhead: Fix cont_splash_mem mapping Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 030/127] iommu: Check if group is NULL before remove device Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 031/127] cpufreq: arm_scmi: Fix error path when allocation failed Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 032/127] arm64: dts: qcom: msm8994-angler: Disable cont_splash_mem Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 033/127] arm64: dts: qcom: sdm845-oneplus: fix reserved-mem Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 034/127] mt76: fix enum type mismatch Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 035/127] mtd: rawnand: Fix probe failure due to of_get_nand_secure_regions() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 036/127] soc: fsl: qe: convert QE interrupt controller to platform_device Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 037/127] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 038/127] dccp: add do-while-0 stubs for dccp_pr_debug macros Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 039/127] virtio: Protect vqs list access Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 040/127] vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 041/127] bus: ti-sysc: Fix error handling for sysc_check_active_timer() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 042/127] vhost: Fix the calculation in vhost_overflow() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 043/127] vdpa_sim: Fix return value check for vdpa_alloc_device() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 044/127] vp_vdpa: " Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 045/127] vDPA/ifcvf: " Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 046/127] vdpa/mlx5: Avoid destroying MR on empty iotlb Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 047/127] vdpa/mlx5: Fix queue type selection logic Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 048/127] drm/mediatek: Add AAL output size configuration Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 049/127] drm/mediatek: Add component_del in OVL and COLOR remove function Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 050/127] bpf: Clear zext_dst of dead insns Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 051/127] bnxt: don't lock the tx queue from napi poll Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 052/127] bnxt: disable napi before canceling DIM Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 053/127] bnxt: make sure xmit_more + errors does not miss doorbells Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 054/127] bnxt: count Tx drops Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 055/127] soc: fsl: qe: fix static checker warning Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 056/127] net: 6pack: fix slab-out-of-bounds in decode_data Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 057/127] ptp_pch: Restore dependency on PCI Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 058/127] bnxt_en: Disable aRFS if running on 212 firmware Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 059/127] bnxt_en: Add missing DMA memory barriers Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 060/127] vrf: Reset skb conntrack connection on VRF rcv Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 061/127] virtio-net: use NETIF_F_GRO_HW instead of NETIF_F_LRO Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 062/127] mac80211: fix locking in ieee80211_restart_work() Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 063/127] net: qlcnic: add missed unlock in qlcnic_83xx_flash_read32 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 064/127] ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 065/127] sch_cake: fix srchost/dsthost hashing mode Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 066/127] net: mdio-mux: Don't ignore memory allocation errors Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 067/127] net: mdio-mux: Handle -EPROBE_DEFER correctly Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 068/127] ovs: clear skb->tstamp in forwarding path Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 069/127] net: usb: asix: refactor asix_read_phy_addr() and handle errors on return Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 070/127] iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 071/127] drm/i915: Skip display interruption setup when display is not available Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 072/127] drm/i915: Tweaked Wa_14010685332 for all PCHs Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 073/127] pipe: avoid unnecessary EPOLLET wakeups under normal loads Sasha Levin
2021-08-24 17:00 ` Linus Torvalds
2021-08-24 17:35 ` Sasha Levin
2021-08-24 18:01 ` Linus Torvalds
2021-08-25 18:08 ` Linus Torvalds
2021-08-24 16:55 ` [PATCH 5.13 074/127] drm/amd/display: Use DCN30 watermark calc for DCN301 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 075/127] net: mscc: ocelot: allow forwarding from bridge ports to the tag_8021q CPU port Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 076/127] mptcp: fix memory leak on address flush Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 077/127] mptcp: full fully established support after ADD_ADDR Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 078/127] r8152: fix writing USB_BP2_EN Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 079/127] r8152: fix the maximum number of PLA bp for RTL8153C Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 080/127] PCI/sysfs: Use correct variable for the legacy_mem sysfs object Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 081/127] i40e: Fix ATR queue selection Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 082/127] iavf: Fix ping is lost after untrusted VF had tried to change MAC Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 083/127] Revert "flow_offload: action should not be NULL when it is referenced" Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 084/127] net: dpaa2-switch: disable the control interface on error path Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 085/127] iommu/dma: Fix leak in non-contiguous API Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 086/127] mmc: dw_mmc: Fix hang on data CRC error Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 087/127] mmc: mmci: stm32: Check when the voltage switch procedure should be done Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 088/127] mmc: sdhci-msm: Update the software timeout value for sdhc Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 089/127] clk: imx6q: fix uart earlycon unwork Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 090/127] clk: qcom: gdsc: Ensure regulator init state matches GDSC state Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 091/127] arm64: clean vdso & vdso32 files Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 092/127] cfi: Use rcu_read_{un}lock_sched_notrace Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 093/127] ALSA: hda - fix the 'Capture Switch' value change notifications Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 094/127] tracing: define needed config DYNAMIC_FTRACE_WITH_ARGS Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 095/127] tracing / histogram: Fix NULL pointer dereference on strcmp() on NULL event name Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 096/127] slimbus: messaging: start transaction ids from 1 instead of zero Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 097/127] slimbus: messaging: check for valid transaction id Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 098/127] slimbus: ngd: set correct device for pm Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 099/127] slimbus: ngd: reset dma setup during runtime pm Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 100/127] ipack: tpci200: fix many double free issues in tpci200_pci_probe Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 101/127] ipack: tpci200: fix memory leak in the tpci200_register Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 102/127] io_uring: fix code style problems Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 103/127] io_uring: only assign io_uring_enter() SQPOLL error in actual error case Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 104/127] ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 105/127] opp: Drop empty-table checks from _put functions Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 106/127] mmc: sdhci-iproc: Cap min clock frequency on BCM2711 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 107/127] mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN " Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 108/127] btrfs: prevent rename2 from exchanging a subvol with a directory from different parents Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 109/127] tracing: Apply trace filters on all output channels Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 110/127] ALSA: hda/via: Apply runtime PM workaround for ASUS B23E Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 111/127] s390/pci: fix use after free of zpci_dev Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 112/127] usb: typec: tcpm: Fix VDMs sometimes not being forwarded to alt-mode drivers Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 113/127] powerpc/32s: Move setup_{kuep/kuap}() into {kuep/kuap}.c Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 114/127] powerpc/32s: Refactor update of user segment registers Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 115/127] powerpc/32s: Fix random crashes by adding isync() after locking/unlocking KUEP Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 116/127] PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 117/127] ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 118/127] ASoC: intel: atom: Fix breakage for PCM buffer address setup Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 119/127] riscv: Fix a number of free'd resources in init_resources() Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 120/127] mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim Sasha Levin
2021-08-24 16:56 ` Sasha Levin [this message]
2021-08-24 16:56 ` [PATCH 5.13 122/127] mm/hwpoison: retry with shake_page() for unhandlable pages Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 123/127] kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 124/127] hugetlb: don't pass page cache pages to restore_reserve_on_error Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 125/127] io_uring: fix xa_alloc_cycle() error return value check Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 126/127] fs: warn about impending deprecation of mandatory locks Sasha Levin
2021-09-02 13:20 ` Naresh Kamboju
2021-09-02 13:27 ` Jeff Layton
2021-09-02 13:39 ` Naresh Kamboju
2021-09-02 13:31 ` Greg Kroah-Hartman
2021-09-02 13:38 ` Naresh Kamboju
2021-08-24 16:56 ` [PATCH 5.13 127/127] Linux 5.13.13-rc1 Sasha Levin
2021-08-25 16:21 ` [PATCH 5.13 000/127] 5.13.13-rc1 review Daniel Díaz
2021-08-26 12:49 ` Sasha Levin
2021-08-25 20:24 ` Guenter Roeck
2021-08-26 12:50 ` Sasha Levin
2021-08-25 22:34 ` Shuah Khan
2021-08-26 12:50 ` 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=20210824165607.709387-122-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.com \
--cc=mike.kravetz@oracle.com \
--cc=naoya.horiguchi@nec.com \
--cc=osalvador@suse.de \
--cc=songmuchun@bytedance.com \
--cc=stable@vger.kernel.org \
--cc=tony.luck@intel.com \
--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