ANDROID: rust_binder: set NodeDeath.dead=true when already dead
If a node's owner is already dead when requesting a death listener, an
event is scheduled without setting dead=true. This still results in
BR_DEAD_BINDER under normal conditions, but if the listener is removed
immediately after adding it, and another thread concurrently receives
events, this can result in BR_CLEAR_DEATH_NOTIFICATION_DONE being sent
twice because clear_death() notification uses `dead` to determine
whether to send a notification or not.
Bug: 445278315
Change-Id: If3b8087eaf481e419fef8bb88ace6eed78a8c44d
Signed-off-by:
Alice Ryhl <aliceryhl@google.com>
Loading
Please sign in to comment