From: "Tobin C. Harding" <tobin@xxxxxxxxxx> Date: Fri, 10 May 2019 12:52:12 +1000 > Currently error return from kobject_init_and_add() is not followed by a > call to kobject_put(). This means there is a memory leak. We currently > set p to NULL so that kfree() may be called on it as a noop, the code is > arguably clearer if we move the kfree() up closer to where it is > called (instead of after goto jump). > > Remove a goto label 'err1' and jump to call to kobject_put() in error > return from kobject_init_and_add() fixing the memory leak. Re-name goto > label 'put_back' to 'err1' now that we don't use err1, following current > nomenclature (err1, err2 ...). Move call to kfree out of the error > code at bottom of function up to closer to where memory was allocated. > Add comment to clarify call to kfree(). > > Signed-off-by: Tobin C. Harding <tobin@xxxxxxxxxx> > --- > > v1 was a part of a set. I have dropped the other patch until I can work > out a correct solution. Applied and queued up for -stable, thanks.