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

diff --git a/a/content_digest b/N1/content_digest
index e190c0c..606b7e5 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -6,8 +6,8 @@
   linux-kernel@vger.kernel.org
   linux-mips@linux-mips.org
  " ralf@linux-mips.org\0"
- "Cc\0<stable@vger.kernel.org>"
- " <stable-commits@vger.kernel.org>\0"
+ "Cc\0stable@vger.kernel.org"
+ " stable-commits@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
  "\n"
@@ -25,4 +25,4 @@
  "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.
 
-cc205da273394e9b33dbe77c23869e568b6c96d2d9695d435aebb50e699f6579
+a522c0e17e3156597743b6022288bed10485bcd47c1f18253d2c518ec1b2fd1a

diff --git a/a/1.txt b/N2/1.txt
index e845510..1c4e498 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -12,3 +12,118 @@ and it can be found in the queue-4.5 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 aedcfbe06558a9f53002e82d5be64c6c94687726 Mon Sep 17 00:00:00 2001
+From: Harvey Hunt <harvey.hunt@imgtec.com>
+Date: Wed, 25 May 2016 11:06:35 +0100
+Subject: MIPS: lib: Mark intrinsics notrace
+
+From: Harvey Hunt <harvey.hunt@imgtec.com>
+
+commit aedcfbe06558a9f53002e82d5be64c6c94687726 upstream.
+
+On certain MIPS32 devices, the ftrace tracer "function_graph" uses
+__lshrdi3() during the capturing of trace data. ftrace then attempts to
+trace __lshrdi3() which leads to infinite recursion and a stack overflow.
+Fix this by marking __lshrdi3() as notrace. Mark the other compiler
+intrinsics as notrace in case the compiler decides to use them in the
+ftrace path.
+
+Signed-off-by: Harvey Hunt <harvey.hunt@imgtec.com>
+Cc: <linux-mips@linux-mips.org>
+Cc: <linux-kernel@vger.kernel.org>
+Patchwork: https://patchwork.linux-mips.org/patch/13354/
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/lib/ashldi3.c |    2 +-
+ arch/mips/lib/ashrdi3.c |    2 +-
+ arch/mips/lib/bswapdi.c |    2 +-
+ arch/mips/lib/bswapsi.c |    2 +-
+ arch/mips/lib/cmpdi2.c  |    2 +-
+ arch/mips/lib/lshrdi3.c |    2 +-
+ arch/mips/lib/ucmpdi2.c |    2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+--- a/arch/mips/lib/ashldi3.c
++++ b/arch/mips/lib/ashldi3.c
+@@ -2,7 +2,7 @@
+ 
+ #include "libgcc.h"
+ 
+-long long __ashldi3(long long u, word_type b)
++long long notrace __ashldi3(long long u, word_type b)
+ {
+ 	DWunion uu, w;
+ 	word_type bm;
+--- a/arch/mips/lib/ashrdi3.c
++++ b/arch/mips/lib/ashrdi3.c
+@@ -2,7 +2,7 @@
+ 
+ #include "libgcc.h"
+ 
+-long long __ashrdi3(long long u, word_type b)
++long long notrace __ashrdi3(long long u, word_type b)
+ {
+ 	DWunion uu, w;
+ 	word_type bm;
+--- a/arch/mips/lib/bswapdi.c
++++ b/arch/mips/lib/bswapdi.c
+@@ -1,6 +1,6 @@
+ #include <linux/module.h>
+ 
+-unsigned long long __bswapdi2(unsigned long long u)
++unsigned long long notrace __bswapdi2(unsigned long long u)
+ {
+ 	return (((u) & 0xff00000000000000ull) >> 56) |
+ 	       (((u) & 0x00ff000000000000ull) >> 40) |
+--- a/arch/mips/lib/bswapsi.c
++++ b/arch/mips/lib/bswapsi.c
+@@ -1,6 +1,6 @@
+ #include <linux/module.h>
+ 
+-unsigned int __bswapsi2(unsigned int u)
++unsigned int notrace __bswapsi2(unsigned int u)
+ {
+ 	return (((u) & 0xff000000) >> 24) |
+ 	       (((u) & 0x00ff0000) >>  8) |
+--- a/arch/mips/lib/cmpdi2.c
++++ b/arch/mips/lib/cmpdi2.c
+@@ -2,7 +2,7 @@
+ 
+ #include "libgcc.h"
+ 
+-word_type __cmpdi2(long long a, long long b)
++word_type notrace __cmpdi2(long long a, long long b)
+ {
+ 	const DWunion au = {
+ 		.ll = a
+--- a/arch/mips/lib/lshrdi3.c
++++ b/arch/mips/lib/lshrdi3.c
+@@ -2,7 +2,7 @@
+ 
+ #include "libgcc.h"
+ 
+-long long __lshrdi3(long long u, word_type b)
++long long notrace __lshrdi3(long long u, word_type b)
+ {
+ 	DWunion uu, w;
+ 	word_type bm;
+--- a/arch/mips/lib/ucmpdi2.c
++++ b/arch/mips/lib/ucmpdi2.c
+@@ -2,7 +2,7 @@
+ 
+ #include "libgcc.h"
+ 
+-word_type __ucmpdi2(unsigned long long a, unsigned long long b)
++word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
+ {
+ 	const DWunion au = {.ll = a};
+ 	const DWunion bu = {.ll = b};
+
+
+Patches currently in stable-queue which might be from harvey.hunt@imgtec.com are
+
+queue-4.5/mips-lib-mark-intrinsics-notrace.patch
diff --git a/a/content_digest b/N2/content_digest
index e190c0c..5ebff7b 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -23,6 +23,121 @@
  "and it can be found in the queue-4.5 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.
+ "please let <stable@vger.kernel.org> know about it.\n"
+ "\n"
+ "\n"
+ ">From aedcfbe06558a9f53002e82d5be64c6c94687726 Mon Sep 17 00:00:00 2001\n"
+ "From: Harvey Hunt <harvey.hunt@imgtec.com>\n"
+ "Date: Wed, 25 May 2016 11:06:35 +0100\n"
+ "Subject: MIPS: lib: Mark intrinsics notrace\n"
+ "\n"
+ "From: Harvey Hunt <harvey.hunt@imgtec.com>\n"
+ "\n"
+ "commit aedcfbe06558a9f53002e82d5be64c6c94687726 upstream.\n"
+ "\n"
+ "On certain MIPS32 devices, the ftrace tracer \"function_graph\" uses\n"
+ "__lshrdi3() during the capturing of trace data. ftrace then attempts to\n"
+ "trace __lshrdi3() which leads to infinite recursion and a stack overflow.\n"
+ "Fix this by marking __lshrdi3() as notrace. Mark the other compiler\n"
+ "intrinsics as notrace in case the compiler decides to use them in the\n"
+ "ftrace path.\n"
+ "\n"
+ "Signed-off-by: Harvey Hunt <harvey.hunt@imgtec.com>\n"
+ "Cc: <linux-mips@linux-mips.org>\n"
+ "Cc: <linux-kernel@vger.kernel.org>\n"
+ "Patchwork: https://patchwork.linux-mips.org/patch/13354/\n"
+ "Signed-off-by: Ralf Baechle <ralf@linux-mips.org>\n"
+ "Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n"
+ "\n"
+ "---\n"
+ " arch/mips/lib/ashldi3.c |    2 +-\n"
+ " arch/mips/lib/ashrdi3.c |    2 +-\n"
+ " arch/mips/lib/bswapdi.c |    2 +-\n"
+ " arch/mips/lib/bswapsi.c |    2 +-\n"
+ " arch/mips/lib/cmpdi2.c  |    2 +-\n"
+ " arch/mips/lib/lshrdi3.c |    2 +-\n"
+ " arch/mips/lib/ucmpdi2.c |    2 +-\n"
+ " 7 files changed, 7 insertions(+), 7 deletions(-)\n"
+ "\n"
+ "--- a/arch/mips/lib/ashldi3.c\n"
+ "+++ b/arch/mips/lib/ashldi3.c\n"
+ "@@ -2,7 +2,7 @@\n"
+ " \n"
+ " #include \"libgcc.h\"\n"
+ " \n"
+ "-long long __ashldi3(long long u, word_type b)\n"
+ "+long long notrace __ashldi3(long long u, word_type b)\n"
+ " {\n"
+ " \tDWunion uu, w;\n"
+ " \tword_type bm;\n"
+ "--- a/arch/mips/lib/ashrdi3.c\n"
+ "+++ b/arch/mips/lib/ashrdi3.c\n"
+ "@@ -2,7 +2,7 @@\n"
+ " \n"
+ " #include \"libgcc.h\"\n"
+ " \n"
+ "-long long __ashrdi3(long long u, word_type b)\n"
+ "+long long notrace __ashrdi3(long long u, word_type b)\n"
+ " {\n"
+ " \tDWunion uu, w;\n"
+ " \tword_type bm;\n"
+ "--- a/arch/mips/lib/bswapdi.c\n"
+ "+++ b/arch/mips/lib/bswapdi.c\n"
+ "@@ -1,6 +1,6 @@\n"
+ " #include <linux/module.h>\n"
+ " \n"
+ "-unsigned long long __bswapdi2(unsigned long long u)\n"
+ "+unsigned long long notrace __bswapdi2(unsigned long long u)\n"
+ " {\n"
+ " \treturn (((u) & 0xff00000000000000ull) >> 56) |\n"
+ " \t       (((u) & 0x00ff000000000000ull) >> 40) |\n"
+ "--- a/arch/mips/lib/bswapsi.c\n"
+ "+++ b/arch/mips/lib/bswapsi.c\n"
+ "@@ -1,6 +1,6 @@\n"
+ " #include <linux/module.h>\n"
+ " \n"
+ "-unsigned int __bswapsi2(unsigned int u)\n"
+ "+unsigned int notrace __bswapsi2(unsigned int u)\n"
+ " {\n"
+ " \treturn (((u) & 0xff000000) >> 24) |\n"
+ " \t       (((u) & 0x00ff0000) >>  8) |\n"
+ "--- a/arch/mips/lib/cmpdi2.c\n"
+ "+++ b/arch/mips/lib/cmpdi2.c\n"
+ "@@ -2,7 +2,7 @@\n"
+ " \n"
+ " #include \"libgcc.h\"\n"
+ " \n"
+ "-word_type __cmpdi2(long long a, long long b)\n"
+ "+word_type notrace __cmpdi2(long long a, long long b)\n"
+ " {\n"
+ " \tconst DWunion au = {\n"
+ " \t\t.ll = a\n"
+ "--- a/arch/mips/lib/lshrdi3.c\n"
+ "+++ b/arch/mips/lib/lshrdi3.c\n"
+ "@@ -2,7 +2,7 @@\n"
+ " \n"
+ " #include \"libgcc.h\"\n"
+ " \n"
+ "-long long __lshrdi3(long long u, word_type b)\n"
+ "+long long notrace __lshrdi3(long long u, word_type b)\n"
+ " {\n"
+ " \tDWunion uu, w;\n"
+ " \tword_type bm;\n"
+ "--- a/arch/mips/lib/ucmpdi2.c\n"
+ "+++ b/arch/mips/lib/ucmpdi2.c\n"
+ "@@ -2,7 +2,7 @@\n"
+ " \n"
+ " #include \"libgcc.h\"\n"
+ " \n"
+ "-word_type __ucmpdi2(unsigned long long a, unsigned long long b)\n"
+ "+word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)\n"
+ " {\n"
+ " \tconst DWunion au = {.ll = a};\n"
+ " \tconst DWunion bu = {.ll = b};\n"
+ "\n"
+ "\n"
+ "Patches currently in stable-queue which might be from harvey.hunt@imgtec.com are\n"
+ "\n"
+ queue-4.5/mips-lib-mark-intrinsics-notrace.patch
 
-cc205da273394e9b33dbe77c23869e568b6c96d2d9695d435aebb50e699f6579
+6837f464a8e4345df6fdb35a0f0f6c8d02fb6b2b761d7e245f6ff4ef6d500562

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.