diff --git a/linux-ramdump-parser-v2/parsers/memusage.py b/linux-ramdump-parser-v2/parsers/memusage.py index f794d852f6b4d3272ea486ca88c983334d54b59b..ef86e54ef07198f9debce60e410a5e2c11d916c0 100755 --- a/linux-ramdump-parser-v2/parsers/memusage.py +++ b/linux-ramdump-parser-v2/parsers/memusage.py @@ -113,6 +113,13 @@ def get_rss(ramdump, task_struct): anon_rss = ramdump.read_word(mm_struct + offset_rss_stat + offset_anon_rss) rss = ramdump.read_word(mm_struct + offset_rss_stat + offset_rss) file_rss = ramdump.read_word(mm_struct + offset_rss_stat + offset_file_rss) + # Ignore negative RSS values + if anon_rss > 0x80000000: + anon_rss = 0 + if rss > 0x80000000: + rss = 0 + if file_rss > 0x80000000: + file_rss = 0 total_rss = rss + anon_rss + file_rss return total_rss