• Beau Belgrave's avatar
    tracing/user_events: Prepare find/delete for same name events · 1e953de9
    Beau Belgrave authored
    The current code for finding and deleting events assumes that there will
    never be cases when user_events are registered with the same name, but
    different formats. Scenarios exist where programs want to use the same
    name but have different formats. An example is multiple versions of a
    program running side-by-side using the same event name, but with updated
    formats in each version.
    
    This change does not yet allow for multi-format events. If user_events
    are registered with the same name but different arguments the programs
    see the same return values as before. This change simply makes it
    possible to easily accommodate for this.
    
    Update find_user_event() to take in argument parameters and register
    flags to accommodate future multi-format event scenarios. Have find
    validate argument matching and return error pointers to cover when
    an existing event has the same name but different format. Update
    callers to handle error pointer logic.
    
    Move delete_user_event() to use hash walking directly now that
    find_user_event() has changed. Delete all events found that match the
    register name, stop if an error occurs and report back to the user.
    
    Update user_fields_match() to cover list_empty() scenarios now that
    find_user_event() uses it directly. This makes the logic consistent
    across several callsites.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240222001807.1463-2-beaub@linux.microsoft.comSigned-off-by: default avatarBeau Belgrave <beaub@linux.microsoft.com>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    1e953de9
trace_events_user.c 63.8 KB