[Crash-utility] [PATCH 2/2] dis: Report duplicate symbols

Dave Anderson anderson at redhat.com
Thu Jul 9 15:00:37 UTC 2015



----- Original Message -----
> 
> Hi Aaron,
> 
> I was revisiting your v1 patch, and realized that the duplicate symbol check
> also needs to apply to the "can_eval()" section as well, because a user could
> enter "dis symbol+<offset>".
> 
> So I extracted your do-while loop into a discrete function, and beefed it
> up to handle the entry of symbols with multiple text and data symbols, as
> well as some other possibilities.  In so doing, things got a bit murkier
> than your original patch.  I've attached what I've come up with so far.
> Tell me what you think.
>

And it's slightly more murkier:

The 1/2 patch needs to be updated to verify that the hexadecimal
address of a symbol is a 't' or 'T' symbol type.  Otherwise, the
address of a data symbol could be passed in, and it would disassemble
junk until it got to the next symbol.

The argument passed to can_eval() and then to the resolve_text_symbol()
needs to be verified that the user entered "symbol+offset" and not
"address+offset".  If the latter format was entered, then nothing should
be resolved and it should be used as specified.

User-mode addresses should not be passed to resolve_text_symbol().

An updated patch is attached.

Dave




More information about the Crash-utility mailing list