** Description changed: + == SRU Justification == + The ldt_gdt_64 x86 selftest segfaults with the currently released Trusty 3.13 kernel. The commit that introduced the segfault is aeb315d60afe ("x86/ldt: Make modify_ldt synchronous"). + + == Fix == + Upstream commit 8ff5bd2e1e27 ("x86/signal/64: Fix SS if needed when delivering a 64-bit signal"). This commit was found by doing a reverse git bisect of the upstream kernel (i.e., when did the test stop segfaulting). + + == Regression Potential == + Low. The commit is very small and isolated and the code path is only executed in special circumstances (and for x86 only). I built a test kernel and ran the whole set of x86 selftests and perf NMI test for several hours to verify stability. + + == Test Case == + Run the ldt_gdt_64 x86 selftets from a current upstream kernel source. The test segfaults consistently. + + + Original bug description: + Trusty 3.13 segfaults when running ldt_gdt_64 from the kernel's x86 selftests. git bisect revealed that the following commit introduced the issue: commit aeb315d60afee129d32558f4a4b356eec2e7da7b Author: Andy Lutomirski <l...@kernel.org> Date: Thu Jul 30 14:31:32 2015 -0700 - x86/ldt: Make modify_ldt synchronous - - CVE-2017-5754 - - commit 37868fe113ff2ba814b3b4eb12df214df555f8dc upstream. - - modify_ldt() has questionable locking and does not synchronize - threads. Improve it: redesign the locking and synchronize all - threads' LDTs using an IPI on all modifications. - - This will dramatically slow down modify_ldt in multithreaded - programs, but there shouldn't be any multithreaded programs that - care about modify_ldt's performance in the first place. - - This fixes some fallout from the CVE-2015-5157 fixes. - - Signed-off-by: Andy Lutomirski <l...@kernel.org> - Reviewed-by: Borislav Petkov <b...@suse.de> - Cc: Andrew Cooper <andrew.coop...@citrix.com> - Cc: Andy Lutomirski <l...@amacapital.net> - Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> - Cc: Borislav Petkov <b...@alien8.de> - Cc: Brian Gerst <brge...@gmail.com> - Cc: Denys Vlasenko <dvlas...@redhat.com> - Cc: H. Peter Anvin <h...@zytor.com> - Cc: Jan Beulich <jbeul...@suse.com> - Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> - Cc: Linus Torvalds <torva...@linux-foundation.org> - Cc: Peter Zijlstra <pet...@infradead.org> - Cc: Sasha Levin <sasha.le...@oracle.com> - Cc: Steven Rostedt <rost...@goodmis.org> - Cc: Thomas Gleixner <t...@linutronix.de> - Link: http://lkml.kernel.org/r/4c6978476782160600471bd865b318db34c7b628.1438291540.git.l...@kernel.org - Signed-off-by: Ingo Molnar <mi...@kernel.org> - Signed-off-by: Jiri Slaby <jsl...@suse.cz> - (cherry picked from commit 62fc7228f8cc8c89ecbd37008a0495ac28e41c5c) - Signed-off-by: Juerg Haefliger <juerg.haefli...@canonical.com> - Signed-off-by: Stefan Bader <stefan.ba...@canonical.com> + x86/ldt: Make modify_ldt synchronous + + CVE-2017-5754 + + commit 37868fe113ff2ba814b3b4eb12df214df555f8dc upstream. + + modify_ldt() has questionable locking and does not synchronize + threads. Improve it: redesign the locking and synchronize all + threads' LDTs using an IPI on all modifications. + + This will dramatically slow down modify_ldt in multithreaded + programs, but there shouldn't be any multithreaded programs that + care about modify_ldt's performance in the first place. + + This fixes some fallout from the CVE-2015-5157 fixes. + + Signed-off-by: Andy Lutomirski <l...@kernel.org> + Reviewed-by: Borislav Petkov <b...@suse.de> + Cc: Andrew Cooper <andrew.coop...@citrix.com> + Cc: Andy Lutomirski <l...@amacapital.net> + Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> + Cc: Borislav Petkov <b...@alien8.de> + Cc: Brian Gerst <brge...@gmail.com> + Cc: Denys Vlasenko <dvlas...@redhat.com> + Cc: H. Peter Anvin <h...@zytor.com> + Cc: Jan Beulich <jbeul...@suse.com> + Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> + Cc: Linus Torvalds <torva...@linux-foundation.org> + Cc: Peter Zijlstra <pet...@infradead.org> + Cc: Sasha Levin <sasha.le...@oracle.com> + Cc: Steven Rostedt <rost...@goodmis.org> + Cc: Thomas Gleixner <t...@linutronix.de> + Link: http://lkml.kernel.org/r/4c6978476782160600471bd865b318db34c7b628.1438291540.git.l...@kernel.org + Signed-off-by: Ingo Molnar <mi...@kernel.org> + Signed-off-by: Jiri Slaby <jsl...@suse.cz> + (cherry picked from commit 62fc7228f8cc8c89ecbd37008a0495ac28e41c5c) + Signed-off-by: Juerg Haefliger <juerg.haefli...@canonical.com> + Signed-off-by: Stefan Bader <stefan.ba...@canonical.com>
** Description changed: == SRU Justification == The ldt_gdt_64 x86 selftest segfaults with the currently released Trusty 3.13 kernel. The commit that introduced the segfault is aeb315d60afe ("x86/ldt: Make modify_ldt synchronous"). == Fix == Upstream commit 8ff5bd2e1e27 ("x86/signal/64: Fix SS if needed when delivering a 64-bit signal"). This commit was found by doing a reverse git bisect of the upstream kernel (i.e., when did the test stop segfaulting). == Regression Potential == Low. The commit is very small and isolated and the code path is only executed in special circumstances (and for x86 only). I built a test kernel and ran the whole set of x86 selftests and perf NMI test for several hours to verify stability. == Test Case == Run the ldt_gdt_64 x86 selftets from a current upstream kernel source. The test segfaults consistently. - Original bug description: Trusty 3.13 segfaults when running ldt_gdt_64 from the kernel's x86 selftests. git bisect revealed that the following commit introduced the issue: commit aeb315d60afee129d32558f4a4b356eec2e7da7b Author: Andy Lutomirski <l...@kernel.org> Date: Thu Jul 30 14:31:32 2015 -0700 x86/ldt: Make modify_ldt synchronous CVE-2017-5754 commit 37868fe113ff2ba814b3b4eb12df214df555f8dc upstream. modify_ldt() has questionable locking and does not synchronize threads. Improve it: redesign the locking and synchronize all threads' LDTs using an IPI on all modifications. This will dramatically slow down modify_ldt in multithreaded programs, but there shouldn't be any multithreaded programs that care about modify_ldt's performance in the first place. This fixes some fallout from the CVE-2015-5157 fixes. Signed-off-by: Andy Lutomirski <l...@kernel.org> Reviewed-by: Borislav Petkov <b...@suse.de> Cc: Andrew Cooper <andrew.coop...@citrix.com> Cc: Andy Lutomirski <l...@amacapital.net> Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> Cc: Borislav Petkov <b...@alien8.de> Cc: Brian Gerst <brge...@gmail.com> Cc: Denys Vlasenko <dvlas...@redhat.com> Cc: H. Peter Anvin <h...@zytor.com> Cc: Jan Beulich <jbeul...@suse.com> Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Sasha Levin <sasha.le...@oracle.com> Cc: Steven Rostedt <rost...@goodmis.org> Cc: Thomas Gleixner <t...@linutronix.de> Link: http://lkml.kernel.org/r/4c6978476782160600471bd865b318db34c7b628.1438291540.git.l...@kernel.org Signed-off-by: Ingo Molnar <mi...@kernel.org> Signed-off-by: Jiri Slaby <jsl...@suse.cz> (cherry picked from commit 62fc7228f8cc8c89ecbd37008a0495ac28e41c5c) Signed-off-by: Juerg Haefliger <juerg.haefli...@canonical.com> Signed-off-by: Stefan Bader <stefan.ba...@canonical.com> ** Description changed: == SRU Justification == The ldt_gdt_64 x86 selftest segfaults with the currently released Trusty 3.13 kernel. The commit that introduced the segfault is aeb315d60afe ("x86/ldt: Make modify_ldt synchronous"). == Fix == Upstream commit 8ff5bd2e1e27 ("x86/signal/64: Fix SS if needed when delivering a 64-bit signal"). This commit was found by doing a reverse git bisect of the upstream kernel (i.e., when did the test stop segfaulting). + The backport of the commit is a simple context adjustment. The second commit is a pre-requisite which simply renames some defines (no functional changes). == Regression Potential == Low. The commit is very small and isolated and the code path is only executed in special circumstances (and for x86 only). I built a test kernel and ran the whole set of x86 selftests and perf NMI test for several hours to verify stability. == Test Case == Run the ldt_gdt_64 x86 selftets from a current upstream kernel source. The test segfaults consistently. Original bug description: Trusty 3.13 segfaults when running ldt_gdt_64 from the kernel's x86 selftests. git bisect revealed that the following commit introduced the issue: commit aeb315d60afee129d32558f4a4b356eec2e7da7b Author: Andy Lutomirski <l...@kernel.org> Date: Thu Jul 30 14:31:32 2015 -0700 x86/ldt: Make modify_ldt synchronous CVE-2017-5754 commit 37868fe113ff2ba814b3b4eb12df214df555f8dc upstream. modify_ldt() has questionable locking and does not synchronize threads. Improve it: redesign the locking and synchronize all threads' LDTs using an IPI on all modifications. This will dramatically slow down modify_ldt in multithreaded programs, but there shouldn't be any multithreaded programs that care about modify_ldt's performance in the first place. This fixes some fallout from the CVE-2015-5157 fixes. Signed-off-by: Andy Lutomirski <l...@kernel.org> Reviewed-by: Borislav Petkov <b...@suse.de> Cc: Andrew Cooper <andrew.coop...@citrix.com> Cc: Andy Lutomirski <l...@amacapital.net> Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> Cc: Borislav Petkov <b...@alien8.de> Cc: Brian Gerst <brge...@gmail.com> Cc: Denys Vlasenko <dvlas...@redhat.com> Cc: H. Peter Anvin <h...@zytor.com> Cc: Jan Beulich <jbeul...@suse.com> Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Sasha Levin <sasha.le...@oracle.com> Cc: Steven Rostedt <rost...@goodmis.org> Cc: Thomas Gleixner <t...@linutronix.de> Link: http://lkml.kernel.org/r/4c6978476782160600471bd865b318db34c7b628.1438291540.git.l...@kernel.org Signed-off-by: Ingo Molnar <mi...@kernel.org> Signed-off-by: Jiri Slaby <jsl...@suse.cz> (cherry picked from commit 62fc7228f8cc8c89ecbd37008a0495ac28e41c5c) Signed-off-by: Juerg Haefliger <juerg.haefli...@canonical.com> Signed-off-by: Stefan Bader <stefan.ba...@canonical.com> -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1755817 Title: Segmentation fault in ldt_gdt_64 Status in linux package in Ubuntu: Incomplete Status in linux source package in Trusty: New Bug description: == SRU Justification == The ldt_gdt_64 x86 selftest segfaults with the currently released Trusty 3.13 kernel. The commit that introduced the segfault is aeb315d60afe ("x86/ldt: Make modify_ldt synchronous"). == Fix == Upstream commit 8ff5bd2e1e27 ("x86/signal/64: Fix SS if needed when delivering a 64-bit signal"). This commit was found by doing a reverse git bisect of the upstream kernel (i.e., when did the test stop segfaulting). The backport of the commit is a simple context adjustment. The second commit is a pre-requisite which simply renames some defines (no functional changes). == Regression Potential == Low. The commit is very small and isolated and the code path is only executed in special circumstances (and for x86 only). I built a test kernel and ran the whole set of x86 selftests and perf NMI test for several hours to verify stability. == Test Case == Run the ldt_gdt_64 x86 selftets from a current upstream kernel source. The test segfaults consistently. Original bug description: Trusty 3.13 segfaults when running ldt_gdt_64 from the kernel's x86 selftests. git bisect revealed that the following commit introduced the issue: commit aeb315d60afee129d32558f4a4b356eec2e7da7b Author: Andy Lutomirski <l...@kernel.org> Date: Thu Jul 30 14:31:32 2015 -0700 x86/ldt: Make modify_ldt synchronous CVE-2017-5754 commit 37868fe113ff2ba814b3b4eb12df214df555f8dc upstream. modify_ldt() has questionable locking and does not synchronize threads. Improve it: redesign the locking and synchronize all threads' LDTs using an IPI on all modifications. This will dramatically slow down modify_ldt in multithreaded programs, but there shouldn't be any multithreaded programs that care about modify_ldt's performance in the first place. This fixes some fallout from the CVE-2015-5157 fixes. Signed-off-by: Andy Lutomirski <l...@kernel.org> Reviewed-by: Borislav Petkov <b...@suse.de> Cc: Andrew Cooper <andrew.coop...@citrix.com> Cc: Andy Lutomirski <l...@amacapital.net> Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> Cc: Borislav Petkov <b...@alien8.de> Cc: Brian Gerst <brge...@gmail.com> Cc: Denys Vlasenko <dvlas...@redhat.com> Cc: H. Peter Anvin <h...@zytor.com> Cc: Jan Beulich <jbeul...@suse.com> Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Sasha Levin <sasha.le...@oracle.com> Cc: Steven Rostedt <rost...@goodmis.org> Cc: Thomas Gleixner <t...@linutronix.de> Link: http://lkml.kernel.org/r/4c6978476782160600471bd865b318db34c7b628.1438291540.git.l...@kernel.org Signed-off-by: Ingo Molnar <mi...@kernel.org> Signed-off-by: Jiri Slaby <jsl...@suse.cz> (cherry picked from commit 62fc7228f8cc8c89ecbd37008a0495ac28e41c5c) Signed-off-by: Juerg Haefliger <juerg.haefli...@canonical.com> Signed-off-by: Stefan Bader <stefan.ba...@canonical.com> To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1755817/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp