X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=kernel%2Fearly_res.c;h=7bfae887f211556961515b5d057cdcf2880a71c9;hb=c6774bcd33b21d57457d4c604388670efdf03258;hp=31aa9332ef3f8d4f5447f72a3989cbfd0dc7c6df;hpb=537b60d17894b7c19a6060feae40299d7109d6e7;p=~andy%2Flinux diff --git a/kernel/early_res.c b/kernel/early_res.c index 31aa9332ef3..7bfae887f21 100644 --- a/kernel/early_res.c +++ b/kernel/early_res.c @@ -7,6 +7,8 @@ #include #include #include +#include +#include /* * Early reserved memory areas. @@ -319,6 +321,8 @@ void __init free_early(u64 start, u64 end) struct early_res *r; int i; + kmemleak_free_part(__va(start), end - start); + i = find_overlapped_early(start, end); r = &early_res[i]; if (i >= max_early_res || r->end != end || r->start != start) @@ -333,6 +337,8 @@ void __init free_early_partial(u64 start, u64 end) struct early_res *r; int i; + kmemleak_free_part(__va(start), end - start); + if (start == end) return;