let offset = data.task_struct_run_list'next_offset
and adj = data.task_struct_run_list'next_adjustment in
let offset = Int64.of_int offset and adj = Int64.of_int adj in
- let addr = Int64.sub (Int64.add addr offset) adj in
- let map = AddrMap.add addr ("task_struct", None) map in
+ let map =
+ if offset <> adj
+ then
+ (let addr = Int64.sub (Int64.add addr offset) adj
+ in AddrMap.add addr ("task_struct", None) map)
+ else map in
let dest_addr = Int64.sub dest_addr adj in
let map = task_struct_follower kernel_version load map dest_addr
in map in
let offset = data.task_struct_tasks'next_offset
and adj = data.task_struct_tasks'next_adjustment in
let offset = Int64.of_int offset and adj = Int64.of_int adj in
- let addr = Int64.sub (Int64.add addr offset) adj in
- let map = AddrMap.add addr ("task_struct", None) map in
+ let map =
+ if offset <> adj
+ then
+ (let addr = Int64.sub (Int64.add addr offset) adj
+ in AddrMap.add addr ("task_struct", None) map)
+ else map in
let dest_addr = Int64.sub dest_addr adj in
let map = task_struct_follower kernel_version load map dest_addr
in map
let offset = data.net_device_dev_list'next_offset
and adj = data.net_device_dev_list'next_adjustment in
let offset = Int64.of_int offset and adj = Int64.of_int adj in
- let addr = Int64.sub (Int64.add addr offset) adj in
- let map = AddrMap.add addr ("net_device", None) map in
+ let map =
+ if offset <> adj
+ then
+ (let addr = Int64.sub (Int64.add addr offset) adj
+ in AddrMap.add addr ("net_device", None) map)
+ else map in
let dest_addr = Int64.sub dest_addr adj in
let map = net_device_follower kernel_version load map dest_addr
in map in
let offset = data.net_dev_base_head'next_offset
and adj = data.net_dev_base_head'next_adjustment in
let offset = Int64.of_int offset and adj = Int64.of_int adj in
- let addr = Int64.sub (Int64.add addr offset) adj in
- let map = AddrMap.add addr ("net_device", None) map in
+ let map =
+ if offset <> adj
+ then
+ (let addr = Int64.sub (Int64.add addr offset) adj
+ in AddrMap.add addr ("net_device", None) map)
+ else map in
let dest_addr = Int64.sub dest_addr adj in
let map = net_device_follower kernel_version load map dest_addr in map in
let dest_addr = data.net_dev_base_head'prev in
let offset = data.net_dev_base_head'prev_offset
and adj = data.net_dev_base_head'prev_adjustment in
let offset = Int64.of_int offset and adj = Int64.of_int adj in
- let addr = Int64.sub (Int64.add addr offset) adj in
- let map = AddrMap.add addr ("net_device", None) map in
+ let map =
+ if offset <> adj
+ then
+ (let addr = Int64.sub (Int64.add addr offset) adj
+ in AddrMap.add addr ("net_device", None) map)
+ else map in
let dest_addr = Int64.sub dest_addr adj in
let map = net_device_follower kernel_version load map dest_addr in map
in map)