On Tue, Jul 30, 2024 at 01:16:22AM GMT, viro@xxxxxxxxxx wrote: > From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxx> > --- Reviewed-by: Christian Brauner <brauner@xxxxxxxxxx>