From ab4934ec04a7153ea4242f61875d7c5edd0ee3e1 Mon Sep 17 00:00:00 2001
From: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Date: Thu, 22 Jun 2017 13:38:31 -0700
Subject: [PATCH] lrdp-v2: vmstat: Fix broken vm_stat for kernel 4.9

Global variable name 'vm_stat' is changed in newer kernel
versions. Use the appropriate variable name depending on
the kernel version being used.

Change-Id: Ia36735bc22c1165ee2736ac39bf93fb2e4a86d0f
---
 linux-ramdump-parser-v2/parsers/vmstat.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/linux-ramdump-parser-v2/parsers/vmstat.py b/linux-ramdump-parser-v2/parsers/vmstat.py
index e849836..8548c12 100644
--- a/linux-ramdump-parser-v2/parsers/vmstat.py
+++ b/linux-ramdump-parser-v2/parsers/vmstat.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
+# Copyright (c) 2013-2015, 2017 The Linux Foundation. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2 and
@@ -62,7 +62,10 @@ class ZoneInfo(RamParser):
             zone = zone + sizeofzone
 
         print_out_str('\nGlobal Stats')
-        vmstats_addr = self.ramdump.address_of('vm_stat')
+        if self.ramdump.kernel_version < (4,9,0):
+            vmstats_addr = self.ramdump.address_of('vm_stat')
+        else:
+            vmstats_addr = self.ramdump.address_of('vm_zone_stat')
         for i in xrange(0, max_zone_stats):
             print_out_str('{0:30}: {1:8}'.format(vmstat_names[i], self.ramdump.read_word(
                 self.ramdump.array_index(vmstats_addr, 'atomic_long_t', i))))
-- 
GitLab