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.