• Home
  • Raw
  • Download

Lines Matching refs:cache

46 def for_each_object(cache, addr, slab_objects):  argument
48 if cache['flags'] & SLAB_RED_ZONE:
49 p += int(cache['red_left_pad'])
50 while p < addr + (slab_objects * cache['size']):
52 p = p + int(cache['size'])
54 def get_info_end(cache): argument
55 if (cache['offset'] >= cache['inuse']):
56 return cache['inuse'] + gdb.lookup_type("void").pointer().sizeof
58 return cache['inuse']
60 def get_orig_size(cache, obj): argument
61 if cache['flags'] & SLAB_STORE_USER and cache['flags'] & SLAB_KMALLOC:
63 p += get_info_end(cache)
68 return cache['object_size']
70 def get_track(cache, object_pointer, alloc): argument
71 p = object_pointer + get_info_end(cache)
85 def __obj_to_index(cache, addr, obj): argument
86 …return reciprocal_divide(int(mm.page_ops().ops.kasan_reset_tag(obj)) - addr, cache['reciprocal_siz…
99 def freelist_ptr_decode(cache, ptr, ptr_addr): argument
101 return ptr['v'] ^ cache['random'] ^ swab64(int(ptr_addr))
105 def get_freepointer(cache, obj): argument
107 ptr_addr = obj + cache['offset']
109 return freelist_ptr_decode(cache, p, ptr_addr)
117 def add_location(loc_track, cache, track, orig_size): argument
121 waste = cache['object_size'] - int(orig_size)
155 def __fill_map(obj_map, cache, slab): argument
159 index = __obj_to_index(cache, addr, p)
161 p = get_freepointer(cache, p)
164 def process_slab(loc_track, slab_list, alloc, cache): argument
166 obj_map[:] = [False] * oo_objects(cache['oo'])
167 __fill_map(obj_map, cache, slab)
169 for object_pointer in for_each_object(cache, addr, slab['objects']):
170 if obj_map[__obj_to_index(cache, addr, object_pointer)] == True:
172 p = get_track(cache, object_pointer, alloc)
175 size = get_orig_size(cache, object_pointer)
177 size = cache['object_size']
178 add_location(loc_track, cache, track, size)
190 for cache in lists.list_for_each_entry(slab_caches, kmem_cache_ptr_type, 'list'):
191 if cache['name'].string() == cache_name:
192 target_cache = cache
298 for cache in lists.list_for_each_entry(slab_caches, kmem_cache_ptr_type, 'list'):
303 cache_node = cache['node'][i]
313 objects_per_slab = oo_objects(cache['oo'])
314 cache_order = oo_order(cache['oo'])
315 …} | {:8} | {:11} | {:13}\n".format(hex(cache), cache['name'].string(), str(active_objs), str(num_o…