[PATCH] bugfix in memory.c

velizarb@pirincom.com
Sun, 29 Jul 2001 13:10:34 +0300 (EEST)


The following is a bugfix against memory.c:lock_kiovec,
At line 649 we have:
if (!PageLocked(page)) {
which assumes page is the page we failed to lock, and if it is unlocked after calling
the unlock_kiovec we have a page which has been mapped twice, but page has been modified
and it doesn't contain the expected value.

Patch is against 2.4.8-pre1, Comments are welcome.

--

--- memory.c.old Sun Jul 29 12:38:19 2001 +++ memory.c Sun Jul 29 12:39:04 2001 @@ -619,9 +619,10 @@ if (TryLockPage(page)) { while (j--) { - page = *(--ppage); - if (page) - UnlockPage(page); + struct page *tmp; + tmp = *(--ppage); + if (tmp) + UnlockPage(tmp); } goto retry; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/