MT#55283 fix stream close race condition

Using the stream object after dropping the reference is unsafe.

Change-Id: I58df474272cc7e168d6d65e5f6ace3a42fe22ef1
pull/2056/head
Richard Fuchs 2 months ago
parent db1307da8f
commit 9a3f33a703

@ -1223,12 +1223,12 @@ static void stream_put(struct re_stream *stream) {
if (!stream)
return;
if (!atomic_dec_and_test(&stream->refcnt)) {
/* if this is an open file being closed and there's a del_stream()
* waiting for us, we need to wake up the sleeping del_stream() */
wake_up_interruptible(&stream->close_wq);
/* if this is an open file being closed and there's a del_stream()
* waiting for us, we need to wake up the sleeping del_stream() */
wake_up_interruptible(&stream->close_wq);
if (!atomic_dec_and_test(&stream->refcnt))
return;
}
DBG("Freeing stream object\n");

Loading…
Cancel
Save