From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:29084 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752081AbbFDOKv (ORCPT ); Thu, 4 Jun 2015 10:10:51 -0400 Message-ID: <55705C5E.9080401@fb.com> Date: Thu, 4 Jun 2015 08:10:38 -0600 From: Jens Axboe MIME-Version: 1.0 To: Ming Lei , Linux Kernel Mailing List CC: Stefan Seyfried , NeilBrown , Christoph Hellwig , "v4.0" Subject: Re: [PATCH] blk-mq: free hctx->ctxs in queue's release handler References: <1433423645-18901-1-git-send-email-tom.leiming@gmail.com> In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: On 06/04/2015 07:19 AM, Ming Lei wrote: > On Thu, Jun 4, 2015 at 9:14 PM, Ming Lei wrote: >> Now blk_cleanup_queue() can be called before calling >> del_gendisk()[1], inside which hctx->ctxs is touched >> from blk_mq_unregister_hctx(), but the variable has >> been freed by blk_cleanup_queue() at that time. >> >> So this patch moves freeing of hctx->ctxs into queue's >> release handler for fixing the oops reported by Stefan. >> >> Also ctx's kobject is embedded into each ctx pointed by >> hctx->ctxs[], which shouldn't have been released so early. > > Hammm, the above line is wrong and should be removed, and > hctx->ctxs[] just stores the pointer of ctx. > > Jens, if you need v1, please let me know. Yeah, lets respin it please. -- Jens Axboe