All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kirill Korotaev <dev@sw.ru>
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:19:39 +0000	[thread overview]
Message-ID: <45890E3B.3020406@sw.ru> (raw)
In-Reply-To: <200612192104.kBJL4iBg010376@shell0.pdx.osdl.net>

Jes Sorensen wrote:
> Kirill Korotaev wrote:
> 
>>>>>>>>"akpm" = akpm  <akpm@osdl.org> writes:
>>>
>>>akpm> From: Kirill Korotaev <dev@openvz.org> It does not return NULL
>>>akpm> when arg is NULL.
>>>
>>>Shouldn't the real fix be to track down who calls virt_to_page() with
>>>a NULL pointer? IMHO it is bogus to do so.
>>
>>what do you propose? to insert BUG_ON(!kaddr) into virt_to_page()?
>>in this case caller in question should be still fixed.
> 
> 
> 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?

> 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.

Thanks,
Kirill


  parent reply	other threads:[~2006-12-20 10:19 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
2006-12-20 10:19 ` Kirill Korotaev [this message]
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=45890E3B.3020406@sw.ru \
    --to=dev@sw.ru \
    --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.