Skip to content
Snippets Groups Projects
Commit 4a82f68e authored by lnx build's avatar lnx build Committed by Gerrit - the friendly Code Review server
Browse files

Merge "lrdp-v2: Correct SLUB track address calculation" into opensource-tools.lnx.1.0

parents 3a24ba69 b02616f5
No related branches found
No related tags found
No related merge requests found
...@@ -76,6 +76,11 @@ class kmem_cache(object): ...@@ -76,6 +76,11 @@ class kmem_cache(object):
self.inuse = ramdump.read_int(addr + offset) self.inuse = ramdump.read_int(addr + offset)
if self.inuse is None: if self.inuse is None:
return 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.addr = addr
self.valid = True self.valid = True
...@@ -147,9 +152,9 @@ class Slabinfo(RamParser): ...@@ -147,9 +152,9 @@ class Slabinfo(RamParser):
def get_track(self, ramdump, slab, obj, track_type): def get_track(self, ramdump, slab, obj, track_type):
track_size = g_offsetof.sizeof_struct_track track_size = g_offsetof.sizeof_struct_track
if slab.offset != 0: 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: else:
p = obj + slab.inuse p = obj + slab.red_left_pad + slab.inuse
return p + track_type * track_size return p + track_type * track_size
def extract_callstack(self, ramdump, stack, out_file): def extract_callstack(self, ramdump, stack, out_file):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment