All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] makedumpfile: Fix the variable pfn_needed leaking
@ 2014-11-11  8:54 Minfei Huang
  2014-11-11  9:29 ` "Zhou, Wenjian/周文剑"
  2014-11-12 12:05 ` Minfei Huang
  0 siblings, 2 replies; 5+ messages in thread
From: Minfei Huang @ 2014-11-11  8:54 UTC (permalink / raw)
  To: kexec; +Cc: Minfei Huang, kumagai-atsushi

If the page pfn calculated by read_from_splitblock_table is bigger than
pfn_needed, the variable pfn_needed will leak.

makedumpfile cannot assign the pfn averagely bacause of condition
pfn_needed invalid.

Signed-off-by: Minfei Huang <mhuang@redhat.com>
---
 makedumpfile.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/makedumpfile.c b/makedumpfile.c
index 59c4952..8807a90 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -8415,7 +8415,7 @@ calculate_end_pfn_by_splitblock(mdf_pfn_t start_pfn,
 		return info->max_mapnr;
 
 	mdf_pfn_t end_pfn;
-	long long pfn_needed, offset;
+	long long pfn_needed, offset, per_splitblock_pfn;
 	char *splitblock_value_offset;
 
 	pfn_needed = info->num_dumpable / info->num_dumpfile;
@@ -8424,7 +8424,8 @@ calculate_end_pfn_by_splitblock(mdf_pfn_t start_pfn,
 	end_pfn = start_pfn;
 
 	while (*cur_splitblock_num < splitblock->num && pfn_needed > 0) {
-		pfn_needed -= read_from_splitblock_table(splitblock_value_offset);
+		per_splitblock_pfn = read_from_splitblock_table(splitblock_value_offset); 
+		pfn_needed = pfn_needed < per_splitblock_pfn ? 0 : pfn_needed - per_splitblock_pfn;
 		splitblock_value_offset += splitblock->entry_size;
 		++*cur_splitblock_num;
 	}
-- 
1.8.3.1


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-11-13  2:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-11  8:54 [PATCH] makedumpfile: Fix the variable pfn_needed leaking Minfei Huang
2014-11-11  9:29 ` "Zhou, Wenjian/周文剑"
2014-11-12 12:05 ` Minfei Huang
2014-11-13  0:59   ` "Zhou, Wenjian/周文剑"
2014-11-13  2:06     ` Minfei Huang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.