From patchwork Sat Jun 10 02:20:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 105875 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1309048vqr; Fri, 9 Jun 2023 19:27:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5IRWv3A8YsH/6zfhmrLq1AxEq3JGwFmmyLW8vu68fy0gQP7y7dDmpzBcWclSQz88Gz3D0a X-Received: by 2002:a05:6402:1287:b0:514:a696:1255 with SMTP id w7-20020a056402128700b00514a6961255mr346942edv.37.1686364055333; Fri, 09 Jun 2023 19:27:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686364055; cv=none; d=google.com; s=arc-20160816; b=v0A+GN5xXbszEOZOLUK57n8RGjEqKi28HbK+vRBEmv8cjg2x9YKh8H1DVfc6hB3fCk 9Ddt2Naeffts9MJygLPSgi3lp1lxdn2HOLU5LVAk5DTDmOK4WprrKQebzGR1dkoLzzWk cWqBmQN+7Ru5ARz0Q202OHP6eDRZfj5QD10qk0vMFrr0AOnDzkSUKIPMZifL9pYIVPQI 7ScTd5YQ8f/pysJ0VzzK04+2ghjWWuk8Hio+3Mq54PtbWxLXKmCS+4dlRyUGmjHYU2gU jMDhp7wnuptYSZnw6Q8IkwznHwLSCIjEvkR6sdEMEeSGJTM+ifOmrzuK7tl29TINIr/Y Q66A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=6bdmFvnEcyJv3di/IwUz8Yc0IO6dvkCnElWwGHxil3U=; b=QZZlhUPYDQw50iFStK3SnVQgbPitx5JSjprWrqpLfncCMe7rR6iJi7sO040TbFtfzS Lk0zCD7ZUl6mEjOhx7BmvSzLpKQohTaRG7+I+q87VXhgH4bZ5KFu7DWrkAgq7ZtOhitb DEVcNiA0kwugoD+Wtak5AK7Vyc2QF0TkDZTn02fnK8Dq7054Yp4QkwLy9Fl8/APGXitU DgUJ6Ss3f6LFH5ZT8B3JyMqCHocQ4IdTDQkwpXk2f4yXsfZ/3s+kpshl5J+nS45+TjkZ qGwcPZsgtudb5A9pcxX7wA5Lsi8+O2bA9DmfsX1Q4Mk2KLRtcdfkp/oKbbUqS75P9q4B 8RTg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m3-20020aa7c2c3000000b00515948b085fsi3035133edp.120.2023.06.09.19.27.10; Fri, 09 Jun 2023 19:27:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233514AbjFJCY2 (ORCPT + 99 others); Fri, 9 Jun 2023 22:24:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230168AbjFJCY0 (ORCPT ); Fri, 9 Jun 2023 22:24:26 -0400 Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8807D3AB9; Fri, 9 Jun 2023 19:24:25 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4QdMGD2F9pz4f3mLQ; Sat, 10 Jun 2023 10:24:20 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.104.67]) by APP4 (Coremail) with SMTP id gCh0CgBH_rHT3oNkRsFjLQ--.44376S5; Sat, 10 Jun 2023 10:24:21 +0800 (CST) From: Yu Kuai To: hch@lst.de, axboe@kernel.dk, dgilbert@interlog.com, jejb@linux.ibm.com, martin.petersen@oracle.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v5 1/3] blktrace: use inline function for blk_trace_remove() while blktrace is disabled Date: Sat, 10 Jun 2023 10:20:01 +0800 Message-Id: <20230610022003.2557284-2-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230610022003.2557284-1-yukuai1@huaweicloud.com> References: <20230610022003.2557284-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: gCh0CgBH_rHT3oNkRsFjLQ--.44376S5 X-Coremail-Antispam: 1UD129KBjvJXoWrKryrur4ktFyxXr48Xw45GFg_yoW8Jr18pF n8KrWjkw1UuF42934xCry7Ca47J3yDC34UJrZxKrZ8AF1qy34jgws2qrWvy3yrZayktFZx AFyq9345CryDXw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBK14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2 x26xkF7I0E14v26r4j6ryUM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04 v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_ Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x 0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIx AIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUjFdgJUUUUU= = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, MAY_BE_FORGED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768280875911433089?= X-GMAIL-MSGID: =?utf-8?q?1768280875911433089?= From: Yu Kuai If config is disabled, call blk_trace_remove() directly will trigger build warning, hence use inline function instead, prepare to fix blktrace debugfs entries leakage. Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig --- include/linux/blktrace_api.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index cfbda114348c..122c62e561fc 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h @@ -85,10 +85,14 @@ extern int blk_trace_remove(struct request_queue *q); # define blk_add_driver_data(rq, data, len) do {} while (0) # define blk_trace_setup(q, name, dev, bdev, arg) (-ENOTTY) # define blk_trace_startstop(q, start) (-ENOTTY) -# define blk_trace_remove(q) (-ENOTTY) # define blk_add_trace_msg(q, fmt, ...) do { } while (0) # define blk_add_cgroup_trace_msg(q, cg, fmt, ...) do { } while (0) # define blk_trace_note_message_enabled(q) (false) + +static inline int blk_trace_remove(struct request_queue *q) +{ + return -ENOTTY; +} #endif /* CONFIG_BLK_DEV_IO_TRACE */ #ifdef CONFIG_COMPAT From patchwork Sat Jun 10 02:20:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 105877 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1311038vqr; Fri, 9 Jun 2023 19:34:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ60EKeg4e5BY4Nz1l/v/Bya4kbMAb/y85bYF8SpSqxuDAvevbu1Wk0aHyep2tTviQCFeOxS X-Received: by 2002:a17:907:707:b0:94f:956:b3f7 with SMTP id xb7-20020a170907070700b0094f0956b3f7mr3073480ejb.2.1686364460392; Fri, 09 Jun 2023 19:34:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686364460; cv=none; d=google.com; s=arc-20160816; b=VEnNj7CLJNT5/EomC20Dl3KgNRNxCb00ol7Jhj5yb2Y5X46K7kl8XofRUeQKq8V+Yc EGRW29KsIYQ3CkFXGzMvmDl+XBJ6nqjpMsLtGZ52WdIXDzoRVRchgESbIOISxc4dFPjx YwYYDFAa5c7gMR0hxKbG79YHS9VIbBcERWC6/ZjZRxSNdFwzD5hGIfFRUNSBx2h6sJML PnZvCTp/jV6gZ65iE61okEcWZFembUX9mW0GMGzd62kFX1WDf0PdsbO/R1JWFWyx6cxl Y/hG8EvoEwD9J+e7uSWzuNwrvvfwWcFdTkBxgrUoeavtYvOJKBXbf7+gB4aoow5ZhNib OhPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=4o3EML9hUXTi4L2Gzc9A67Yfb9SMzv5gLY5ipAgoMYw=; b=pLKG6f+sszalu3XCO03tUMuqCz58m/gtEFM5aNrL7G5+oi9VKvXRT3Epsk+ugheYBy pS5jUxRr3HbYw9qj/OFKVsji0megBtTSWUa908QSQw24ilJ5W4yGTjTIOE5iAWL3han2 paJB3Uh4EMNeOOVeNf+S+3Tf03tKX0RjR+vAQwMgUPDGQPJkIQTFXI3BS2nTRLaWciTy v0Az6GHzKjO87Vwz2g5CWLypRYpfuJhKpsuYAo1khf+cw7JoMt2wOE6/J/PGenUPx2cP Foz/qDPbuRR0GQYYztTcmqxhjzbJPdmHvM9qLAztsoksSzzZUM7HJMmv4fQ74Wmfh5GU nvqg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y12-20020a50eb0c000000b005163b00a727si3341069edp.72.2023.06.09.19.33.54; Fri, 09 Jun 2023 19:34:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233613AbjFJCYf (ORCPT + 99 others); Fri, 9 Jun 2023 22:24:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232349AbjFJCY0 (ORCPT ); Fri, 9 Jun 2023 22:24:26 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88B653ABA; Fri, 9 Jun 2023 19:24:25 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4QdMGF5R6xz4f3mHp; Sat, 10 Jun 2023 10:24:21 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.104.67]) by APP4 (Coremail) with SMTP id gCh0CgBH_rHT3oNkRsFjLQ--.44376S6; Sat, 10 Jun 2023 10:24:22 +0800 (CST) From: Yu Kuai To: hch@lst.de, axboe@kernel.dk, dgilbert@interlog.com, jejb@linux.ibm.com, martin.petersen@oracle.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v5 2/3] scsi: sg: fix blktrace debugfs entries leakage Date: Sat, 10 Jun 2023 10:20:02 +0800 Message-Id: <20230610022003.2557284-3-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230610022003.2557284-1-yukuai1@huaweicloud.com> References: <20230610022003.2557284-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: gCh0CgBH_rHT3oNkRsFjLQ--.44376S6 X-Coremail-Antispam: 1UD129KBjvJXoW7Kry3Zr4kJrWxuFyxtr4ruFg_yoW8ZFy5pF W7Xa90krWUWr4UGw45Z34UZFySk3y0934rGFW7Kw1fWF4rJr90gFyktFyUX3W5ArZ5uFZ8 AFW3KF95GFnrJ3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBK14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04 v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_ Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x 0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIx AIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUbdOz7UUUUU= = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768281300281206387?= X-GMAIL-MSGID: =?utf-8?q?1768281300281206387?= From: Yu Kuai sg_ioctl() support to enable blktrace, which will create debugfs entries "/sys/kernel/debug/block/sgx/", however, there is no guarantee that user will remove these entries through ioctl, and deleting sg device doesn't cleanup these blktrace entries. This problem can be fixed by cleanup blktrace while releasing request_queue, however, it's not a good idea to do this special handling in common layer just for sg device. Fix this problem by shutdown bltkrace in sg_device_destroy(), where the device is deleted and all the users close the device, also grab a scsi_device reference from sg_add_device() to prevent scsi_device to be freed before sg_device_destroy(); Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig Reviewed-by: Martin K. Petersen --- drivers/scsi/sg.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 037f8c98a6d3..0adfbd77437f 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -1496,6 +1496,10 @@ sg_add_device(struct device *cl_dev) int error; unsigned long iflags; + error = scsi_device_get(scsidp); + if (error) + return error; + error = -ENOMEM; cdev = cdev_alloc(); if (!cdev) { @@ -1553,6 +1557,7 @@ sg_add_device(struct device *cl_dev) out: if (cdev) cdev_del(cdev); + scsi_device_put(scsidp); return error; } @@ -1560,6 +1565,7 @@ static void sg_device_destroy(struct kref *kref) { struct sg_device *sdp = container_of(kref, struct sg_device, d_ref); + struct request_queue *q = sdp->device->request_queue; unsigned long flags; /* CAUTION! Note that the device can still be found via idr_find() @@ -1567,6 +1573,9 @@ sg_device_destroy(struct kref *kref) * any other cleanup. */ + blk_trace_remove(q); + scsi_device_put(sdp->device); + write_lock_irqsave(&sg_index_lock, flags); idr_remove(&sg_index_idr, sdp->index); write_unlock_irqrestore(&sg_index_lock, flags); From patchwork Sat Jun 10 02:20:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Kuai X-Patchwork-Id: 105876 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1309716vqr; Fri, 9 Jun 2023 19:30:03 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7QEH7CF+X4nmu6F/6GFr3mMiLjZnZm9W+A51EuAqVolVOaHauaCSAqAfCOoVvAzdyBf71n X-Received: by 2002:a17:906:9b92:b0:973:e349:43c9 with SMTP id dd18-20020a1709069b9200b00973e34943c9mr3032346ejc.77.1686364203153; Fri, 09 Jun 2023 19:30:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686364203; cv=none; d=google.com; s=arc-20160816; b=rdFWLJdQKQgr6DWsQC0T6122JUl/ea+D7Ibu3ao9ff2ODEMa+ykclA+HahA7HhQS/Y Y9xg+Itpsbs9kMtesKMWPfLs4A50xvygH/2OfXEs6cFs1WRr3R0H70SLKujx4HkfhnHz o3jcukuUxAx4+QzITFHhvOfiuXJPjwJtXQH6efR9QUl7yHycXQqMvmYDTNPQP3R1PTxC gwc3/a4YZ77hmBGVz5enCD22QlyvR34SHOfUx0iUbZJQzJfZQXnAyqWP7aZhIAQwZQNn OgKFQOcsEk9h3Ol4Dw2uYtgvDXgV0OtW8u650WFmH5sP5xJuce0lBl/52ioqHpdxm1qv /WIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=FPfDMw5GDurMZTLpaaLdJI/viphPRKRjs7VXoc0kjgk=; b=gogPSx1seyeu1mbOhcEdmIQRVm54Ip7lxoEKELk1t5JIBJy5Kg8pVRfkW8+oqyWRPR ZpSSznnohsD/ETAkhOwDDgJ9m10tzislsI09PUBnGjCbGsCm3olYrVZNY5p4Koqjqv+C 0PEkmh1iqBSxWY3m5PPmFh/Uosozt5FUIZZHlU1hbqIYcysLqdgULjM5kjz2PFoKh+iS 8EC581jAhr6yliWOyFACjOHKzy0n/BR/1yTnT0Plvp2GSdMSUkTpf32Huo1RIyHjZeU+ f2os6RGSGiF4tiXHJjrTAQoDWe6KKFeaz6NA9scCfHEfE8IOOMwzOgUduQEnqGYDwHsc bXpw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v11-20020a1709067d8b00b00970f0c11efcsi2061273ejo.339.2023.06.09.19.29.38; Fri, 09 Jun 2023 19:30:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231310AbjFJCYj (ORCPT + 99 others); Fri, 9 Jun 2023 22:24:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232756AbjFJCY1 (ORCPT ); Fri, 9 Jun 2023 22:24:27 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E786935A9; Fri, 9 Jun 2023 19:24:25 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4QdMGG1vCmz4f3mHw; Sat, 10 Jun 2023 10:24:22 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.104.67]) by APP4 (Coremail) with SMTP id gCh0CgBH_rHT3oNkRsFjLQ--.44376S7; Sat, 10 Jun 2023 10:24:22 +0800 (CST) From: Yu Kuai To: hch@lst.de, axboe@kernel.dk, dgilbert@interlog.com, jejb@linux.ibm.com, martin.petersen@oracle.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH v5 3/3] block: fix blktrace debugfs entries leakage Date: Sat, 10 Jun 2023 10:20:03 +0800 Message-Id: <20230610022003.2557284-4-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230610022003.2557284-1-yukuai1@huaweicloud.com> References: <20230610022003.2557284-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: gCh0CgBH_rHT3oNkRsFjLQ--.44376S7 X-Coremail-Antispam: 1UD129KBjvJXoW7uw4fWFyxGF1fury7Zr4DXFb_yoW8WFy5pa 9xur4YkrWqvr4YvFyDuw17XF18Ka95GryrJrySgF1Yvr17Crs8XrZ2vr40grWrArZI9FZ8 W3WUCr9xArWkXaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBK14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04 v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_ Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x 0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8 JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIx AIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUbJ73DUUUUU= = X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768281030545643002?= X-GMAIL-MSGID: =?utf-8?q?1768281030545643002?= From: Yu Kuai Commit 99d055b4fd4b ("block: remove per-disk debugfs files in blk_unregister_queue") moves blk_trace_shutdown() from blk_release_queue() to blk_unregister_queue(), this is safe if blktrace is created through sysfs, however, there is a regression in corner case. blktrace can still be enabled after del_gendisk() through ioctl if the disk is opened before del_gendisk(), and if blktrace is not shutdown through ioctl before closing the disk, debugfs entries will be leaked. Fix this problem by shutdown blktrace in disk_release(), this is safe because blk_trace_remove() is reentrant. Fixes: 99d055b4fd4b ("block: remove per-disk debugfs files in blk_unregister_queue") Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig --- block/genhd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/block/genhd.c b/block/genhd.c index 4e5fd6aaa883..5689f5b5187c 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -25,8 +25,9 @@ #include #include #include -#include "blk-throttle.h" +#include +#include "blk-throttle.h" #include "blk.h" #include "blk-mq-sched.h" #include "blk-rq-qos.h" @@ -1148,6 +1149,8 @@ static void disk_release(struct device *dev) might_sleep(); WARN_ON_ONCE(disk_live(disk)); + blk_trace_remove(disk->queue); + /* * To undo the all initialization from blk_mq_init_allocated_queue in * case of a probe failure where add_disk is never called we have to