it is _always_ too late indeed, I definitely agree with your proposal tochange the common code API, yours is a much saner API. But that's acommon code change call, my object was to fix the arch part withoutchanging the common code, and after all my patch will work exactly thesame as yours, it's just that you put the page != NULL check explicitand I still use VALID_PAGE instead. You can skip the overflow-check whenwe know the vaddr or the pte to match with a valid ram page, so it's abit faster than my fix with discontigmem enabled. I'm not sure if for2.4 it worth to change that given that my two liner arch-contained patchwill also work flawlessy. I've just quite a lots of stuff pending in 2.4that makes some huge difference to users, so I tend to prefer to leftthe stuff that doesn't make difference to users for 2.5 only (it's acleanup plus a minor discontigmem optimization after all). So Irecommend you to push it to Linus after fixing the below bugs.