On Monday December 5, [EMAIL PROTECTED] wrote:
> Written by hand:
> 
> Null pointer dereference
> last sysfs file /block/md0/md/sync_action
> put_page

ohh dear, it seems that, unlike kfree, put_page doesn't like 'NULL' as
an argument.

You can try
------------------
diff ./mm/swap.c~current~ ./mm/swap.c
--- ./mm/swap.c~current~        2005-12-06 10:29:16.000000000 +1100
+++ ./mm/swap.c 2005-12-06 10:29:25.000000000 +1100
@@ -36,6 +36,8 @@ int page_cluster;
 
 void put_page(struct page *page)
 {
+       if (unlikely(page==NULL))
+               return;
        if (unlikely(PageCompound(page))) {
                page = (struct page *)page_private(page);
                if (put_page_testzero(page)) {

-------------------
for now.  If Andrew doesn't like that I'll make the code in raid1
more careful (maybe I'll define put_page_unless_null :-)

Thanks for the testing and the report.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to