diff --git a/linux-ramdump-parser-v2/parsers/slabinfo.py b/linux-ramdump-parser-v2/parsers/slabinfo.py
index ff9dcaca2563c4d9af904a1e744d8d28c8da2309..28a3dfd79709341ef084c52a719016e8d21c7916 100644
--- a/linux-ramdump-parser-v2/parsers/slabinfo.py
+++ b/linux-ramdump-parser-v2/parsers/slabinfo.py
@@ -76,6 +76,11 @@ class kmem_cache(object):
         self.inuse = ramdump.read_int(addr + offset)
         if self.inuse is None:
             return
+        offset = ramdump.field_offset(
+            'struct kmem_cache', 'red_left_pad')
+        self.red_left_pad = ramdump.read_int(addr + offset)
+        if self.red_left_pad is None:
+            self.red_left_pad = 0
         self.addr = addr
         self.valid = True
 
@@ -147,9 +152,9 @@ class Slabinfo(RamParser):
     def get_track(self, ramdump,  slab, obj, track_type):
         track_size = g_offsetof.sizeof_struct_track
         if slab.offset != 0:
-            p = obj + slab.offset + g_offsetof.sizeof_void_pointer
+            p = obj + slab.red_left_pad + slab.offset + g_offsetof.sizeof_void_pointer
         else:
-            p = obj + slab.inuse
+            p = obj + slab.red_left_pad + slab.inuse
         return p + track_type * track_size
 
     def extract_callstack(self, ramdump, stack, out_file):