From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753408AbdLHVtt (ORCPT ); Fri, 8 Dec 2017 16:49:49 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:57673 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752557AbdLHVtr (ORCPT ); Fri, 8 Dec 2017 16:49:47 -0500 Date: Fri, 8 Dec 2017 22:49:45 +0100 (CET) From: Thomas Gleixner To: Linus Torvalds cc: Andy Lutomirski , the arch/x86 maintainers , LKML , Borislav Petkov , Brian Gerst , David Laight , Kees Cook , Peter Zijlstra Subject: Re: x86/ldt: Prevent ldt inheritance on exec In-Reply-To: Message-ID: References: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 8 Dec 2017, Linus Torvalds wrote: > On Fri, Dec 8, 2017 at 12:02 PM, Thomas Gleixner wrote: > > > > The reason why this happens is that init_new_context_ldt() is called from > > init_new_context() which obviously needs to be called for both fork() and > > exec(). > > > > It would be surprising if anything relies on that behaviour, so it seems to > > be safe to remove that misfeature. > > Looks sane. That said, can't we separate this out into the copy_mm() > phase only? > > We have "arch_dup_mmap()" that is called on fork() only, so that could > do the LDT copy from the old mm, and the actual init_new_context would > just zero it out. > > Then there wouldn't be any odd "check if this is an execve" because > the copying would be done in the right place. Yes, that should work. It just needs to change arch_dup_mmap() so it can return an error code. Thanks, tglx