MT#55283 fix stream close race condition

Using the stream object after dropping the reference is unsafe.

Change-Id: I58df474272cc7e168d6d65e5f6ace3a42fe22ef1
(cherry picked from commit 9a3f33a703)
(cherry picked from commit 4e8b3c8b9b)
mr11.5.1
Richard Fuchs 2 months ago
parent b84f9eed70
commit b4196326c2

@ -1087,12 +1087,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