From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754180AbcEZOxF (ORCPT ); Thu, 26 May 2016 10:53:05 -0400 Received: from mail-io0-f177.google.com ([209.85.223.177]:34989 "EHLO mail-io0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753925AbcEZOxD (ORCPT ); Thu, 26 May 2016 10:53:03 -0400 Subject: Re: [PATCH] blk-mq: clear q->mq_ops if init fail To: Ming Lin , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org References: <1464243807-27526-1-git-send-email-mlin@kernel.org> Cc: Jens Axboe , Christoph Hellwig From: Jens Axboe Message-ID: <57470DCC.1060400@kernel.dk> Date: Thu, 26 May 2016 08:53:00 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <1464243807-27526-1-git-send-email-mlin@kernel.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/26/2016 12:23 AM, 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. Thanks Ming, applied for this series. -- Jens Axboe