From 535a705e5b47dd53993f31b870badd1c86445e20 Mon Sep 17 00:00:00 2001
From: Laura Abbott <lauraa@codeaurora.org>
Date: Mon, 3 Mar 2014 11:13:03 -0800
Subject: [PATCH] linux-ramdump-parser-v2: conditionally check for full slabs

Full slabs are only stored when CONIFG_SLUB_DEBUG is enabled. Move
the parsing for full slabs to this conditional check.

Change-Id: I6bdd402f888f857c9c0ce1b2443d8436e90cdb84
---
 linux-ramdump-parser-v2/parsers/slabinfo.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/linux-ramdump-parser-v2/parsers/slabinfo.py b/linux-ramdump-parser-v2/parsers/slabinfo.py
index 5d739af..3569b56 100644
--- a/linux-ramdump-parser-v2/parsers/slabinfo.py
+++ b/linux-ramdump-parser-v2/parsers/slabinfo.py
@@ -195,8 +195,6 @@ class Slabinfo(RamParser):
             'struct kmem_cache', 'cpu_slab')
         slab_partial_offset = self.ramdump.field_offset(
             'struct kmem_cache_node', 'partial')
-        slab_full_offset = self.ramdump.field_offset(
-            'struct kmem_cache_node', 'full')
         slab = self.ramdump.read_word(original_slab)
         while slab != original_slab:
             slab = slab - slab_list_offset
@@ -211,8 +209,11 @@ class Slabinfo(RamParser):
                 '{0:x} slab {1} {2:x}\n'.format(slab, slab_name, slab_node_addr))
             self.print_slab_page_info(
                 self.ramdump, slab, slab_node, slab_node_addr + slab_partial_offset, slab_out)
-            self.print_slab_page_info(
-                self.ramdump, slab, slab_node, slab_node_addr + slab_full_offset, slab_out)
+            if self.ramdump.is_config_defined('CONFIG_SLUB_DEBUG'):
+               slab_full_offset = self.ramdump.field_offset(
+                    'struct kmem_cache_node', 'full')
+               self.print_slab_page_info(
+                    self.ramdump, slab, slab_node, slab_node_addr + slab_full_offset, slab_out)
 
             for i in range(0, cpus):
                 cpu_slabn_addr = cpu_slab_addr + \
-- 
GitLab