Thread (1 message) 1 message, 1 author, 2005-12-05

Re: 2.6.15-rc5-mm1: raid related oops

From: Neil Brown <hidden>
Date: 2005-12-05 23:33:46
Also in: lkml

On Monday December 5, thunder7@xs4all.nl 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help