• Paul Chaignon's avatar
    Trace external pointers through function returns (#1821) · fe779f31
    Paul Chaignon authored
    * Trace external pointers through function returns
    
    Surprisingly, the rewriter wasn't able to trace external pointers
    returned by inlined functions until now.  This commit fixes it by
    adding functions that return an external pointer to ProbeVisitor's
    set of external pointers, along with the levels of indirection.
    
    This change requires reversing a few traversals to visit called
    functions before they are called.  Then, we check the presence of an
    external pointer on return statements and retrieve that information
    at the call expression.
    
    * Tests dereferences of ext ptrs returned by inlined func
    
    * tcpdrop: remove unnecessary bpf_probe_read calls
    
    e783567a makes these calls unnecessary.
    fe779f31
test_clang.py 26.8 KB