OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] remove BUG() in possible but rare condition
Re: [PATCH] remove BUG() in possible but rare condition [message #45901 is a reply to message #45900] Wed, 11 April 2012 20:51 Go to previous messageGo to previous message
Glauber Costa is currently offline  Glauber Costa
Messages: 916
Registered: October 2011
Senior Member
On 04/11/2012 05:26 PM, Andrew Morton wrote:
>>
>> > failed:
>> > - BUG();
>> > unlock_page(page);
>> > page_cache_release(page);
>> > return NULL;
> Cute.
>
> AFAICT what happened was that in my April 2002 rewrite of this code I
> put a non-fatal buffer_error() warning in that case to tell us that
> something bad happened.
>
> Years later we removed the temporary buffer_error() and mistakenly
> replaced that warning with a BUG(). Only it*can* happen.
>
> We can remove the BUG() and fix up callers, or we can pass retry=1 into
> alloc_page_buffers(), so grow_dev_page() "cannot fail". Immortal
> functions are a silly fiction, so we should remove the BUG() and fix up
> callers.
>
Any particular caller you are concerned with ?

As I mentioned, this function already returns NULL for other reason -
that seem even more probable than this specific failure. So whoever is
not checking this return value, is already broken without this patch as
well.
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [PATCH 0/4] nfsd: containerize export and expkey caches
Next Topic: [PATCH] slub: don't create a copy of the name string in kmem_cache_create
Goto Forum:
  


Current Time: Mon Oct 14 19:58:39 GMT 2024

Total time taken to generate the page: 0.06885 seconds