From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752844AbcEZHJh (ORCPT ); Thu, 26 May 2016 03:09:37 -0400 Received: from verein.lst.de ([213.95.11.211]:50227 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750762AbcEZHJg (ORCPT ); Thu, 26 May 2016 03:09:36 -0400 Date: Thu, 26 May 2016 09:09:34 +0200 From: Christoph Hellwig To: Ming Lin Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Jens Axboe , Christoph Hellwig Subject: Re: [PATCH] blk-mq: clear q->mq_ops if init fail Message-ID: <20160526070934.GB22449@lst.de> References: <1464243807-27526-1-git-send-email-mlin@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1464243807-27526-1-git-send-email-mlin@kernel.org> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 25, 2016 at 11:23:27PM -0700, Ming Lin wrote: > From: Ming Lin > > blk_mq_init_queue() calls blk_mq_init_allocated_queue(), but q->mq_ops > was not cleared when blk_mq_init_allocated_queue() fails. > Then blk_cleanup_queue() calls blk_mq_free_queue() which will crash because: > - q->all_q_node is not added to all_q_list yet > - q->tag_set is NULL > - hctx was not setup yet or already freed > > Fixed it by clearing q->mq_ops on error path. Looks fine, Reviewed-by: Christoph Hellwig