futex-2.5.40-B5
Ingo,
in your updated futex patch you use get_page/put_page for page pinning. But for reserved pages, put_page does not decrement the page counter, so get_page should not be called for such pages. These was a patch included in 2.5.40 which changed this the call to page_cache_get (==get_page in current implementation) in get_user_pages to:
if (!PageReserved(page)) get_page(page);
So I think the futex code should do the same.
Martin