All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20170705191007.GA26635@dhcp22.suse.cz>

diff --git a/a/1.txt b/N1/1.txt
index 2b32252..2e45261 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -19,67 +19,4 @@ On Wed 05-07-17 20:53:02, Michal Hocko wrote:
 > mine which is not a stable material.
 
 Here is the rebase of Oleg's patch.
----
->From 61ff0cd972dac218390a5859b89ce386db731d1d Mon Sep 17 00:00:00 2001
-From: Oleg Nesterov <oleg@redhat.com>
-Date: Fri, 30 Jun 2017 10:19:00 +0200
-Subject: [PATCH] mm/mmap.c: expand_downwards: don't require the gap if
- !vm_prev
-
-expand_stack(vma) fails if address < stack_guard_gap even if there is no
-vma->vm_prev.  I don't think this makes sense, and we didn't do this
-before the recent commit 1be7107fbe18 ("mm: larger stack guard gap,
-between vmas").  We do not need a gap in this case, any address is fine as
-long as security_mmap_addr() doesn't object.
-
-This also simplifies the code, we know that address >= prev->vm_end and
-thus underflow is not possible.
-
-Link: http://lkml.kernel.org/r/20170628175258.GA24881@redhat.com
-Signed-off-by: Oleg Nesterov <oleg@redhat.com>
-Cc: Hugh Dickins <hughd@google.com>
-Cc: Larry Woodman <lwoodman@redhat.com>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Acked-by: Michal Hocko <mhocko@suse.com>
-Signed-off-by: Michal Hocko <mhocko@suse.com>
----
- mm/mmap.c | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/mm/mmap.c b/mm/mmap.c
-index ece0f6d3a1b5..f30847405cab 100644
---- a/mm/mmap.c
-+++ b/mm/mmap.c
-@@ -2316,7 +2316,6 @@ int expand_downwards(struct vm_area_struct *vma,
- {
- 	struct mm_struct *mm = vma->vm_mm;
- 	struct vm_area_struct *prev;
--	unsigned long gap_addr;
- 	int error;
- 
- 	address &= PAGE_MASK;
-@@ -2325,15 +2324,12 @@ int expand_downwards(struct vm_area_struct *vma,
- 		return error;
- 
- 	/* Enforce stack_guard_gap */
--	gap_addr = address - stack_guard_gap;
--	if (gap_addr > address)
--		return -ENOMEM;
- 	prev = vma->vm_prev;
--	if (prev && prev->vm_end > gap_addr &&
-+	/* Check that both stack segments have the same anon_vma? */
-+	if (prev && !(prev->vm_flags & VM_GROWSDOWN) &&
- 			(prev->vm_flags & (VM_WRITE|VM_READ|VM_EXEC))) {
--		if (!(prev->vm_flags & VM_GROWSDOWN))
-+		if (address - prev->vm_end < stack_guard_gap)
- 			return -ENOMEM;
--		/* Check that both stack segments have the same anon_vma? */
- 	}
- 
- 	/* We must make sure the anon_vma is allocated. */
--- 
-2.11.0
-
--- 
-Michal Hocko
-SUSE Labs
\ No newline at end of file
+---
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index f8b688f..4bcfc2b 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -63,70 +63,7 @@
   "> mine which is not a stable material.\n",
   "\n",
   "Here is the rebase of Oleg's patch.\n",
-  "---\n",
-  ">From 61ff0cd972dac218390a5859b89ce386db731d1d Mon Sep 17 00:00:00 2001\n",
-  "From: Oleg Nesterov <oleg\@redhat.com>\n",
-  "Date: Fri, 30 Jun 2017 10:19:00 +0200\n",
-  "Subject: [PATCH] mm/mmap.c: expand_downwards: don't require the gap if\n",
-  " !vm_prev\n",
-  "\n",
-  "expand_stack(vma) fails if address < stack_guard_gap even if there is no\n",
-  "vma->vm_prev.  I don't think this makes sense, and we didn't do this\n",
-  "before the recent commit 1be7107fbe18 (\"mm: larger stack guard gap,\n",
-  "between vmas\").  We do not need a gap in this case, any address is fine as\n",
-  "long as security_mmap_addr() doesn't object.\n",
-  "\n",
-  "This also simplifies the code, we know that address >= prev->vm_end and\n",
-  "thus underflow is not possible.\n",
-  "\n",
-  "Link: http://lkml.kernel.org/r/20170628175258.GA24881\@redhat.com\n",
-  "Signed-off-by: Oleg Nesterov <oleg\@redhat.com>\n",
-  "Cc: Hugh Dickins <hughd\@google.com>\n",
-  "Cc: Larry Woodman <lwoodman\@redhat.com>\n",
-  "Cc: Linus Torvalds <torvalds\@linux-foundation.org>\n",
-  "Acked-by: Michal Hocko <mhocko\@suse.com>\n",
-  "Signed-off-by: Michal Hocko <mhocko\@suse.com>\n",
-  "---\n",
-  " mm/mmap.c | 10 +++-------\n",
-  " 1 file changed, 3 insertions(+), 7 deletions(-)\n",
-  "\n",
-  "diff --git a/mm/mmap.c b/mm/mmap.c\n",
-  "index ece0f6d3a1b5..f30847405cab 100644\n",
-  "--- a/mm/mmap.c\n",
-  "+++ b/mm/mmap.c\n",
-  "\@\@ -2316,7 +2316,6 \@\@ int expand_downwards(struct vm_area_struct *vma,\n",
-  " {\n",
-  " \tstruct mm_struct *mm = vma->vm_mm;\n",
-  " \tstruct vm_area_struct *prev;\n",
-  "-\tunsigned long gap_addr;\n",
-  " \tint error;\n",
-  " \n",
-  " \taddress &= PAGE_MASK;\n",
-  "\@\@ -2325,15 +2324,12 \@\@ int expand_downwards(struct vm_area_struct *vma,\n",
-  " \t\treturn error;\n",
-  " \n",
-  " \t/* Enforce stack_guard_gap */\n",
-  "-\tgap_addr = address - stack_guard_gap;\n",
-  "-\tif (gap_addr > address)\n",
-  "-\t\treturn -ENOMEM;\n",
-  " \tprev = vma->vm_prev;\n",
-  "-\tif (prev && prev->vm_end > gap_addr &&\n",
-  "+\t/* Check that both stack segments have the same anon_vma? */\n",
-  "+\tif (prev && !(prev->vm_flags & VM_GROWSDOWN) &&\n",
-  " \t\t\t(prev->vm_flags & (VM_WRITE|VM_READ|VM_EXEC))) {\n",
-  "-\t\tif (!(prev->vm_flags & VM_GROWSDOWN))\n",
-  "+\t\tif (address - prev->vm_end < stack_guard_gap)\n",
-  " \t\t\treturn -ENOMEM;\n",
-  "-\t\t/* Check that both stack segments have the same anon_vma? */\n",
-  " \t}\n",
-  " \n",
-  " \t/* We must make sure the anon_vma is allocated. */\n",
-  "-- \n",
-  "2.11.0\n",
-  "\n",
-  "-- \n",
-  "Michal Hocko\n",
-  "SUSE Labs"
+  "---"
 ]
 
-6c3a4f4e59c45a13563a4cb965f60497d4d404087b35810bbb6108cbb5589d2a
+00a1eaf4198f77a7824ccf6dba0bafca03f5581a1ce0b9b810e3c5227ebb75f6

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.