On Tue, Jul 30, 2024 at 01:16:22AM GMT, viro@kernel.org wrote:
From: Al Viro <viro@zeniv.linux.org.uk>
in all of those failure exits prior to fdget() are plain returns and
the only thing done after fdput() is (on failure exits) a kfree(),
They could also be converted to:
struct virqfd *virqfd __free(kfree) = NULL;
and then direct returns are usable.
which can be done before fdput() just fine.
NOTE: in acrn_irqfd_assign() 'fail:' failure exit is wrong for
eventfd_ctx_fileget() failure (we only want fdput() there) and once
we stop doing that, it doesn't need to check if eventfd is NULL or
ERR_PTR(...) there.
NOTE: in privcmd we move fdget() up before the allocation - more
to the point, before the copy_from_user() attempt.
[trivial conflict in privcmd]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
Reviewed-by: Christian Brauner <brauner@kernel.org>