Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1165537

Re: why do we need vmalloc_sync_all?

Path csiph.com!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod
From Ingo Molnar <mingo@kernel.org>
Newsgroups linux.kernel
Subject Re: why do we need vmalloc_sync_all?
Date Mon, 15 Jun 2015 22:30:03 +0200
Message-ID <pBJb5-5IV-29@gated-at.bofh.it> (permalink)
References <pAQeC-Ge-7@gated-at.bofh.it> <pAYOS-4Iu-1@gated-at.bofh.it> <pBb9n-6cY-3@gated-at.bofh.it> <pBmo9-6xN-3@gated-at.bofh.it> <pBsDf-6ZX-1@gated-at.bofh.it> <pBsMW-7b9-15@gated-at.bofh.it>
X-Original-To Andy Lutomirski <luto@amacapital.net>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=NTbi2jkoBvsI2ad+SitgNMT6Oy6vAe/DVOuqfXeb/jM=; b=mWl3X8XfXtVkOEiufkUEeaE/ZyIavHSv0b11ZjIiDiNav6dxkbtuPBBS3ztdcdke31 qQQ0UuMJXrmhik2aCcqILCrg78uWIt06Mk8RxYRxEsHxxc9N66/wz5FMJo/Eo/txE4cl 7aEYWQ5m3laEx0kQGHnDHIhrU0u6np7mVhplEsOp7udrZ20HfCdejDIc/rI3cxXIyry6 OI7HHFReJkiExm9Jq4wvihplH9woYSmRyc0jX7/ovplCIRr3UQUvjq1hcDu6e6+hS8Vq fzqsEiq894RVVGZLdgvxvIbP/rQKeUcikpEw1Vf6rQrLkhThm1eL4duNAhVC9IwdhOa2 FzYA==
X-Received by 10.194.60.50 with SMTP id e18mr53691790wjr.109.1434400140950; Mon, 15 Jun 2015 13:29:00 -0700 (PDT)
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Disposition inline
User-Agent Mutt/1.5.23 (2014-03-12)
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 35
Organization linux.* mail to news gateway
X-Original-Cc Andi Kleen <andi@firstfloor.org>, Oleg Nesterov <oleg@redhat.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, Andrew Morton <akpm@linux-foundation.org>, Denys Vlasenko <dvlasenk@redhat.com>, Brian Gerst <brgerst@gmail.com>, Peter Zijlstra <peterz@infradead.org>, Borislav Petkov <bp@alien8.de>, "H. Peter Anvin" <hpa@zytor.com>, Linus Torvalds <torvalds@linux-foundation.org>, Thomas Gleixner <tglx@linutronix.de>, Waiman Long <Waiman.Long@hp.com>
X-Original-Date Mon, 15 Jun 2015 22:28:57 +0200
X-Original-Message-ID <20150615202856.GA13273@gmail.com>
X-Original-References <1434188955-31397-1-git-send-email-mingo@kernel.org> <20150613185828.GA32376@redhat.com> <20150614075943.GA810@gmail.com> <20150614200623.GB19582@redhat.com> <87bnghit74.fsf@tassilo.jf.intel.com> <CALCETrUp5Xm1ZmzoSEGrq1D05myAUhCzNgXvv-Cga8xjEi-CeQ@mail.gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref aioe.org linux.kernel:1165537

Show key headers only | View raw


* Andy Lutomirski <luto@amacapital.net> wrote:

> On Sun, Jun 14, 2015 at 7:47 PM, Andi Kleen <andi@firstfloor.org> wrote:
> > Oleg Nesterov <oleg@redhat.com> writes:
> >>
> >> But again, the kernel no longer does this? do_page_fault() does 
> >> vmalloc_fault() without notify_die(). If it fails, I do not see how/why a 
> >> modular DIE_OOPS handler could try to resolve this problem and trigger 
> >> another fault.
> >
> > The same problem can happen from NMI handlers or machine check handlers. It's 
> > not necessarily tied to page faults only.
> 
> AIUI, the point of the one and only vmalloc_sync_all call is to prevent 
> infinitely recursive faults when we call a notify_die callback.  The only thing 
> that it could realistically protect is module text or static non-per-cpu module 
> data, since that's the only thing that's reliably already in the init pgd.  I'm 
> with Oleg: I don't see how that can happen, since do_page_fault fixes up vmalloc 
> faults before it calls notify_die.

Yes, but what I meant is that it can happen if due to an unrelated kernel bug and 
unlucky timing we have installed this new handler just when that other unrelated 
kernel bug triggers: say a #GPF crash in kernel code.

In any case it should all be mooted with the removal of lazy PGD instantiation.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: why do we need vmalloc_sync_all? Oleg Nesterov <oleg@redhat.com> - 2015-06-14 22:10 +0200
  Re: why do we need vmalloc_sync_all? Ingo Molnar <mingo@kernel.org> - 2015-06-15 22:30 +0200
    Re: why do we need vmalloc_sync_all? Andy Lutomirski <luto@amacapital.net> - 2015-06-15 22:50 +0200

csiph-web