Re: [PATCH 4/4] loop: Charge i/o to mem and blk cg

From: Dan Schatzberg
Date: Tue Apr 21 2020 - 09:57:38 EST


On Tue, Apr 21, 2020 at 11:33:37AM +0800, Hillf Danton wrote:
>
> On Mon, 20 Apr 2020 18:39:32 -0400 Dan Schatzberg wrote:
> >
> > @@ -964,13 +960,16 @@ static void loop_queue_work(struct loop_device *lo, struct loop_cmd *cmd)
> > worker = kzalloc(sizeof(struct loop_worker), GFP_NOWAIT | __GFP_NOWARN);
> > /*
> > * In the event we cannot allocate a worker, just queue on the
> > - * rootcg worker
> > + * rootcg worker and issue the I/O as the rootcg
> > */
> > - if (!worker)
> > + if (!worker) {
> > + cmd->blkcg_css = NULL;
> > + cmd->memcg_css = NULL;
>
> Dunno if css_put(cmd->memcg_css);

Good catch. Need to drop the reference here.