stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, David Hildenbrand <david@redhat.com>,
	Axel Rasmussen <axelrasmussen@google.com>,
	Nadav Amit <nadav.amit@gmail.com>, Peter Xu <peterx@redhat.com>,
	Hugh Dickins <hughd@google.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Matthew Wilcox <willy@infradead.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	John Hubbard <jhubbard@nvidia.com>,
	Jason Gunthorpe <jgg@nvidia.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 5.19 001/158] mm/gup: fix FOLL_FORCE COW security issue and remove FOLL_COW
Date: Mon, 29 Aug 2022 12:57:31 +0200	[thread overview]
Message-ID: <20220829105808.886464906@linuxfoundation.org> (raw)
In-Reply-To: <20220829105808.828227973@linuxfoundation.org>

From: David Hildenbrand <david@redhat.com>

commit 5535be3099717646781ce1540cf725965d680e7b upstream.

Ever since the Dirty COW (CVE-2016-5195) security issue happened, we know
that FOLL_FORCE can be possibly dangerous, especially if there are races
that can be exploited by user space.

Right now, it would be sufficient to have some code that sets a PTE of a
R/O-mapped shared page dirty, in order for it to erroneously become
writable by FOLL_FORCE.  The implications of setting a write-protected PTE
dirty might not be immediately obvious to everyone.

And in fact ever since commit 9ae0f87d009c ("mm/shmem: unconditionally set
pte dirty in mfill_atomic_install_pte"), we can use UFFDIO_CONTINUE to map
a shmem page R/O while marking the pte dirty.  This can be used by
unprivileged user space to modify tmpfs/shmem file content even if the
user does not have write permissions to the file, and to bypass memfd
write sealing -- Dirty COW restricted to tmpfs/shmem (CVE-2022-2590).

To fix such security issues for good, the insight is that we really only
need that fancy retry logic (FOLL_COW) for COW mappings that are not
writable (!VM_WRITE).  And in a COW mapping, we really only broke COW if
we have an exclusive anonymous page mapped.  If we have something else
mapped, or the mapped anonymous page might be shared (!PageAnonExclusive),
we have to trigger a write fault to break COW.  If we don't find an
exclusive anonymous page when we retry, we have to trigger COW breaking
once again because something intervened.

Let's move away from this mandatory-retry + dirty handling and rely on our
PageAnonExclusive() flag for making a similar decision, to use the same
COW logic as in other kernel parts here as well.  In case we stumble over
a PTE in a COW mapping that does not map an exclusive anonymous page, COW
was not properly broken and we have to trigger a fake write-fault to break
COW.

Just like we do in can_change_pte_writable() added via commit 64fe24a3e05e
("mm/mprotect: try avoiding write faults for exclusive anonymous pages
when changing protection") and commit 76aefad628aa ("mm/mprotect: fix
soft-dirty check in can_change_pte_writable()"), take care of softdirty
and uffd-wp manually.

For example, a write() via /proc/self/mem to a uffd-wp-protected range has
to fail instead of silently granting write access and bypassing the
userspace fault handler.  Note that FOLL_FORCE is not only used for debug
access, but also triggered by applications without debug intentions, for
example, when pinning pages via RDMA.

This fixes CVE-2022-2590. Note that only x86_64 and aarch64 are
affected, because only those support CONFIG_HAVE_ARCH_USERFAULTFD_MINOR.

Fortunately, FOLL_COW is no longer required to handle FOLL_FORCE. So
let's just get rid of it.

Thanks to Nadav Amit for pointing out that the pte_dirty() check in
FOLL_FORCE code is problematic and might be exploitable.

Note 1: We don't check for the PTE being dirty because it doesn't matter
	for making a "was COWed" decision anymore, and whoever modifies the
	page has to set the page dirty either way.

Note 2: Kernels before extended uffd-wp support and before
	PageAnonExclusive (< 5.19) can simply revert the problematic
	commit instead and be safe regarding UFFDIO_CONTINUE. A backport to
	v5.19 requires minor adjustments due to lack of
	vma_soft_dirty_enabled().

Link: https://lkml.kernel.org/r/20220809205640.70916-1-david@redhat.com
Fixes: 9ae0f87d009c ("mm/shmem: unconditionally set pte dirty in mfill_atomic_install_pte")
Signed-off-by: David Hildenbrand <david@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: David Laight <David.Laight@ACULAB.COM>
Cc: <stable@vger.kernel.org>	[5.16]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/mm.h |    1 
 mm/gup.c           |   69 ++++++++++++++++++++++++++++++++++++-----------------
 mm/huge_memory.c   |   65 +++++++++++++++++++++++++++++++++----------------
 3 files changed, 91 insertions(+), 44 deletions(-)

--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2939,7 +2939,6 @@ struct page *follow_page(struct vm_area_
 #define FOLL_MIGRATION	0x400	/* wait for page to replace migration entry */
 #define FOLL_TRIED	0x800	/* a retry, previous pass started an IO */
 #define FOLL_REMOTE	0x2000	/* we are working on non-current tsk/mm */
-#define FOLL_COW	0x4000	/* internal GUP flag */
 #define FOLL_ANON	0x8000	/* don't do file mappings */
 #define FOLL_LONGTERM	0x10000	/* mapping lifetime is indefinite: see below */
 #define FOLL_SPLIT_PMD	0x20000	/* split huge pmd before returning */
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -478,14 +478,43 @@ static int follow_pfn_pte(struct vm_area
 	return -EEXIST;
 }
 
-/*
- * FOLL_FORCE can write to even unwritable pte's, but only
- * after we've gone through a COW cycle and they are dirty.
- */
-static inline bool can_follow_write_pte(pte_t pte, unsigned int flags)
+/* FOLL_FORCE can write to even unwritable PTEs in COW mappings. */
+static inline bool can_follow_write_pte(pte_t pte, struct page *page,
+					struct vm_area_struct *vma,
+					unsigned int flags)
 {
-	return pte_write(pte) ||
-		((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte));
+	/* If the pte is writable, we can write to the page. */
+	if (pte_write(pte))
+		return true;
+
+	/* Maybe FOLL_FORCE is set to override it? */
+	if (!(flags & FOLL_FORCE))
+		return false;
+
+	/* But FOLL_FORCE has no effect on shared mappings */
+	if (vma->vm_flags & (VM_MAYSHARE | VM_SHARED))
+		return false;
+
+	/* ... or read-only private ones */
+	if (!(vma->vm_flags & VM_MAYWRITE))
+		return false;
+
+	/* ... or already writable ones that just need to take a write fault */
+	if (vma->vm_flags & VM_WRITE)
+		return false;
+
+	/*
+	 * See can_change_pte_writable(): we broke COW and could map the page
+	 * writable if we have an exclusive anonymous page ...
+	 */
+	if (!page || !PageAnon(page) || !PageAnonExclusive(page))
+		return false;
+
+	/* ... and a write-fault isn't required for other reasons. */
+	if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) &&
+	    !(vma->vm_flags & VM_SOFTDIRTY) && !pte_soft_dirty(pte))
+		return false;
+	return !userfaultfd_pte_wp(vma, pte);
 }
 
 static struct page *follow_page_pte(struct vm_area_struct *vma,
@@ -528,12 +557,19 @@ retry:
 	}
 	if ((flags & FOLL_NUMA) && pte_protnone(pte))
 		goto no_page;
-	if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) {
-		pte_unmap_unlock(ptep, ptl);
-		return NULL;
-	}
 
 	page = vm_normal_page(vma, address, pte);
+
+	/*
+	 * We only care about anon pages in can_follow_write_pte() and don't
+	 * have to worry about pte_devmap() because they are never anon.
+	 */
+	if ((flags & FOLL_WRITE) &&
+	    !can_follow_write_pte(pte, page, vma, flags)) {
+		page = NULL;
+		goto out;
+	}
+
 	if (!page && pte_devmap(pte) && (flags & (FOLL_GET | FOLL_PIN))) {
 		/*
 		 * Only return device mapping pages in the FOLL_GET or FOLL_PIN
@@ -967,17 +1003,6 @@ static int faultin_page(struct vm_area_s
 		return -EBUSY;
 	}
 
-	/*
-	 * The VM_FAULT_WRITE bit tells us that do_wp_page has broken COW when
-	 * necessary, even if maybe_mkwrite decided not to set pte_write. We
-	 * can thus safely do subsequent page lookups as if they were reads.
-	 * But only do so when looping for pte_write is futile: in some cases
-	 * userspace may also be wanting to write to the gotten user page,
-	 * which a read fault here might prevent (a readonly page might get
-	 * reCOWed by userspace write).
-	 */
-	if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE))
-		*flags |= FOLL_COW;
 	return 0;
 }
 
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -978,12 +978,6 @@ struct page *follow_devmap_pmd(struct vm
 
 	assert_spin_locked(pmd_lockptr(mm, pmd));
 
-	/*
-	 * When we COW a devmap PMD entry, we split it into PTEs, so we should
-	 * not be in this function with `flags & FOLL_COW` set.
-	 */
-	WARN_ONCE(flags & FOLL_COW, "mm: In follow_devmap_pmd with FOLL_COW set");
-
 	/* FOLL_GET and FOLL_PIN are mutually exclusive. */
 	if (WARN_ON_ONCE((flags & (FOLL_PIN | FOLL_GET)) ==
 			 (FOLL_PIN | FOLL_GET)))
@@ -1349,14 +1343,43 @@ fallback:
 	return VM_FAULT_FALLBACK;
 }
 
-/*
- * FOLL_FORCE can write to even unwritable pmd's, but only
- * after we've gone through a COW cycle and they are dirty.
- */
-static inline bool can_follow_write_pmd(pmd_t pmd, unsigned int flags)
+/* FOLL_FORCE can write to even unwritable PMDs in COW mappings. */
+static inline bool can_follow_write_pmd(pmd_t pmd, struct page *page,
+					struct vm_area_struct *vma,
+					unsigned int flags)
 {
-	return pmd_write(pmd) ||
-	       ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pmd_dirty(pmd));
+	/* If the pmd is writable, we can write to the page. */
+	if (pmd_write(pmd))
+		return true;
+
+	/* Maybe FOLL_FORCE is set to override it? */
+	if (!(flags & FOLL_FORCE))
+		return false;
+
+	/* But FOLL_FORCE has no effect on shared mappings */
+	if (vma->vm_flags & (VM_MAYSHARE | VM_SHARED))
+		return false;
+
+	/* ... or read-only private ones */
+	if (!(vma->vm_flags & VM_MAYWRITE))
+		return false;
+
+	/* ... or already writable ones that just need to take a write fault */
+	if (vma->vm_flags & VM_WRITE)
+		return false;
+
+	/*
+	 * See can_change_pte_writable(): we broke COW and could map the page
+	 * writable if we have an exclusive anonymous page ...
+	 */
+	if (!page || !PageAnon(page) || !PageAnonExclusive(page))
+		return false;
+
+	/* ... and a write-fault isn't required for other reasons. */
+	if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) &&
+	    !(vma->vm_flags & VM_SOFTDIRTY) && !pmd_soft_dirty(pmd))
+		return false;
+	return !userfaultfd_huge_pmd_wp(vma, pmd);
 }
 
 struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
@@ -1365,12 +1388,16 @@ struct page *follow_trans_huge_pmd(struc
 				   unsigned int flags)
 {
 	struct mm_struct *mm = vma->vm_mm;
-	struct page *page = NULL;
+	struct page *page;
 
 	assert_spin_locked(pmd_lockptr(mm, pmd));
 
-	if (flags & FOLL_WRITE && !can_follow_write_pmd(*pmd, flags))
-		goto out;
+	page = pmd_page(*pmd);
+	VM_BUG_ON_PAGE(!PageHead(page) && !is_zone_device_page(page), page);
+
+	if ((flags & FOLL_WRITE) &&
+	    !can_follow_write_pmd(*pmd, page, vma, flags))
+		return NULL;
 
 	/* Avoid dumping huge zero page */
 	if ((flags & FOLL_DUMP) && is_huge_zero_pmd(*pmd))
@@ -1378,10 +1405,7 @@ struct page *follow_trans_huge_pmd(struc
 
 	/* Full NUMA hinting faults to serialise migration in fault paths */
 	if ((flags & FOLL_NUMA) && pmd_protnone(*pmd))
-		goto out;
-
-	page = pmd_page(*pmd);
-	VM_BUG_ON_PAGE(!PageHead(page) && !is_zone_device_page(page), page);
+		return NULL;
 
 	if (!pmd_write(*pmd) && gup_must_unshare(flags, page))
 		return ERR_PTR(-EMLINK);
@@ -1398,7 +1422,6 @@ struct page *follow_trans_huge_pmd(struc
 	page += (addr & ~HPAGE_PMD_MASK) >> PAGE_SHIFT;
 	VM_BUG_ON_PAGE(!PageCompound(page) && !is_zone_device_page(page), page);
 
-out:
 	return page;
 }
 



  reply	other threads:[~2022-08-29 11:01 UTC|newest]

Thread overview: 174+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-29 10:57 [PATCH 5.19 000/158] 5.19.6-rc1 review Greg Kroah-Hartman
2022-08-29 10:57 ` Greg Kroah-Hartman [this message]
2022-08-29 10:57 ` [PATCH 5.19 002/158] NFS: Fix another fsync() issue after a server reboot Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 003/158] audit: fix potential double free on error path from fsnotify_add_inode_mark Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 004/158] cgroup: Fix race condition at rebind_subsystems() Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 005/158] parisc: Make CONFIG_64BIT available for ARCH=parisc64 only Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 006/158] parisc: Fix exception handler for fldw and fstw instructions Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 007/158] kernel/sys_ni: add compat entry for fadvise64_64 Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 008/158] kprobes: dont call disarm_kprobe() for disabled kprobes Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 009/158] mm/uffd: reset write protection when unregister with wp-mode Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 010/158] mm/hugetlb: support write-faults in shared mappings Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 011/158] mt76: mt7921: fix command timeout in AP stop period Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 012/158] xfrm: fix refcount leak in __xfrm_policy_check() Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 013/158] Revert "xfrm: update SA curlft.use_time" Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 014/158] xfrm: clone missing x->lastused in xfrm_do_migrate Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 015/158] af_key: Do not call xfrm_probe_algs in parallel Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 016/158] xfrm: policy: fix metadata dst->dev xmit null pointer dereference Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 017/158] fs: require CAP_SYS_ADMIN in target namespace for idmapped mounts Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 018/158] Revert "net: macsec: update SCI upon MAC address change." Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 019/158] NFSv4.2 fix problems with __nfs42_ssc_open Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 020/158] SUNRPC: RPC level errors should set task->tk_rpc_status Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 021/158] mm/smaps: dont access young/dirty bit if pte unpresent Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 022/158] ntfs: fix acl handling Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 023/158] rose: check NULL rose_loopback_neigh->loopback Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 024/158] r8152: fix the units of some registers for RTL8156A Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 025/158] r8152: fix the RX FIFO settings when suspending Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 026/158] nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 027/158] ice: xsk: prohibit usage of non-balanced queue id Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 028/158] ice: xsk: use Rx rings XDP ring when picking NAPI context Greg Kroah-Hartman
2022-08-29 10:57 ` [PATCH 5.19 029/158] net/mlx5e: Properly disable vlan strip on non-UL reps Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 030/158] net/mlx5: LAG, fix logic over MLX5_LAG_FLAG_NDEVS_READY Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 031/158] net/mlx5: Eswitch, Fix forwarding decision to uplink Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 032/158] net/mlx5: Disable irq when locking lag_lock Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 033/158] net/mlx5: Fix cmd error logging for manage pages cmd Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 034/158] net/mlx5: Avoid false positive lockdep warning by adding lock_class_key Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 035/158] net/mlx5e: Fix wrong application of the LRO state Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 036/158] net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 037/158] net: dsa: microchip: ksz9477: cleanup the ksz9477_switch_detect Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 038/158] net: dsa: microchip: move switch chip_id detection to ksz_common Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 039/158] net: dsa: microchip: move tag_protocol " Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 040/158] net: dsa: microchip: move vlan functionality " Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 041/158] net: dsa: microchip: move the port mirror " Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 042/158] net: dsa: microchip: update the ksz_phylink_get_caps Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 043/158] net: dsa: microchip: keep compatibility with device tree blobs with no phy-mode Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 044/158] net: ipa: dont assume SMEM is page-aligned Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 045/158] net: phy: Dont WARN for PHY_READY state in mdio_bus_phy_resume() Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 046/158] net: moxa: get rid of asymmetry in DMA mapping/unmapping Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 047/158] bonding: 802.3ad: fix no transmission of LACPDUs Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 048/158] net: ipvtap - add __init/__exit annotations to module init/exit funcs Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 049/158] netfilter: ebtables: reject blobs that dont provide all entry points Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 050/158] netfilter: nft_tproxy: restrict to prerouting hook Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 051/158] bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 052/158] bnxt_en: set missing reload flag in devlink features Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 053/158] bnxt_en: fix NQ resource accounting during vf creation on 57500 chips Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 054/158] bnxt_en: fix LRO/GRO_HW features in ndo_fix_features callback Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 055/158] netfilter: nf_tables: disallow updates of implicit chain Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 056/158] netfilter: nf_tables: make table handle allocation per-netns friendly Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 057/158] netfilter: nft_payload: report ERANGE for too long offset and length Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 058/158] netfilter: nft_payload: do not truncate csum_offset and csum_type Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 059/158] netfilter: nf_tables: do not leave chain stats enabled on error Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 060/158] netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 061/158] netfilter: nft_tunnel: restrict it to netdev family Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 062/158] netfilter: nf_tables: disallow binding to already bound chain Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 063/158] netfilter: flowtable: add function to invoke garbage collection immediately Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 064/158] netfilter: flowtable: fix stuck flows on cleanup due to pending work Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 065/158] net: Fix data-races around sysctl_[rw]mem_(max|default) Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 066/158] net: Fix data-races around weight_p and dev_weight_[rt]x_bias Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 067/158] net: Fix data-races around netdev_max_backlog Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 068/158] net: Fix data-races around netdev_tstamp_prequeue Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 069/158] ratelimit: Fix data-races in ___ratelimit() Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 070/158] net: Fix data-races around sysctl_optmem_max Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 071/158] net: Fix a data-race around sysctl_tstamp_allow_data Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 072/158] net: Fix a data-race around sysctl_net_busy_poll Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 073/158] net: Fix a data-race around sysctl_net_busy_read Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 074/158] net: Fix a data-race around netdev_budget Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 075/158] net: Fix data-races around sysctl_max_skb_frags Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 076/158] net: Fix a data-race around netdev_budget_usecs Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 077/158] net: Fix data-races around sysctl_fb_tunnels_only_for_init_net Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 078/158] net: Fix data-races around sysctl_devconf_inherit_init_net Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 079/158] net: Fix a data-race around gro_normal_batch Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 080/158] net: Fix a data-race around netdev_unregister_timeout_secs Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 081/158] net: Fix a data-race around sysctl_somaxconn Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 082/158] ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 083/158] i40e: Fix incorrect address type for IPv6 flow rules Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 084/158] net: ethernet: mtk_eth_soc: enable rx cksum offload for MTK_NETSYS_V2 Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 085/158] net: ethernet: mtk_eth_soc: fix hw hash reporting " Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 086/158] rxrpc: Fix locking in rxrpcs sendmsg Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 087/158] ionic: clear broken state on generation change Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 088/158] ionic: fix up issues with handling EAGAIN on FW cmds Greg Kroah-Hartman
2022-08-29 10:58 ` [PATCH 5.19 089/158] ionic: VF initial random MAC address if no assigned mac Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 090/158] net: stmmac: work around sporadic tx issue on link-up Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 091/158] net: lantiq_xrx200: confirm skb is allocated before using Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 092/158] net: lantiq_xrx200: fix lock under memory pressure Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 093/158] net: lantiq_xrx200: restore buffer if memory allocation failed Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 094/158] btrfs: fix silent failure when deleting root reference Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 095/158] btrfs: replace: drop assert for suspended replace Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 096/158] btrfs: add info when mount fails due to stale replace target Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 097/158] btrfs: fix space cache corruption and potential double allocations Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 098/158] btrfs: check if root is readonly while setting security xattr Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 099/158] btrfs: fix possible memory leak in btrfs_get_dev_args_from_path() Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 100/158] btrfs: update generation of hole file extent item when merging holes Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 101/158] x86/boot: Dont propagate uninitialized boot_params->cc_blob_address Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 102/158] perf/x86/intel: Fix pebs event constraints for ADL Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 103/158] perf/x86/lbr: Enable the branch type for the Arch LBR by default Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 104/158] x86/entry: Fix entry_INT80_compat for Xen PV guests Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 105/158] x86/unwind/orc: Unwind ftrace trampolines with correct ORC entry Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 106/158] x86/sev: Dont use cc_platform_has() for early SEV-SNP calls Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 107/158] x86/bugs: Add "unknown" reporting for MMIO Stale Data Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 108/158] x86/nospec: Unwreck the RSB stuffing Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 109/158] x86/PAT: Have pat_enabled() properly reflect state when running on Xen Greg Kroah-Hartman
2022-09-02 18:16   ` Chuck Zmudzinski
2022-08-29 10:59 ` [PATCH 5.19 110/158] loop: Check for overflow while configuring loop Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 111/158] writeback: avoid use-after-free after removing device Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 112/158] audit: move audit_return_fixup before the filters Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 113/158] asm-generic: sections: refactor memory_intersects Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 114/158] mm/damon/dbgfs: avoid duplicate context directory creation Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 115/158] s390/mm: do not trigger write fault when vma does not allow VM_WRITE Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 116/158] bootmem: remove the vmemmap pages from kmemleak in put_page_bootmem Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 117/158] mm/hugetlb: avoid corrupting page->mapping in hugetlb_mcopy_atomic_pte Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 118/158] mm/mprotect: only reference swap pfn page if type match Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 119/158] cifs: skip extra NULL byte in filenames Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 120/158] s390: fix double free of GS and RI CBs on fork() failure Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 121/158] fbdev: fbcon: Properly revert changes when vc_resize() failed Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 122/158] Revert "memcg: cleanup racy sum avoidance code" Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 123/158] shmem: update folio if shmem_replace_page() updates the page Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 124/158] ACPI: processor: Remove freq Qos request for all CPUs Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 125/158] nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 126/158] smb3: missing inode locks in punch hole Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 127/158] ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 128/158] xen/privcmd: fix error exit of privcmd_ioctl_dm_op() Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 129/158] riscv: signal: fix missing prototype warning Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 130/158] riscv: traps: add missing prototype Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 131/158] riscv: dts: microchip: correct L2 cache interrupts Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 132/158] Revert "zram: remove double compression logic" Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 133/158] io_uring: fix issue with io_write() not always undoing sb_start_write() Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 134/158] mm/hugetlb: fix hugetlb not supporting softdirty tracking Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 135/158] Revert "md-raid: destroy the bitmap after destroying the thread" Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 136/158] md: call __md_stop_writes in md_stop Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 137/158] arm64: Fix match_list for erratum 1286807 on Arm Cortex-A76 Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 138/158] binder_alloc: add missing mmap_lock calls when using the VMA Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 139/158] x86/nospec: Fix i386 RSB stuffing Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 140/158] drm/amdkfd: Fix isa version for the GC 10.3.7 Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 141/158] Documentation/ABI: Mention retbleed vulnerability info file for sysfs Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 142/158] blk-mq: fix io hung due to missing commit_rqs Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 143/158] perf python: Fix build when PYTHON_CONFIG is user supplied Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 144/158] perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 145/158] perf/x86/intel/ds: Fix precise store latency handling Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 146/158] perf stat: Clear evsel->reset_group for each stat run Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 147/158] arm64: fix rodata=full Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 148/158] arm64/signal: Flush FPSIMD register state when disabling streaming mode Greg Kroah-Hartman
2022-08-29 10:59 ` [PATCH 5.19 149/158] arm64/sme: Dont flush SVE register state when allocating SME storage Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 150/158] arm64/sme: Dont flush SVE register state when handling SME traps Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 151/158] scsi: ufs: core: Enable link lost interrupt Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 152/158] scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 153/158] scsi: core: Fix passthrough retry counter handling Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 154/158] riscv: dts: microchip: mpfs: fix incorrect pcie child node name Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 155/158] riscv: dts: microchip: mpfs: remove ti,fifo-depth property Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 156/158] riscv: dts: microchip: mpfs: remove bogus card-detect-delay Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 157/158] riscv: dts: microchip: mpfs: remove pci axi address translation property Greg Kroah-Hartman
2022-08-29 11:00 ` [PATCH 5.19 158/158] bpf: Dont use tnum_range on array range checking for poke descriptors Greg Kroah-Hartman
2022-08-29 18:08 ` [PATCH 5.19 000/158] 5.19.6-rc1 review Florian Fainelli
2022-08-29 21:05 ` Ron Economos
2022-08-29 22:13 ` Shuah Khan
2022-08-29 23:12 ` Zan Aziz
2022-08-30  0:54 ` Guenter Roeck
2022-08-30  2:14 ` Daniel Díaz
2022-08-30 10:37 ` Sudip Mukherjee (Codethink)
2022-09-01  9:47   ` Greg Kroah-Hartman
2022-08-30 12:04 ` Bagas Sanjaya
2022-08-30 12:12 ` Bagas Sanjaya
2022-08-30 12:30 ` Fenil Jain
2022-08-30 14:33 ` Rudi Heitbaum
2022-08-30 21:09 ` Justin Forbes
2022-08-31  5:53 ` Jiri Slaby

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=20220829105808.886464906@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=David.Laight@ACULAB.COM \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=axelrasmussen@google.com \
    --cc=david@redhat.com \
    --cc=hughd@google.com \
    --cc=jgg@nvidia.com \
    --cc=jhubbard@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nadav.amit@gmail.com \
    --cc=peterx@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=vbabka@suse.cz \
    --cc=willy@infradead.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;
as well as URLs for NNTP newsgroup(s).