Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp438345pxb; Mon, 25 Oct 2021 11:11:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBkNGD3zCiWVy1zmAlEgmK5LeDeQfMvCA3IMWpMjuwYUhtTH/lpPnH6xd1b8lyhr3CyqQB X-Received: by 2002:a05:6402:14cc:: with SMTP id f12mr28447774edx.242.1635185501838; Mon, 25 Oct 2021 11:11:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635185501; cv=none; d=google.com; s=arc-20160816; b=kWu8Mi4uWEtzgSzwFwutBsnSNF1dVUlGLMDCS5xhns0SycMtpaBDx5Eg11+MXflky7 C6sBVflV4Lcb9AaK8sC7y1TgwDdkqe5ivoc41YUxJs7N+NjcXmzMhiMXf08A/XqkuvCT q7NgkXGCM7QwhNDZHtNgeGFl/0apZZyIhh0PpuXXhbslojTNF5ApI4dU8l137zHr9tIZ Zi+NqFywIA/RMemzZt3Xf7TVV9JYXaCKI6FNxxP0sIh577iw0FZOpfhierSyaBQMJsOQ 2IF0g6G/rnJlWEsolHdXuOa3wgwSF6l/vqO1/igy++sYttNCqeQOrd1ibWESzYWnQ7Hi XMQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=MM8jdVyerQvfZyPbeUryPT3SmGVcOPU6mZrI4nILcLg=; b=ZUrUeZuzi+ILMJyvJktoLV9ZcHpBWzBgmT6XKH78ED9m86JiSDJolpXEEbLGzfYkdm miTasIuS0neajqPn+B5Vx9CObKwN9BaKuBILq2kqHlv/yAsjs7rTwBO0EAjSEEFdtkHv alZDGSfVLo9FHGRWr5Jq/FycUVeIihrZ30C+z5xqHTdGhYC6eUk0jpuQoOUZFaHj8/Ej oUk/7QxdqsBK2kHjXOnpJIfkXbD6ju6B3u3j9D8yj5f1UHNVEfuakfxxpd5O6VTNtODP 1XUmuiZpLpyhm2XFnifiDl1Or4BTJkRvsQm4gAKuShsvQOb10TgTlw3LpiJlZSxRmcyQ IWSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20210112.gappssmtp.com header.s=20210112 header.b=mClFKx2d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jr11si26020978ejb.269.2021.10.25.11.11.15; Mon, 25 Oct 2021 11:11:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20210112.gappssmtp.com header.s=20210112 header.b=mClFKx2d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232868AbhJYNqg (ORCPT + 99 others); Mon, 25 Oct 2021 09:46:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231502AbhJYNqf (ORCPT ); Mon, 25 Oct 2021 09:46:35 -0400 Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 487DDC061745 for ; Mon, 25 Oct 2021 06:44:13 -0700 (PDT) Received: by mail-ot1-x32b.google.com with SMTP id w12-20020a056830410c00b0054e7ceecd88so15032756ott.2 for ; Mon, 25 Oct 2021 06:44:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20210112.gappssmtp.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=MM8jdVyerQvfZyPbeUryPT3SmGVcOPU6mZrI4nILcLg=; b=mClFKx2dbpXWM19Ektn5260qOIqFuNK7FfIPCUKflmWQPUKuoSwooBrYa5mdCIDY9O RbYBt+p7CH7A/eiKgDCeuDyPNiu+O33V4DulgcaMQOGYdKNdb29Z4hSVJJ6mbKMKNZCt 8L6O35Jqi5emYiujXtgJ6DxkkD2Mof270wwPI4I9OjP1SJ5FKkUzzR9xAh1puEA+oDNh 6jt/6NaHAT9AULJhROpzHkij24CYDXJlc7QEn52vn/etzSA6zH7opnWOkx98hOyvx2K5 54Z3/HA21qBXe+T+sh/0EAt28Ie2werOS98U+oxpo9NixA3X/5OwSGlDZ0lli0B2aLHw sjvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=MM8jdVyerQvfZyPbeUryPT3SmGVcOPU6mZrI4nILcLg=; b=E3Mmv7vaZwVndf11BBOWvVzOI5EblXaktLlxrFrwsdlhUjp8g/j6IgC9ZICzMsqsSS +zGf6Onh1GEmERLiWu4WlJ5MTLDswYKaFrhBZO8r4G+mwyA28MqAvkNpWJFmLffEZ+VO mWSwPpC1y3K4sVqtUUq8mM+Lqjd4FZMzy5kFy7f5W++5oT/JasV3CDjIwiHHsLXlhzP4 ysnhfG1R+E8HQw+cVo50lz+TkWofLha5g/FpoQGKGeq9XbYi+ftcfc+8wVLtuTm5HR6U rI5nZuJI9LqWhvz8FpXDgcliWyYCUUIy0IOLThdSMaqLLAl2L1mAmcESwCvflXJgXWZ1 HEqA== X-Gm-Message-State: AOAM5324Jt3ktrJTxN38Q6iQM47RmhvEn3BXchbu96g3woPSgrQRgu93 SFLyEbCaS7PiofpSr4NZXj99W8DaBkbp4Q== X-Received: by 2002:a9d:2033:: with SMTP id n48mr12897323ota.221.1635169452428; Mon, 25 Oct 2021 06:44:12 -0700 (PDT) Received: from ?IPv6:2600:380:6060:12a6:721f:26e:6f8:a9aa? ([2600:380:6060:12a6:721f:26e:6f8:a9aa]) by smtp.gmail.com with ESMTPSA id g15sm3733385oiy.8.2021.10.25.06.44.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 25 Oct 2021 06:44:12 -0700 (PDT) Subject: Re: [PATCH v3] block: fix incorrect references to disk objects To: Zqiang , Matthew Wilcox Cc: hch@lst.de, sunhao.th@gmail.com, hch@infradead.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org References: <20211018115807.21103-1-qiang.zhang1211@gmail.com> <9d2f7753-d7a7-f91e-077b-40b274199185@gmail.com> From: Jens Axboe Message-ID: Date: Mon, 25 Oct 2021 07:44:07 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <9d2f7753-d7a7-f91e-077b-40b274199185@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/25/21 2:27 AM, Zqiang wrote: > > On 2021/10/18 下午8:26, Matthew Wilcox wrote: >> On Mon, Oct 18, 2021 at 07:58:07PM +0800, Zqiang wrote: >>> When adding partitions to the disk, the reference count of the disk >>> object is increased. then alloc partition device and called >>> device_add(), if the device_add() return error, the reference >>> count of the disk object will be reduced twice, at put_device(pdev) >>> and put_disk(disk). this leads to the end of the object's life cycle >>> prematurely, and trigger following calltrace. >>> >>> __init_work+0x2d/0x50 kernel/workqueue.c:519 >>> synchronize_rcu_expedited+0x3af/0x650 kernel/rcu/tree_exp.h:847 >>> bdi_remove_from_list mm/backing-dev.c:938 [inline] >>> bdi_unregister+0x17f/0x5c0 mm/backing-dev.c:946 >>> release_bdi+0xa1/0xc0 mm/backing-dev.c:968 >>> kref_put include/linux/kref.h:65 [inline] >>> bdi_put+0x72/0xa0 mm/backing-dev.c:976 >>> bdev_free_inode+0x11e/0x220 block/bdev.c:408 >>> i_callback+0x3f/0x70 fs/inode.c:226 >>> rcu_do_batch kernel/rcu/tree.c:2508 [inline] >>> rcu_core+0x76d/0x16c0 kernel/rcu/tree.c:2743 >>> __do_softirq+0x1d7/0x93b kernel/softirq.c:558 >>> invoke_softirq kernel/softirq.c:432 [inline] >>> __irq_exit_rcu kernel/softirq.c:636 [inline] >>> irq_exit_rcu+0xf2/0x130 kernel/softirq.c:648 >>> sysvec_apic_timer_interrupt+0x93/0xc0 >>> >>> Return directly after calling the put_device(). >>> >>> Reported-by: Hao Sun >>> Signed-off-by: Zqiang >> Fixes: 9d3b8813895d ("block: change the refcounting for partitions") >> Reviewed-by: Matthew Wilcox (Oracle) > > Hello Jens Axboe > > The patch description information of the previous v2 version is > incorrect, v3 modified the description information, please applied the > v3 version. This patch is already upstream, I don't have a time machine... -- Jens Axboe