All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <15125811628183@kroah.com>

diff --git a/a/1.txt b/N1/1.txt
index 693c84f..9150ca5 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -12,116 +12,3 @@ and it can be found in the queue-4.14 subdirectory.
 
 If you, or anyone else, feels it should not be added to the stable tree,
 please let <stable@vger.kernel.org> know about it.
-
-
-From foo@baz Wed Dec  6 18:04:41 CET 2017
-From: Kees Cook <keescook@chromium.org>
-Date: Sat, 2 Sep 2017 13:09:45 -0700
-Subject: locking/refcounts, x86/asm: Use unique .text section for refcount exceptions
-
-From: Kees Cook <keescook@chromium.org>
-
-
-[ Upstream commit 564c9cc84e2adf8a6671c1937f0a9fe3da2a4b0e ]
-
-Using .text.unlikely for refcount exceptions isn't safe because gcc may
-move entire functions into .text.unlikely (e.g. in6_dev_dev()), which
-would cause any uses of a protected refcount_t function to stay inline
-with the function, triggering the protection unconditionally:
-
-        .section        .text.unlikely,"ax",@progbits
-        .type   in6_dev_get, @function
-in6_dev_getx:
-.LFB4673:
-        .loc 2 4128 0
-        .cfi_startproc
-...
-        lock; incl 480(%rbx)
-        js 111f
-        .pushsection .text.unlikely
-111:    lea 480(%rbx), %rcx
-112:    .byte 0x0f, 0xff
-.popsection
-113:
-
-This creates a unique .text..refcount section and adds an additional
-test to the exception handler to WARN in the case of having none of OF,
-SF, nor ZF set so we can see things like this more easily in the future.
-
-The double dot for the section name keeps it out of the TEXT_MAIN macro
-namespace, to avoid collisions and so it can be put at the end with
-text.unlikely to keep the cold code together.
-
-See commit:
-
-  cb87481ee89db ("kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured")
-
-... which matches C names: [a-zA-Z0-9_] but not ".".
-
-Reported-by: Mike Galbraith <efault@gmx.de>
-Signed-off-by: Kees Cook <keescook@chromium.org>
-Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Cc: Elena <elena.reshetova@intel.com>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: linux-arch <linux-arch@vger.kernel.org>
-Fixes: 7a46ec0e2f48 ("locking/refcounts, x86/asm: Implement fast refcount overflow protection")
-Link: http://lkml.kernel.org/r/1504382986-49301-2-git-send-email-keescook@chromium.org
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
-Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/include/asm/refcount.h   |    2 +-
- arch/x86/mm/extable.c             |    7 ++++++-
- include/asm-generic/vmlinux.lds.h |    1 +
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
---- a/arch/x86/include/asm/refcount.h
-+++ b/arch/x86/include/asm/refcount.h
-@@ -15,7 +15,7 @@
-  * back to the regular execution flow in .text.
-  */
- #define _REFCOUNT_EXCEPTION				\
--	".pushsection .text.unlikely\n"			\
-+	".pushsection .text..refcount\n"		\
- 	"111:\tlea %[counter], %%" _ASM_CX "\n"		\
- 	"112:\t" ASM_UD0 "\n"				\
- 	ASM_UNREACHABLE					\
---- a/arch/x86/mm/extable.c
-+++ b/arch/x86/mm/extable.c
-@@ -67,12 +67,17 @@ bool ex_handler_refcount(const struct ex
- 	 * wrapped around) will be set. Additionally, seeing the refcount
- 	 * reach 0 will set ZF (Zero Flag: result was zero). In each of
- 	 * these cases we want a report, since it's a boundary condition.
--	 *
-+	 * The SF case is not reported since it indicates post-boundary
-+	 * manipulations below zero or above INT_MAX. And if none of the
-+	 * flags are set, something has gone very wrong, so report it.
- 	 */
- 	if (regs->flags & (X86_EFLAGS_OF | X86_EFLAGS_ZF)) {
- 		bool zero = regs->flags & X86_EFLAGS_ZF;
- 
- 		refcount_error_report(regs, zero ? "hit zero" : "overflow");
-+	} else if ((regs->flags & X86_EFLAGS_SF) == 0) {
-+		/* Report if none of OF, ZF, nor SF are set. */
-+		refcount_error_report(regs, "unexpected saturation");
- 	}
- 
- 	return true;
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -459,6 +459,7 @@
- #define TEXT_TEXT							\
- 		ALIGN_FUNCTION();					\
- 		*(.text.hot TEXT_MAIN .text.fixup .text.unlikely)	\
-+		*(.text..refcount)					\
- 		*(.ref.text)						\
- 	MEM_KEEP(init.text)						\
- 	MEM_KEEP(exit.text)						\
-
-
-Patches currently in stable-queue which might be from keescook@chromium.org are
-
-queue-4.14/locking-refcounts-x86-asm-use-unique-.text-section-for-refcount-exceptions.patch
-queue-4.14/locking-refcounts-x86-asm-enable-config_arch_has_refcount.patch
diff --git a/a/content_digest b/N1/content_digest
index bacde12..2d56a25 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -29,119 +29,6 @@
  "and it can be found in the queue-4.14 subdirectory.\n"
  "\n"
  "If you, or anyone else, feels it should not be added to the stable tree,\n"
- "please let <stable@vger.kernel.org> know about it.\n"
- "\n"
- "\n"
- "From foo@baz Wed Dec  6 18:04:41 CET 2017\n"
- "From: Kees Cook <keescook@chromium.org>\n"
- "Date: Sat, 2 Sep 2017 13:09:45 -0700\n"
- "Subject: locking/refcounts, x86/asm: Use unique .text section for refcount exceptions\n"
- "\n"
- "From: Kees Cook <keescook@chromium.org>\n"
- "\n"
- "\n"
- "[ Upstream commit 564c9cc84e2adf8a6671c1937f0a9fe3da2a4b0e ]\n"
- "\n"
- "Using .text.unlikely for refcount exceptions isn't safe because gcc may\n"
- "move entire functions into .text.unlikely (e.g. in6_dev_dev()), which\n"
- "would cause any uses of a protected refcount_t function to stay inline\n"
- "with the function, triggering the protection unconditionally:\n"
- "\n"
- "        .section        .text.unlikely,\"ax\",@progbits\n"
- "        .type   in6_dev_get, @function\n"
- "in6_dev_getx:\n"
- ".LFB4673:\n"
- "        .loc 2 4128 0\n"
- "        .cfi_startproc\n"
- "...\n"
- "        lock; incl 480(%rbx)\n"
- "        js 111f\n"
- "        .pushsection .text.unlikely\n"
- "111:    lea 480(%rbx), %rcx\n"
- "112:    .byte 0x0f, 0xff\n"
- ".popsection\n"
- "113:\n"
- "\n"
- "This creates a unique .text..refcount section and adds an additional\n"
- "test to the exception handler to WARN in the case of having none of OF,\n"
- "SF, nor ZF set so we can see things like this more easily in the future.\n"
- "\n"
- "The double dot for the section name keeps it out of the TEXT_MAIN macro\n"
- "namespace, to avoid collisions and so it can be put at the end with\n"
- "text.unlikely to keep the cold code together.\n"
- "\n"
- "See commit:\n"
- "\n"
- "  cb87481ee89db (\"kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured\")\n"
- "\n"
- "... which matches C names: [a-zA-Z0-9_] but not \".\".\n"
- "\n"
- "Reported-by: Mike Galbraith <efault@gmx.de>\n"
- "Signed-off-by: Kees Cook <keescook@chromium.org>\n"
- "Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\n"
- "Cc: Elena <elena.reshetova@intel.com>\n"
- "Cc: Linus Torvalds <torvalds@linux-foundation.org>\n"
- "Cc: Peter Zijlstra <peterz@infradead.org>\n"
- "Cc: Thomas Gleixner <tglx@linutronix.de>\n"
- "Cc: linux-arch <linux-arch@vger.kernel.org>\n"
- "Fixes: 7a46ec0e2f48 (\"locking/refcounts, x86/asm: Implement fast refcount overflow protection\")\n"
- "Link: http://lkml.kernel.org/r/1504382986-49301-2-git-send-email-keescook@chromium.org\n"
- "Signed-off-by: Ingo Molnar <mingo@kernel.org>\n"
- "Signed-off-by: Sasha Levin <alexander.levin@verizon.com>\n"
- "Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n"
- "---\n"
- " arch/x86/include/asm/refcount.h   |    2 +-\n"
- " arch/x86/mm/extable.c             |    7 ++++++-\n"
- " include/asm-generic/vmlinux.lds.h |    1 +\n"
- " 3 files changed, 8 insertions(+), 2 deletions(-)\n"
- "\n"
- "--- a/arch/x86/include/asm/refcount.h\n"
- "+++ b/arch/x86/include/asm/refcount.h\n"
- "@@ -15,7 +15,7 @@\n"
- "  * back to the regular execution flow in .text.\n"
- "  */\n"
- " #define _REFCOUNT_EXCEPTION\t\t\t\t\\\n"
- "-\t\".pushsection .text.unlikely\\n\"\t\t\t\\\n"
- "+\t\".pushsection .text..refcount\\n\"\t\t\\\n"
- " \t\"111:\\tlea %[counter], %%\" _ASM_CX \"\\n\"\t\t\\\n"
- " \t\"112:\\t\" ASM_UD0 \"\\n\"\t\t\t\t\\\n"
- " \tASM_UNREACHABLE\t\t\t\t\t\\\n"
- "--- a/arch/x86/mm/extable.c\n"
- "+++ b/arch/x86/mm/extable.c\n"
- "@@ -67,12 +67,17 @@ bool ex_handler_refcount(const struct ex\n"
- " \t * wrapped around) will be set. Additionally, seeing the refcount\n"
- " \t * reach 0 will set ZF (Zero Flag: result was zero). In each of\n"
- " \t * these cases we want a report, since it's a boundary condition.\n"
- "-\t *\n"
- "+\t * The SF case is not reported since it indicates post-boundary\n"
- "+\t * manipulations below zero or above INT_MAX. And if none of the\n"
- "+\t * flags are set, something has gone very wrong, so report it.\n"
- " \t */\n"
- " \tif (regs->flags & (X86_EFLAGS_OF | X86_EFLAGS_ZF)) {\n"
- " \t\tbool zero = regs->flags & X86_EFLAGS_ZF;\n"
- " \n"
- " \t\trefcount_error_report(regs, zero ? \"hit zero\" : \"overflow\");\n"
- "+\t} else if ((regs->flags & X86_EFLAGS_SF) == 0) {\n"
- "+\t\t/* Report if none of OF, ZF, nor SF are set. */\n"
- "+\t\trefcount_error_report(regs, \"unexpected saturation\");\n"
- " \t}\n"
- " \n"
- " \treturn true;\n"
- "--- a/include/asm-generic/vmlinux.lds.h\n"
- "+++ b/include/asm-generic/vmlinux.lds.h\n"
- "@@ -459,6 +459,7 @@\n"
- " #define TEXT_TEXT\t\t\t\t\t\t\t\\\n"
- " \t\tALIGN_FUNCTION();\t\t\t\t\t\\\n"
- " \t\t*(.text.hot TEXT_MAIN .text.fixup .text.unlikely)\t\\\n"
- "+\t\t*(.text..refcount)\t\t\t\t\t\\\n"
- " \t\t*(.ref.text)\t\t\t\t\t\t\\\n"
- " \tMEM_KEEP(init.text)\t\t\t\t\t\t\\\n"
- " \tMEM_KEEP(exit.text)\t\t\t\t\t\t\\\n"
- "\n"
- "\n"
- "Patches currently in stable-queue which might be from keescook@chromium.org are\n"
- "\n"
- "queue-4.14/locking-refcounts-x86-asm-use-unique-.text-section-for-refcount-exceptions.patch\n"
- queue-4.14/locking-refcounts-x86-asm-enable-config_arch_has_refcount.patch
+ please let <stable@vger.kernel.org> know about it.
 
-10e0369fb9e000d1339fe7da70234f341428880d93074fb9ae889438faff5dfe
+bc414d3b7e64f48a0e117eba2b3622dd54a385fc611677736e190869b947c946

diff --git a/a/1.txt b/N2/1.txt
index 693c84f..4b0586f 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -14,7 +14,7 @@ If you, or anyone else, feels it should not be added to the stable tree,
 please let <stable@vger.kernel.org> know about it.
 
 
-From foo@baz Wed Dec  6 18:04:41 CET 2017
+>From foo@baz Wed Dec  6 18:04:41 CET 2017
 From: Kees Cook <keescook@chromium.org>
 Date: Sat, 2 Sep 2017 13:09:45 -0700
 Subject: locking/refcounts, x86/asm: Use unique .text section for refcount exceptions
diff --git a/a/content_digest b/N2/content_digest
index bacde12..ad79411 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -12,8 +12,8 @@
   peterz@infradead.org
   tglx@linutronix.de
  " torvalds@linux-foundation.org\0"
- "Cc\0stable@vger.kernel.org"
- " stable-commits@vger.kernel.org\0"
+ "Cc\0<stable@vger.kernel.org>"
+ " <stable-commits@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
  "\n"
@@ -32,7 +32,7 @@
  "please let <stable@vger.kernel.org> know about it.\n"
  "\n"
  "\n"
- "From foo@baz Wed Dec  6 18:04:41 CET 2017\n"
+ ">From foo@baz Wed Dec  6 18:04:41 CET 2017\n"
  "From: Kees Cook <keescook@chromium.org>\n"
  "Date: Sat, 2 Sep 2017 13:09:45 -0700\n"
  "Subject: locking/refcounts, x86/asm: Use unique .text section for refcount exceptions\n"
@@ -144,4 +144,4 @@
  "queue-4.14/locking-refcounts-x86-asm-use-unique-.text-section-for-refcount-exceptions.patch\n"
  queue-4.14/locking-refcounts-x86-asm-enable-config_arch_has_refcount.patch
 
-10e0369fb9e000d1339fe7da70234f341428880d93074fb9ae889438faff5dfe
+55461f31b1c1f883e53733cf047ac1a5bf24e56fe930fdc91fb3a113261cb98d

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.