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

diff --git a/a/content_digest b/N1/content_digest
index e13ab26..4b3be9c 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -15,7 +15,7 @@
   tglx@linutronix.de
   torvalds@linux-foundation.org
  " vegard.nossum@oracle.com\0"
- "Cc\0<stable-commits@vger.kernel.org>\0"
+ "Cc\0stable-commits@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
  "\n"
@@ -33,4 +33,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.
 
-08dd896258cf584b948ee044908c1a8716a8f723ee5ab874644affe1430a101c
+426dc59548fe2c4368dfc5dd0f2277d54a41b566a7656786d4b654b3dcaf0bdf

diff --git a/a/1.txt b/N2/1.txt
index e28dcc2..a79b1de 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -12,3 +12,84 @@ and it can be found in the queue-4.9 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 b0f5a8f32e8bbdaae1abb8abe2d3cbafaba57e08 Mon Sep 17 00:00:00 2001
+From: Vegard Nossum <vegard.nossum@oracle.com>
+Date: Mon, 29 May 2017 09:22:07 +0200
+Subject: kthread: fix boot hang (regression) on MIPS/OpenRISC
+
+From: Vegard Nossum <vegard.nossum@oracle.com>
+
+commit b0f5a8f32e8bbdaae1abb8abe2d3cbafaba57e08 upstream.
+
+This fixes a regression in commit 4d6501dce079 where I didn't notice
+that MIPS and OpenRISC were reinitialising p->{set,clear}_child_tid to
+NULL after our initialisation in copy_process().
+
+We can simply get rid of the arch-specific initialisation here since it
+is now always done in copy_process() before hitting copy_thread{,_tls}().
+
+Review notes:
+
+ - As far as I can tell, copy_process() is the only user of
+   copy_thread_tls(), which is the only caller of copy_thread() for
+   architectures that don't implement copy_thread_tls().
+
+ - After this patch, there is no arch-specific code touching
+   p->set_child_tid or p->clear_child_tid whatsoever.
+
+ - It may look like MIPS/OpenRISC wanted to always have these fields be
+   NULL, but that's not true, as copy_process() would unconditionally
+   set them again _after_ calling copy_thread_tls() before commit
+   4d6501dce079.
+
+Fixes: 4d6501dce079c1eb6bf0b1d8f528a5e81770109e ("kthread: Fix use-after-free if kthread fork fails")
+Reported-by: Guenter Roeck <linux@roeck-us.net>
+Tested-by: Guenter Roeck <linux@roeck-us.net> # MIPS only
+Acked-by: Stafford Horne <shorne@gmail.com>
+Acked-by: Oleg Nesterov <oleg@redhat.com>
+Cc: Ralf Baechle <ralf@linux-mips.org>
+Cc: linux-mips at linux-mips.org
+Cc: Jonas Bonn <jonas@southpole.se>
+Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+Cc: openrisc at lists.librecores.org
+Cc: Jamie Iles <jamie.iles@oracle.com>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/kernel/process.c     |    1 -
+ arch/openrisc/kernel/process.c |    2 --
+ 2 files changed, 3 deletions(-)
+
+--- a/arch/mips/kernel/process.c
++++ b/arch/mips/kernel/process.c
+@@ -118,7 +118,6 @@ int copy_thread(unsigned long clone_flag
+ 	struct thread_info *ti = task_thread_info(p);
+ 	struct pt_regs *childregs, *regs = current_pt_regs();
+ 	unsigned long childksp;
+-	p->set_child_tid = p->clear_child_tid = NULL;
+ 
+ 	childksp = (unsigned long)task_stack_page(p) + THREAD_SIZE - 32;
+ 
+--- a/arch/openrisc/kernel/process.c
++++ b/arch/openrisc/kernel/process.c
+@@ -152,8 +152,6 @@ copy_thread(unsigned long clone_flags, u
+ 
+ 	top_of_kernel_stack = sp;
+ 
+-	p->set_child_tid = p->clear_child_tid = NULL;
+-
+ 	/* Locate userspace context on stack... */
+ 	sp -= STACK_FRAME_OVERHEAD;	/* redzone */
+ 	sp -= sizeof(struct pt_regs);
+
+
+Patches currently in stable-queue which might be from vegard.nossum at oracle.com are
+
+queue-4.9/kthread-fix-use-after-free-if-kthread-fork-fails.patch
+queue-4.9/kthread-fix-boot-hang-regression-on-mips-openrisc.patch
diff --git a/a/content_digest b/N2/content_digest
index e13ab26..18ba777 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,21 +1,7 @@
- "From\0<gregkh@linuxfoundation.org>\0"
- "Subject\0Patch \"kthread: fix boot hang (regression) on MIPS/OpenRISC\" has been added to the 4.9-stable tree\0"
+ "From\0gregkh@linuxfoundation.org <gregkh@linuxfoundation.org>\0"
+ "Subject\0[OpenRISC] Patch \"kthread: fix boot hang (regression) on MIPS/OpenRISC\" has been added to the 4.9-stable tree\0"
  "Date\0Sun, 16 Sep 2018 15:40:38 +0200\0"
- "To\0amit.pundir@linaro.org"
-  gregkh@linuxfoundation.org
-  jamie.iles@oracle.com
-  jonas@southpole.se
-  linux-mips@linux-mips.org
-  linux@roeck-us.net
-  oleg@redhat.com
-  openrisc@lists.librecores.org
-  ralf@linux-mips.org
-  shorne@gmail.com
-  stefan.kristiansson@saunalahti.fi
-  tglx@linutronix.de
-  torvalds@linux-foundation.org
- " vegard.nossum@oracle.com\0"
- "Cc\0<stable-commits@vger.kernel.org>\0"
+ "To\0openrisc@lists.librecores.org\0"
  "\00:1\0"
  "b\0"
  "\n"
@@ -31,6 +17,87 @@
  "and it can be found in the queue-4.9 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 b0f5a8f32e8bbdaae1abb8abe2d3cbafaba57e08 Mon Sep 17 00:00:00 2001\n"
+ "From: Vegard Nossum <vegard.nossum@oracle.com>\n"
+ "Date: Mon, 29 May 2017 09:22:07 +0200\n"
+ "Subject: kthread: fix boot hang (regression) on MIPS/OpenRISC\n"
+ "\n"
+ "From: Vegard Nossum <vegard.nossum@oracle.com>\n"
+ "\n"
+ "commit b0f5a8f32e8bbdaae1abb8abe2d3cbafaba57e08 upstream.\n"
+ "\n"
+ "This fixes a regression in commit 4d6501dce079 where I didn't notice\n"
+ "that MIPS and OpenRISC were reinitialising p->{set,clear}_child_tid to\n"
+ "NULL after our initialisation in copy_process().\n"
+ "\n"
+ "We can simply get rid of the arch-specific initialisation here since it\n"
+ "is now always done in copy_process() before hitting copy_thread{,_tls}().\n"
+ "\n"
+ "Review notes:\n"
+ "\n"
+ " - As far as I can tell, copy_process() is the only user of\n"
+ "   copy_thread_tls(), which is the only caller of copy_thread() for\n"
+ "   architectures that don't implement copy_thread_tls().\n"
+ "\n"
+ " - After this patch, there is no arch-specific code touching\n"
+ "   p->set_child_tid or p->clear_child_tid whatsoever.\n"
+ "\n"
+ " - It may look like MIPS/OpenRISC wanted to always have these fields be\n"
+ "   NULL, but that's not true, as copy_process() would unconditionally\n"
+ "   set them again _after_ calling copy_thread_tls() before commit\n"
+ "   4d6501dce079.\n"
+ "\n"
+ "Fixes: 4d6501dce079c1eb6bf0b1d8f528a5e81770109e (\"kthread: Fix use-after-free if kthread fork fails\")\n"
+ "Reported-by: Guenter Roeck <linux@roeck-us.net>\n"
+ "Tested-by: Guenter Roeck <linux@roeck-us.net> # MIPS only\n"
+ "Acked-by: Stafford Horne <shorne@gmail.com>\n"
+ "Acked-by: Oleg Nesterov <oleg@redhat.com>\n"
+ "Cc: Ralf Baechle <ralf@linux-mips.org>\n"
+ "Cc: linux-mips at linux-mips.org\n"
+ "Cc: Jonas Bonn <jonas@southpole.se>\n"
+ "Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>\n"
+ "Cc: openrisc at lists.librecores.org\n"
+ "Cc: Jamie Iles <jamie.iles@oracle.com>\n"
+ "Cc: Thomas Gleixner <tglx@linutronix.de>\n"
+ "Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>\n"
+ "Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n"
+ "Signed-off-by: Amit Pundir <amit.pundir@linaro.org>\n"
+ "Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n"
+ "\n"
+ "---\n"
+ " arch/mips/kernel/process.c     |    1 -\n"
+ " arch/openrisc/kernel/process.c |    2 --\n"
+ " 2 files changed, 3 deletions(-)\n"
+ "\n"
+ "--- a/arch/mips/kernel/process.c\n"
+ "+++ b/arch/mips/kernel/process.c\n"
+ "@@ -118,7 +118,6 @@ int copy_thread(unsigned long clone_flag\n"
+ " \tstruct thread_info *ti = task_thread_info(p);\n"
+ " \tstruct pt_regs *childregs, *regs = current_pt_regs();\n"
+ " \tunsigned long childksp;\n"
+ "-\tp->set_child_tid = p->clear_child_tid = NULL;\n"
+ " \n"
+ " \tchildksp = (unsigned long)task_stack_page(p) + THREAD_SIZE - 32;\n"
+ " \n"
+ "--- a/arch/openrisc/kernel/process.c\n"
+ "+++ b/arch/openrisc/kernel/process.c\n"
+ "@@ -152,8 +152,6 @@ copy_thread(unsigned long clone_flags, u\n"
+ " \n"
+ " \ttop_of_kernel_stack = sp;\n"
+ " \n"
+ "-\tp->set_child_tid = p->clear_child_tid = NULL;\n"
+ "-\n"
+ " \t/* Locate userspace context on stack... */\n"
+ " \tsp -= STACK_FRAME_OVERHEAD;\t/* redzone */\n"
+ " \tsp -= sizeof(struct pt_regs);\n"
+ "\n"
+ "\n"
+ "Patches currently in stable-queue which might be from vegard.nossum at oracle.com are\n"
+ "\n"
+ "queue-4.9/kthread-fix-use-after-free-if-kthread-fork-fails.patch\n"
+ queue-4.9/kthread-fix-boot-hang-regression-on-mips-openrisc.patch
 
-08dd896258cf584b948ee044908c1a8716a8f723ee5ab874644affe1430a101c
+794efa7cd086681f3cb4f4af738af4375c977835251fb5913751923e5ab4b752

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.