Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp5553198rwd; Mon, 5 Jun 2023 05:31:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7MIyZOVmlykyvW9Gi9wO7IKAY2dNKbAyRSi1XXqXr9xbB5KEdZNmfRz75q9msVyo301qcf X-Received: by 2002:a05:6a20:4390:b0:10b:6b1f:acf1 with SMTP id i16-20020a056a20439000b0010b6b1facf1mr2457631pzl.29.1685968284756; Mon, 05 Jun 2023 05:31:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685968284; cv=none; d=google.com; s=arc-20160816; b=cjCi3DppKSNsmnhAh+8NcIPSwEX0gDYlddd9y8qTsUSE3nHtB9Z8Kaqe1Jvslu0m4X +6HJ3grmb0ffH3Kxo2suy8NpWHb1+hsPl6Lxm4slIaseg6UJtp5CwKpalFRnxMfhJmfp HIr++w1DXfyGungmST574CyoyeJXuDg1FkTGoxtE5IBfZIj6RSBF17tloe3evNRAclTL MWWmBln/5wupkMSsDeezIxr5ip/qn8TUraIqugfxW0k4WPf1eXLDruYX6plmbZNZ7e7y HNXdbiBEdYPWXbTSoTHhZr48yfA4EEFXENx0c818KUIyCPB7wLYGG/KbeXs6U/hNFLD8 S8VA== 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=2s5sFVt4dwNO5cZa2+jkQACYYmhJtZ1V+xDa7Ll7FFs=; b=CHDz1JRL+wvXYOm54wPG4I2HrKCbS/WHqYpGZyOKrEaCepmPir3EdnHqz/EeMMELcJ 9FitCSnWUOxnC4eQHRnTInEWVQ9Cp315XYH0rMj17pb8c7X+coVFO+rVzOHMxunXdErK DpCTWBiBeDuVokUwQCmeUupsiewWOzrNR8FQGl++V1YS6eF60YZgObvTMIfO+f4lv61V 4Keg5vM5xelZrY9k3jvT5fwqYHAk2FgY+ER54GG+qqI8SnmOC4KrZQl4DyvQVZwAcqjK wi309f0+RlZUG1nVQOS5on0cQRPEmJt10tz70wNtuA4prDfLVHJ2TfYQ/wJwB1bdBGMB I4Tw== 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 m14-20020a637d4e000000b0053f24deef14si5391490pgn.319.2023.06.05.05.31.11; Mon, 05 Jun 2023 05:31:24 -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 S232828AbjFEMYK (ORCPT + 99 others); Mon, 5 Jun 2023 08:24:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233392AbjFEMX7 (ORCPT ); Mon, 5 Jun 2023 08:23:59 -0400 Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E3C0A1; Mon, 5 Jun 2023 05:23:53 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4QZXpD6Ks9z4f3lXJ; Mon, 5 Jun 2023 20:23:48 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP4 (Coremail) with SMTP id gCh0CgBn0LPU031kd577Kw--.18844S4; Mon, 05 Jun 2023 20:23:49 +0800 (CST) From: Zhong Jinghua To: josef@toxicpanda.com, axboe@kernel.dk Cc: linux-block@vger.kernel.org, nbd@other.debian.org, linux-kernel@vger.kernel.org, zhongjinghua@huawei.com, yi.zhang@huawei.com, yukuai3@huawei.com, yangerkun@huawei.com Subject: [PATCH -next] nbd: Add the maximum limit of allocated index in nbd_dev_add Date: Mon, 5 Jun 2023 20:21:59 +0800 Message-Id: <20230605122159.2134384-1-zhongjinghua@huaweicloud.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: gCh0CgBn0LPU031kd577Kw--.18844S4 X-Coremail-Antispam: 1UD129KBjvdXoWrur4rtFW7JF4UGr48Kw17ZFb_yoWfWrg_CF 18Cws7ZrZ3KryfCr4ayryYvry0yw1qqF48uFnIgrWfXay7AFn7W3ZrXrZ8Zr1DZFW7urZ5 Zry29rs7Arn7KjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbokYFVCjjxCrM7AC8VAFwI0_Gr0_Xr1l1xkIjI8I6I8E6xAIw20E Y4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kEwV A0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x02 67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I 0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40E x7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Y z7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zV AF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4l IxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s 0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsG vfC2KfnxnUUI43ZEXa7IU1zuWJUUUUU== X-CM-SenderInfo: x2kr0wpmlqwxtxd6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, 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 From: Zhong Jinghua If the index allocated by idr_alloc greater than MINORMASK >> part_shift, the device number will overflow, resulting in failure to create a block device. Fix it by imiting the size of the max allocation. Signed-off-by: Zhong Jinghua --- drivers/block/nbd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 592cfa8b765a..cb38477f359f 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -1770,7 +1770,8 @@ static struct nbd_device *nbd_dev_add(int index, unsigned int refs) if (err == -ENOSPC) err = -EEXIST; } else { - err = idr_alloc(&nbd_index_idr, nbd, 0, 0, GFP_KERNEL); + err = idr_alloc(&nbd_index_idr, nbd, 0, + (MINORMASK >> part_shift) + 1, GFP_KERNEL); if (err >= 0) index = err; } -- 2.31.1