• Allan Stephens's avatar
    tipc: Prevent null pointer error when removing a node subscription · 431697eb
    Allan Stephens authored
    Prevents a null pointer dereference from occurring if a node subscription
    is triggered at the same time that the subscribing port or publication is
    terminating the subscription. The problem arises if the triggering routine
    asynchronously activates and deregisters the node subscription while
    deregistration is already underway -- the deregistration routine may find
    that the pointer it has just verified to be non-NULL is now NULL.
    To avoid this race condition the triggering routine now simply marks the
    node subscription as defunct (to prevent it from re-activating)
    instead of deregistering it. The subscription is now both deregistered
    and destroyed only when the subscribing port or publication code terminates
    the node subscription.
    Signed-off-by: default avatarAllan Stephens <Allan.Stephens@windriver.com>
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>