Re: [PATCH 2/4 v2] mm: fix possible incorrect return value ofmigrate_pages() syscall

From: JoonSoo Kim
Date: Tue Jul 17 2012 - 11:41:44 EST

2012/7/17 Christoph Lameter <cl@xxxxxxxxx>:
> On Tue, 17 Jul 2012, Joonsoo Kim wrote:
>> @@ -1382,6 +1382,8 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
>> err = do_migrate_pages(mm, old, new,
>> + if (err > 0)
>> + err = -EBUSY;
>> mmput(mm);
>> out:
> Why not have do_migrate_pages() return EBUSY if we do not need the number
> of failed/retried pages?

There is no serious reason.
do_migrate_pages() have two callsites, although another one doesn't
use return value.
do_migrate_pages() is commented "Return the number of page ...".
And my focus is fixing possible error in migrate_pages() syscall.
So, I keep to return the number of failed/retired pages.

If we really think the number of failed/retired pages is useless, in that time,
instead that do_migrate_pages() return EBUSY, we can make migrate_pages()
return EBUSY. I think it is better to fix all the related codes at one go.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at