From: Jan Beulich Date: Wed, 6 Jun 2012 15:37:05 +0000 (+0100) Subject: xen: fix page_list_splice() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8343 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d4b4e22f2b94e5a5f9392f7db2c44b219966f9d0;p=xen.git xen: fix page_list_splice() Other than in __list_splice(), the first element's prev pointer doesn't need adjustment here - it already is PAGE_LIST_NULL. Rather than fixing the assignment (to formally match __list_splice()), simply assert that this assignment is really unnecessary. Reported-by: Jisoo Yang Signed-off-by: Jan Beulich Also assert that the prev pointers are both PAGE_LIST_NULL. Signed-off-by: Keir Fraser Committed-by: Keir Fraser --- diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h index 11381a1303..64a0cc15f2 100644 --- a/xen/include/xen/mm.h +++ b/xen/include/xen/mm.h @@ -270,7 +270,8 @@ page_list_splice(struct page_list_head *list, struct page_list_head *head) last = list->tail; at = head->next; - first->list.prev = page_to_pdx(head->next); + ASSERT(first->list.prev == PAGE_LIST_NULL); + ASSERT(first->list.prev == at->list.prev); head->next = first; last->list.next = page_to_pdx(at);