All of lore.kernel.org
 help / color / mirror / Atom feed
* Kernel oops (bug) in fs/buffers.c:create_empty_buffers
@ 2008-07-06 20:23 Arjan van de Ven
  2008-07-06 20:31 ` Andrew Morton
  0 siblings, 1 reply; 4+ messages in thread
From: Arjan van de Ven @ 2008-07-06 20:23 UTC (permalink / raw)
  To: linux-kernel, Al Viro; +Cc: akpm

Hi,

caught this one on kerneloops.org: 
http://www.kerneloops.org/searchweek.php?search=create_empty_buffers

void create_empty_buffers(struct page *page,
                        unsigned long blocksize, unsigned long b_state)
{
        struct buffer_head *bh, *head, *tail;

        head = alloc_page_buffers(page, blocksize, 1);
        bh = head;
        do {
                bh->b_state |= b_state;
                tail = bh;
                bh = bh->b_this_page;
        } while (bh);


turns out, alloc_page_buffers() can fail and return NULL (for AIO for
example)... yet this code blindly dereferences the result, getting a
predictable NULL pointer fault.

It's not directly clear what to do about... make this function return
the failure to the caller?


-- 
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-07-09 22:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-06 20:23 Kernel oops (bug) in fs/buffers.c:create_empty_buffers Arjan van de Ven
2008-07-06 20:31 ` Andrew Morton
2008-07-06 21:27   ` Arjan van de Ven
2008-07-09 22:46   ` Jan Kara

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.