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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to