[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] qemu-coroutine-sleep: Silence Coverity warning
From: |
Alex Bennée |
Subject: |
Re: [PATCH] qemu-coroutine-sleep: Silence Coverity warning |
Date: |
Tue, 12 Nov 2019 11:22:27 +0000 |
User-agent: |
mu4e 1.3.5; emacs 27.0.50 |
Eric Blake <address@hidden> 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 <address@hidden>
> Signed-off-by: Eric Blake <address@hidden>
It's a worthwhile documentation of what's going on even if it doesn't
shut up coverity.
Reviewed-by: Alex Bennée <address@hidden>
--
Alex Bennée