Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp3995724rwl; Mon, 10 Apr 2023 04:43:55 -0700 (PDT) X-Google-Smtp-Source: AKy350ZN/B1uj4tH2wQom65Ok6Bb0xSuC82h3AhNyrgd6pwtEFpuDTxknPtrSUOFL2axrz1oyskU X-Received: by 2002:a17:906:9b8b:b0:945:5510:2b9f with SMTP id dd11-20020a1709069b8b00b0094555102b9fmr10390679ejc.54.1681127035260; Mon, 10 Apr 2023 04:43:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681127035; cv=none; d=google.com; s=arc-20160816; b=EaDR4bkWy9UgEYO1UFvrkvP+BO9Zu0RXFoKdBSNszq/L64T6Qh6uUQ8n6JQJixzs67 vmAv2RbwxgKhEcaIDTvqHEfa/nfnyWI1nhWNjV7j+Oa6ZVEL+vqaiMSY2AKyNbWhCREF 1pw89cTa2yYpXSOUcigSpr4PZUNec2FYkYLvUPdGBn8V1l16E6tFa+RvAz5VTSM3nDjo /DMsHmNP92pRVpE8RW127UNwpEtyhqWNDUI205cGperW0NtGOA0/V5tQWOBpMN0dJs9e vaoh5rp/1EbGtXploL3hUNEQvx/39C3A0S+f8Om0nSq4x1dYc3fPJlIZKEjVWvs6w9bS aFHw== 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 :message-id:date:subject:cc:to:from; bh=6BioJyYEUfSIT2jUCoq/YmZDp5iYGv0HOnRx5JY04T4=; b=i7KLGlefHfDoKsMnk29HldO6hjV63OJRy8bHS47UkEfaZYf4g8lpAZQPfMrJfAt+pc RZaKwyak3qkQTxO2V//Q/bAsnJ05IkxUd5IE3y5faB5PPg9cI0af3g/0zMRooNpB3Prv qCVX3pyO1d8xrNHcmCKctadnWoVWAbYPm59ooT4x8t52Qv7dRAqWZdcWHdoOaxjMr2i9 BFsO6zqGP/zvZ31XxBWMyph6m5rSZcFLbi0xiNnBYZ4x6T5sytaF4P+lNhFc5r7Lhc1g Hy8Vi2FRc2rMi9o/p2gvkSDdJWod5TOsm/Bcn9bxQxQoY8f+dA/0bIQPkidIFvm4G+oZ Q6og== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fi12-20020a170906da0c00b0094a735f0026si2989551ejb.974.2023.04.10.04.43.30; Mon, 10 Apr 2023 04:43:55 -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 S229949AbjDJLhD (ORCPT + 99 others); Mon, 10 Apr 2023 07:37:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229719AbjDJLg6 (ORCPT ); Mon, 10 Apr 2023 07:36:58 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74BAD44BE; Mon, 10 Apr 2023 04:36:57 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Pw6Pw2lsMz4f4FSF; Mon, 10 Apr 2023 19:36:52 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.104.67]) by APP4 (Coremail) with SMTP id gCh0CgAHvbDT9DNk0tNvHA--.50875S4; Mon, 10 Apr 2023 19:36:53 +0800 (CST) From: Yu Kuai To: logang@deltatee.com, song@kernel.org Cc: linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com, yangerkun@huawei.com Subject: [PATCH -next v5 0/6] md: fix uaf for sync_thread Date: Mon, 10 Apr 2023 19:35:53 +0800 Message-Id: <20230410113559.1610455-1-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: gCh0CgAHvbDT9DNk0tNvHA--.50875S4 X-Coremail-Antispam: 1UD129KBjvJXoW7Zr1DXF43tr4DAF4kXFykGrg_yoW8XFy3pF Wagr9xZw4UCrsxZFsxZFyjka45G3Wrtay7KryxC34rZa45uFWUJr4UGFWkWF9ruFyfJa9r Xr15Jr18uF1jyaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUyG14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCF04k20xvY0x0EwIxG rwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4 vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64vIr41lIxAIcVC0I7IY x2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26c xKx2IYs7xG6rW3Jr0E3s1lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x02 67AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VUbXdbUUUUUU== X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 From: Yu Kuai Changes in v5: - use rcu_dereference_protected() instead of rcu_access_pointer() where rcu_read_lock/unlock is not required. - add patch 4,5 to handle that bitmap timeout is set multiple times. Changes in v4: - remove patch 2 from v3 - fix sparse errors and warnings from v3, in order to do that, all access to md_thread need to be modified, patch 2-4 is splited to avoid a huge patch. Changes in v3: - remove patch 3 from v2 - use rcu instead of a new lock Changes in v2: - fix a compile error for md-cluster in patch 2 - replace spin_lock/unlock with spin_lock/unlock_irq in patch 5 - don't wake up inside the new lock in md wakeup_thread in patch 5 Yu Kuai (6): md: pass a md_thread pointer to md_register_thread() md: factor out a helper to wake up md_thread directly dm-raid: remove useless checking in raid_message() md/bitmap: always wake up md_thread in timeout_store md/bitmap: factor out a helper to set timeout md: protect md_thread with rcu drivers/md/dm-raid.c | 4 +- drivers/md/md-bitmap.c | 50 +++++++++++------ drivers/md/md-cluster.c | 11 ++-- drivers/md/md-multipath.c | 6 +-- drivers/md/md.c | 110 ++++++++++++++++++++------------------ drivers/md/md.h | 15 +++--- drivers/md/raid1.c | 9 ++-- drivers/md/raid1.h | 2 +- drivers/md/raid10.c | 25 ++++----- drivers/md/raid10.h | 2 +- drivers/md/raid5-cache.c | 20 +++---- drivers/md/raid5.c | 19 +++---- drivers/md/raid5.h | 2 +- 13 files changed, 148 insertions(+), 127 deletions(-) -- 2.39.2