lkml.org 
[lkml]   [2001]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] RAID5 NULL Checking Bug Fix

Hi,
In drivers/md/raid5.c, the author does not check to see if alloc_page() returns
NULL. This patch also adds checks that return 1 (following the
error-path convention in the respective function).

Please discard this e-mail if this patch is irrelevant to you. I just
tried to be thorough.

Thank you,
David Chan

---snip----
--- drivers/md/raid5.c.orig Tue May 8 19:17:22 2001
+++ drivers/md/raid5.c Tue May 8 19:20:07 2001
@@ -157,17 +157,21 @@
memset(bh, 0, sizeof (struct buffer_head));
init_waitqueue_head(&bh->b_wait);
page = alloc_page(priority);
+ if (!page)
+ goto nomem_path;
bh->b_data = page_address(page);
- if (!bh->b_data) {
- kfree(bh);
- return 1;
- }
+ if (!bh->b_data)
+ goto nomem_path;
atomic_set(&bh->b_count, 0);
bh->b_page = page;
sh->bh_cache[i] = bh;

}
return 0;
+
+nomem_path:
+ kfree(bh);
+ return 1;
}

static struct buffer_head *raid5_build_block (struct stripe_head *sh, int i);
---snip---
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:52    [W:0.037 / U:2.756 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site