linux-kernel.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, Jann Horn <jannh@google.com>,
	Christoph Hellwig <hch@lst.de>, Oleg Nesterov <oleg@redhat.com>,
	Kirill Shutemov <kirill@shutemov.name>, Jan Kara <jack@suse.cz>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Matthew Wilcox <willy@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: [PATCH 5.7 089/163] gup: document and work around "COW can break either way" issue
Date: Tue, 16 Jun 2020 17:34:23 +0200	[thread overview]
Message-ID: <20200616153111.107980948@linuxfoundation.org> (raw)
In-Reply-To: <20200616153106.849127260@linuxfoundation.org>

From: Linus Torvalds <torvalds@linux-foundation.org>

commit 17839856fd588f4ab6b789f482ed3ffd7c403e1f upstream.

Doing a "get_user_pages()" on a copy-on-write page for reading can be
ambiguous: the page can be COW'ed at any time afterwards, and the
direction of a COW event isn't defined.

Yes, whoever writes to it will generally do the COW, but if the thread
that did the get_user_pages() unmapped the page before the write (and
that could happen due to memory pressure in addition to any outright
action), the writer could also just take over the old page instead.

End result: the get_user_pages() call might result in a page pointer
that is no longer associated with the original VM, and is associated
with - and controlled by - another VM having taken it over instead.

So when doing a get_user_pages() on a COW mapping, the only really safe
thing to do would be to break the COW when getting the page, even when
only getting it for reading.

At the same time, some users simply don't even care.

For example, the perf code wants to look up the page not because it
cares about the page, but because the code simply wants to look up the
physical address of the access for informational purposes, and doesn't
really care about races when a page might be unmapped and remapped
elsewhere.

This adds logic to force a COW event by setting FOLL_WRITE on any
copy-on-write mapping when FOLL_GET (or FOLL_PIN) is used to get a page
pointer as a result.

The current semantics end up being:

 - __get_user_pages_fast(): no change. If you don't ask for a write,
   you won't break COW. You'd better know what you're doing.

 - get_user_pages_fast(): the fast-case "look it up in the page tables
   without anything getting mmap_sem" now refuses to follow a read-only
   page, since it might need COW breaking.  Which happens in the slow
   path - the fast path doesn't know if the memory might be COW or not.

 - get_user_pages() (including the slow-path fallback for gup_fast()):
   for a COW mapping, turn on FOLL_WRITE for FOLL_GET/FOLL_PIN, with
   very similar semantics to FOLL_FORCE.

If it turns out that we want finer granularity (ie "only break COW when
it might actually matter" - things like the zero page are special and
don't need to be broken) we might need to push these semantics deeper
into the lookup fault path.  So if people care enough, it's possible
that we might end up adding a new internal FOLL_BREAK_COW flag to go
with the internal FOLL_COW flag we already have for tracking "I had a
COW".

Alternatively, if it turns out that different callers might want to
explicitly control the forced COW break behavior, we might even want to
make such a flag visible to the users of get_user_pages() instead of
using the above default semantics.

But for now, this is mostly commentary on the issue (this commit message
being a lot bigger than the patch, and that patch in turn is almost all
comments), with that minimal "enable COW breaking early" logic using the
existing FOLL_WRITE behavior.

[ It might be worth noting that we've always had this ambiguity, and it
  could arguably be seen as a user-space issue.

  You only get private COW mappings that could break either way in
  situations where user space is doing cooperative things (ie fork()
  before an execve() etc), but it _is_ surprising and very subtle, and
  fork() is supposed to give you independent address spaces.

  So let's treat this as a kernel issue and make the semantics of
  get_user_pages() easier to understand. Note that obviously a true
  shared mapping will still get a page that can change under us, so this
  does _not_ mean that get_user_pages() somehow returns any "stable"
  page ]

Reported-by: Jann Horn <jannh@google.com>
Tested-by: Christoph Hellwig <hch@lst.de>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Kirill Shutemov <kirill@shutemov.name>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpu/drm/i915/gem/i915_gem_userptr.c |    8 +++++
 mm/gup.c                                    |   44 ++++++++++++++++++++++++----
 mm/huge_memory.c                            |    7 +---
 3 files changed, 49 insertions(+), 10 deletions(-)

--- a/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_userptr.c
@@ -598,6 +598,14 @@ static int i915_gem_userptr_get_pages(st
 				      GFP_KERNEL |
 				      __GFP_NORETRY |
 				      __GFP_NOWARN);
+		/*
+		 * Using __get_user_pages_fast() with a read-only
+		 * access is questionable. A read-only page may be
+		 * COW-broken, and then this might end up giving
+		 * the wrong side of the COW..
+		 *
+		 * We may or may not care.
+		 */
 		if (pvec) /* defer to worker if malloc fails */
 			pinned = __get_user_pages_fast(obj->userptr.ptr,
 						       num_pages,
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -382,13 +382,22 @@ static int follow_pfn_pte(struct vm_area
 }
 
 /*
- * FOLL_FORCE can write to even unwritable pte's, but only
- * after we've gone through a COW cycle and they are dirty.
+ * FOLL_FORCE or a forced COW break can write even to 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)
 {
-	return pte_write(pte) ||
-		((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte));
+	return pte_write(pte) || ((flags & FOLL_COW) && pte_dirty(pte));
+}
+
+/*
+ * A (separate) COW fault might break the page the other way and
+ * get_user_pages() would return the page from what is now the wrong
+ * VM. So we need to force a COW break at GUP time even for reads.
+ */
+static inline bool should_force_cow_break(struct vm_area_struct *vma, unsigned int flags)
+{
+	return is_cow_mapping(vma->vm_flags) && (flags & (FOLL_GET | FOLL_PIN));
 }
 
 static struct page *follow_page_pte(struct vm_area_struct *vma,
@@ -1066,9 +1075,11 @@ static long __get_user_pages(struct task
 				goto out;
 			}
 			if (is_vm_hugetlb_page(vma)) {
+				if (should_force_cow_break(vma, foll_flags))
+					foll_flags |= FOLL_WRITE;
 				i = follow_hugetlb_page(mm, vma, pages, vmas,
 						&start, &nr_pages, i,
-						gup_flags, locked);
+						foll_flags, locked);
 				if (locked && *locked == 0) {
 					/*
 					 * We've got a VM_FAULT_RETRY
@@ -1082,6 +1093,10 @@ static long __get_user_pages(struct task
 				continue;
 			}
 		}
+
+		if (should_force_cow_break(vma, foll_flags))
+			foll_flags |= FOLL_WRITE;
+
 retry:
 		/*
 		 * If we have a pending SIGKILL, don't keep faulting pages and
@@ -2674,6 +2689,10 @@ static bool gup_fast_permitted(unsigned
  *
  * If the architecture does not support this function, simply return with no
  * pages pinned.
+ *
+ * Careful, careful! COW breaking can go either way, so a non-write
+ * access can get ambiguous page results. If you call this function without
+ * 'write' set, you'd better be sure that you're ok with that ambiguity.
  */
 int __get_user_pages_fast(unsigned long start, int nr_pages, int write,
 			  struct page **pages)
@@ -2709,6 +2728,12 @@ int __get_user_pages_fast(unsigned long
 	 *
 	 * We do not adopt an rcu_read_lock(.) here as we also want to
 	 * block IPIs that come from THPs splitting.
+	 *
+	 * NOTE! We allow read-only gup_fast() here, but you'd better be
+	 * careful about possible COW pages. You'll get _a_ COW page, but
+	 * not necessarily the one you intended to get depending on what
+	 * COW event happens after this. COW may break the page copy in a
+	 * random direction.
 	 */
 
 	if (IS_ENABLED(CONFIG_HAVE_FAST_GUP) &&
@@ -2766,10 +2791,17 @@ static int internal_get_user_pages_fast(
 	if (unlikely(!access_ok((void __user *)start, len)))
 		return -EFAULT;
 
+	/*
+	 * The FAST_GUP case requires FOLL_WRITE even for pure reads,
+	 * because get_user_pages() may need to cause an early COW in
+	 * order to avoid confusing the normal COW routines. So only
+	 * targets that are already writable are safe to do by just
+	 * looking at the page tables.
+	 */
 	if (IS_ENABLED(CONFIG_HAVE_FAST_GUP) &&
 	    gup_fast_permitted(start, end)) {
 		local_irq_disable();
-		gup_pgd_range(addr, end, gup_flags, pages, &nr_pinned);
+		gup_pgd_range(addr, end, gup_flags | FOLL_WRITE, pages, &nr_pinned);
 		local_irq_enable();
 		ret = nr_pinned;
 	}
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -1515,13 +1515,12 @@ out_unlock:
 }
 
 /*
- * FOLL_FORCE can write to even unwritable pmd's, but only
- * after we've gone through a COW cycle and they are dirty.
+ * FOLL_FORCE or a forced COW break can write even to 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)
 {
-	return pmd_write(pmd) ||
-	       ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pmd_dirty(pmd));
+	return pmd_write(pmd) || ((flags & FOLL_COW) && pmd_dirty(pmd));
 }
 
 struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,



  parent reply	other threads:[~2020-06-16 15:46 UTC|newest]

Thread overview: 164+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-16 15:32 [PATCH 5.7 000/163] 5.7.3-rc1 review Greg Kroah-Hartman
2020-06-16 15:32 ` [PATCH 5.7 001/163] ipv6: fix IPV6_ADDRFORM operation logic Greg Kroah-Hartman
2020-06-16 15:32 ` [PATCH 5.7 002/163] mlxsw: core: Use different get_trend() callbacks for different thermal zones Greg Kroah-Hartman
2020-06-16 15:32 ` [PATCH 5.7 003/163] net_failover: fixed rollback in net_failover_open() Greg Kroah-Hartman
2020-06-16 15:32 ` [PATCH 5.7 004/163] tun: correct header offsets in napi frags mode Greg Kroah-Hartman
2020-06-16 15:32 ` [PATCH 5.7 005/163] bridge: Avoid infinite loop when suppressing NS messages with invalid options Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 006/163] vxlan: " Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 007/163] net: ena: xdp: XDP_TX: fix memory leak Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 008/163] net: ena: xdp: update napi budget for DROP and ABORTED Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 009/163] mptcp: bugfix for RM_ADDR option parsing Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 010/163] genetlink: fix memory leaks in genl_family_rcv_msg_dumpit() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 011/163] net: dsa: qca8k: Fix "Unexpected gfp" kernel exception Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 012/163] tipc: fix NULL pointer dereference in streaming Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 013/163] elfnote: mark all .note sections SHF_ALLOC Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 014/163] staging: mt7621-pci: properly power off dual-ported pcie phy Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 015/163] staging: wfx: fix double free Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 016/163] selftests: fix flower parent qdisc Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 017/163] mm: add kvfree_sensitive() for freeing sensitive data objects Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 018/163] perf probe: Accept the instance number of kretprobe event Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 019/163] driver core: Update device link status correctly for SYNC_STATE_ONLY links Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 020/163] fanotify: fix ignore mask logic for events on child and on dir Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 021/163] powerpc/xive: Clear the page tables for the ESB IO mapping Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 022/163] ASoC: SOF: imx8: Fix randbuild error Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 023/163] ASoC: SOF: imx: fix undefined reference issue Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 024/163] spi: dw: Fix native CS being unset Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 025/163] ath9k_htc: Silence undersized packet warnings Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 026/163] smack: avoid unused sip variable warning Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 027/163] s390/pci: Log new handle in clp_disable_fh() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 028/163] x86/cpu/amd: Make erratum #1054 a legacy erratum Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 029/163] RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 030/163] padata: add separate cpuhp node for CPUHP_PADATA_DEAD Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 031/163] KVM: x86: only do L1TF workaround on affected processors Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 032/163] PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 033/163] aio: fix async fsync creds Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 034/163] usercopy: mark dma-kmalloc caches as usercopy caches Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 035/163] x86_64: Fix jiffies ODR violation Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 036/163] x86: mm: ptdump: calculate effective permissions correctly Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 037/163] x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 038/163] x86/speculation: Prevent rogue cross-process SSBD shutdown Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 039/163] x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 040/163] x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 041/163] x86/reboot/quirks: Add MacBook6,1 reboot quirk Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 042/163] x86/vdso: Unbreak paravirt VDSO clocks Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 043/163] perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 044/163] KVM: x86: dont expose MSR_IA32_UMWAIT_CONTROL unconditionally Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 045/163] KVM: x86: allow KVM_STATE_NESTED_MTF_PENDING in kvm_state flags Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 046/163] KVM: VMX: enable X86_FEATURE_WAITPKG in KVM capabilities Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 047/163] KVM: x86/mmu: Set mmio_value to 0 if reserved #PF cant be generated Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 048/163] KVM: x86: respect singlestep when emulating instruction Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 049/163] KVM: x86: Fix APIC page invalidation race Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 050/163] powerpc/ptdump: Properly handle non standard page size Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 051/163] ASoC: tlv320adcx140: Fix mic gain registers Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 052/163] ASoC: max9867: fix volume controls Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 053/163] io_uring: fix flush req->refs underflow Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 054/163] io_uring: re-set iov base/len for buffer select retry Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 055/163] io_uring: use kvfree() in io_sqe_buffer_register() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 056/163] io_uring: allow O_NONBLOCK async retry Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 057/163] efi/efivars: Add missing kobject_put() in sysfs entry creation error path Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 058/163] smb3: fix incorrect number of credits when ioctl MaxOutputResponse > 64K Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 059/163] smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 060/163] smb3: fix typo in mount options displayed in /proc/mounts Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 061/163] serial: imx: Initialize lock for non-registered console Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 062/163] watchdog: imx_sc_wdt: Fix reboot on crash Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 063/163] ALSA: es1688: Add the missed snd_card_free() Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 064/163] ALSA: hda: add sienna_cichlid audio asic id for sienna_cichlid up Greg Kroah-Hartman
2020-06-16 15:33 ` [PATCH 5.7 065/163] ALSA: fireface: fix configuration error for nominal sampling transfer frequency Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 066/163] ALSA: fireface: start IR context immediately Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 067/163] ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 068/163] ALSA: pcm: disallow linking stream to itself Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 069/163] ALSA: pcm: fix snd_pcm_link() lockdep splat Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 070/163] ALSA: usb-audio: Fix inconsistent card PM state after resume Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 071/163] ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 072/163] ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 073/163] ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 074/163] ACPI: GED: add support for _Exx / _Lxx handler methods Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 075/163] ACPI: PM: Avoid using power resources if there are none for D0 Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 076/163] arm64: acpi: fix UBSAN warning Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 077/163] lib/lzo: fix ambiguous encoding bug in lzo-rle Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 078/163] nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 079/163] lib: fix bitmap_parse() on 64-bit big endian archs Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 080/163] spi: dw: Fix controller unregister order Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 081/163] spi: " Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 082/163] spi: pxa2xx: " Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 083/163] spi: pxa2xx: Fix runtime PM ref imbalance on probe error Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 084/163] spi: bcm2835: Fix controller unregister order Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 085/163] spi: bcm2835aux: " Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 086/163] spi: bcm-qspi: Handle clock probe deferral Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 087/163] spi: bcm-qspi: when tx/rx buffer is NULL set to 0 Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 088/163] PM: runtime: clk: Fix clk_pm_runtime_get() error path Greg Kroah-Hartman
2020-06-16 15:34 ` Greg Kroah-Hartman [this message]
2020-06-16 15:34 ` [PATCH 5.7 090/163] crypto: cavium/nitrox - Fix nitrox_get_first_device() when ndevlist is fully iterated Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 091/163] crypto: algapi - Avoid spurious modprobe on LOADED Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 092/163] crypto: drbg - fix error return code in drbg_alloc_state() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 093/163] crypto: virtio: Fix dest length calculation in __virtio_crypto_skcipher_do_req() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 094/163] crypto: virtio: Fix use-after-free in virtio_crypto_skcipher_finalize_req() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 095/163] crypto: virtio: Fix src/dst scatterlist calculation in __virtio_crypto_skcipher_do_req() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 096/163] x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 097/163] firmware: imx-scu: Support one TX and one RX Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 098/163] firmware: imx: scu: Fix corruption of header Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 099/163] dccp: Fix possible memleak in dccp_init and dccp_fini Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 100/163] net: mvneta: do not redirect frames during reconfiguration Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 101/163] selftests/net: in rxtimestamp getopt_long needs terminating null entry Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 102/163] net/mlx5: drain health workqueue in case of driver load error Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 103/163] net/mlx5: Fix fatal error handling during device load Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 104/163] net/mlx5e: Fix repeated XSK usage on one channel Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 105/163] net: cadence: macb: disable NAPI on error Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 106/163] net: macb: Only disable NAPI on the actual error path Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 107/163] net/mlx5: Disable reload while removing the device Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 108/163] mptcp: dont leak msk in token container Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 109/163] ionic: wait on queue start until after IFF_UP Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 110/163] mptcp: fix races between shutdown and recvmsg Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 111/163] net: ethernet: ti: ale: fix allmulti for nu type ale Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 112/163] net: ethernet: ti: am65-cpsw-nuss: fix ale parameters init Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 113/163] net: sched: export __netdev_watchdog_up() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 114/163] net/mlx5e: CT: Fix ipv6 nat header rewrite actions Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 115/163] ovl: fix out of bounds access warning in ovl_check_fb_len() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 116/163] ovl: initialize error in ovl_copy_xattr Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 117/163] exfat: fix memory leak in exfat_parse_param() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 118/163] exfat: fix incorrect update of stream entry in __exfat_truncate() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 119/163] proc: Use new_inode not new_inode_pseudo Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 120/163] remoteproc: Fall back to using parent memory pool if no dedicated available Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 121/163] remoteproc: Fix and restore the parenting hierarchy for vdev Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 122/163] cpufreq: Fix up cpufreq_boost_set_sw() Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 123/163] EDAC/skx: Use the mcmtr register to retrieve close_pg/bank_xor_enable Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 124/163] video: vt8500lcdfb: fix fallthrough warning Greg Kroah-Hartman
2020-06-16 15:34 ` [PATCH 5.7 125/163] video: fbdev: w100fb: Fix a potential double free Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 126/163] media: videobuf2-dma-contig: fix bad kfree in vb2_dma_contig_clear_max_seg_size Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 127/163] KVM: nVMX: Skip IBPB when switching between vmcs01 and vmcs02 Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 128/163] KVM: nSVM: fix condition for filtering async PF Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 129/163] KVM: nSVM: leave ASID aside in copy_vmcb_control_area Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 130/163] KVM: nVMX: Consult only the "basic" exit reason when routing nested exit Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 131/163] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 132/163] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 133/163] KVM: arm64: Stop writing aarch32s CSSELR into ACTLR Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 134/163] KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 135/163] scsi: megaraid_sas: TM command refire leads to controller firmware crash Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 136/163] scsi: lpfc: Fix negation of else clause in lpfc_prep_node_fc4type Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 137/163] scsi: megaraid_sas: Replace undefined MFI_BIG_ENDIAN macro with __BIG_ENDIAN_BITFIELD macro Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 138/163] selftests/ftrace: Return unsupported if no error_log file Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 139/163] ath9k: Fix use-after-free Read in htc_connect_service Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 140/163] ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 141/163] ath9k: Fix use-after-free Write in ath9k_htc_rx_msg Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 142/163] ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 143/163] ath9k: Fix general protection fault " Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 144/163] Smack: slab-out-of-bounds in vsscanf Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 145/163] drm/vkms: Hold gem object while still in-use Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 146/163] mm/slub: fix a memory leak in sysfs_slab_add() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 147/163] fat: dont allow to mount if the FAT length == 0 Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 148/163] perf: Add cond_resched() to task_function_call() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 149/163] agp/intel: Reinforce the barrier after GTT updates Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 150/163] mmc: sdhci-msm: Clear tuning done flag while hs400 tuning Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 151/163] mmc: sdhci-of-at91: fix CALCR register being rewritten Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 152/163] mmc: mmci_sdmmc: fix DMA API warning overlapping mappings Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 153/163] mmc: tmio: Further fixup runtime PM management at remove Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 154/163] mmc: uniphier-sd: call devm_request_irq() after tmio_mmc_host_probe() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 155/163] ARM: dts: at91: sama5d2_ptc_ek: fix sdmmc0 node description Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 156/163] mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 157/163] mmc: sdio: Fix several potential memory leaks " Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 158/163] block/floppy: fix contended case in floppy_queue_rq() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 159/163] xen/pvcalls-back: test for errors when calling backend_connect() Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 160/163] platform/x86: sony-laptop: SNC calls should handle BUFFER types Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 161/163] platform/x86: sony-laptop: Make resuming thermal profile safer Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 162/163] KVM: arm64: Save the hosts PtrAuth keys in non-preemptible context Greg Kroah-Hartman
2020-06-16 15:35 ` [PATCH 5.7 163/163] KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception Greg Kroah-Hartman

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=20200616153111.107980948@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=aarcange@redhat.com \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=jannh@google.com \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --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).