All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jes Sorensen <jes@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [patch 3/3] IA64: virt_to_page() can be called with NULL arg
Date: Wed, 20 Dec 2006 10:14:53 +0000	[thread overview]
Message-ID: <45890D1D.9090103@sgi.com> (raw)
In-Reply-To: <200612192104.kBJL4iBg010376@shell0.pdx.osdl.net>

Kirill Korotaev wrote:
> Jes Sorensen wrote:
>> If you hit this, yes I'd insert the BUG_ON in your test kernel and fix
>> the code. Maybe add the BUG_ON in upstream for CONFIG_DEBUG or
>> something.
> I guess then all the platforms should be analyzed/patched carefully
> or all the callers of virt_to_page().
> Care to create debug patch?

Well you suggested a patch which just hides the problem. I suggest you
change it to have the BUG_ON().

>> Which callers did you see cause this? If it was a common problem I would
>> expect a lot of data corruption or crashes on ia64 systems which I
>> haven't heard of.
> from the patch:
> pte_alloc_one() calls pgtable_quicklist_alloc() which can return NULL in
> case of allocation failure.
> 
> It was hit on OpenVZ where kernel memory is accounted and limited on
> per-container basis (it is possible to DoS using page tables allocations).
> In mainstream the bug can be hit if OOM killer
> kills the process and __get_free_page() returns NULL which is rare, but still possible.

I see, since you have it tracked down, it would be good to fix it
and push a patch upstream. Unless of course Andrew or Linus thinks this
is the wrong approach.

Cheers,
Jes

  parent reply	other threads:[~2006-12-20 10:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-19 21:04 [patch 3/3] IA64: virt_to_page() can be called with NULL arg akpm
2006-12-20  9:31 ` Jes Sorensen
2006-12-20  9:48 ` Jes Sorensen
2006-12-20  9:52 ` Kirill Korotaev
2006-12-20 10:14 ` Jes Sorensen [this message]
2006-12-20 10:19 ` Kirill Korotaev
2006-12-20 10:47 ` Andrew Morton
2006-12-20 10:54 ` Jes Sorensen
2006-12-20 10:57 ` Kirill Korotaev
2006-12-20 10:59 ` Jes Sorensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45890D1D.9090103@sgi.com \
    --to=jes@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.