The pfn region in a mmd is [mmd->pfn_start, mmd->pfn_end). So the max index should be mmd->pfn_end - mmd->pfn_start -1. If index >=(not >) mmd->pfn_end - mmd->pfn_start, we should check the next mmd. Signed-off-by: Wen Congyang <wency at cn.fujitsu.com> --- makedumpfile.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/makedumpfile.c b/makedumpfile.c index 7b7c266..db8e53f 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -2879,7 +2879,7 @@ page_to_pfn(unsigned long page) if (page < mmd->mem_map) continue; index = (page - mmd->mem_map) / SIZE(page); - if (index > mmd->pfn_end - mmd->pfn_start) + if (index >= mmd->pfn_end - mmd->pfn_start) continue; pfn = mmd->pfn_start + index; break; -- 1.7.1