Re: [patch 3/3] IA64: virt_to_page() can be called with NULL arg

From: Jes Sorensen <jes_at_sgi.com>
Date: 2006-12-20 21:14:53
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
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed Dec 20 21:16:45 2006

This archive was generated by hypermail 2.1.8 : 2006-12-20 21:16:59 EST