Eric Blake <ebl...@redhat.com> writes:

> Coverity warns that we store the address of a stack variable through a
> pointer passed in by the caller, which would let the caller trivially
> trigger use-after-free if that stored value is still present when we
> finish execution.  However, the way coroutines work is that after our
> call to qemu_coroutine_yield(), control is temporarily continued in
> the caller prior to our function concluding, and in order to resume
> our coroutine, the caller must poll until the variable has been set to
> NULL.  Thus, we can add an assert that we do not leak stack storage to
> the caller on function exit.
>
> Fixes: Coverity CID 1406474
> CC: Peter Maydell <peter.mayd...@linaro.org>
> Signed-off-by: Eric Blake <ebl...@redhat.com>

It's a worthwhile documentation of what's going on even if it doesn't
shut up coverity.

Reviewed-by: Alex Bennée <alex.ben...@linaro.org>


--
Alex Bennée

Reply via email to