Project

General

Profile

Actions

Bug #15310

open

dtrace fbt argument mapping incorrect when argument size larger than register size

Added by Ryan Goodfellow 30 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
DTrace
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

The following dtrace output shows data that should result in a kernel crash.

root@violin:/opt/cargo-bay# cat mp.d
fbt:ip:ip_select_route:entry {
            print(args[2]);
}

root@violin:/opt/cargo-bay# dtrace -s mp.d
dtrace: script 'mp.d' matched 1 probe
CPU     ID                    FUNCTION:NAME
  0  50772            ip_select_route:entry ip_xmit_attr_t * 0

  0  50772            ip_select_route:entry ip_xmit_attr_t * 0

However, the kernel does not crash and what we are seeing is an incorrect value reported for the ixa argument of ip_select_route.

This appears to happen because the previous argument is passed by value and has the type in6_addr_t, which is a 128-bit value that throws off the address mappings for the arguments that follow.

No data to display

Actions

Also available in: Atom PDF