From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from canpmsgout05.his.huawei.com (canpmsgout05.his.huawei.com [113.46.200.220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72351231836 for ; Mon, 8 Jun 2026 04:45:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=113.46.200.220 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780893918; cv=none; b=M4pz0AiaGSyiqWps3ax1SD9nPIuV+VfDr1A/zXjBbgUInGIHbEYT0+n4OIMxXi7dgqvIB+VcSqIpdkjR3u6ETg5cwd4vLms3JC+ZjkAkoM4JtvDja5TtjT1mOkunpOnUxa+xNXwA1QB/U2MvvjbkalGk1NU+42SqiF7XmuRVp48= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780893918; c=relaxed/simple; bh=T8Padahb5gi5W2Gk+WdJzuRC0dG0W+Qfx9+zjIKlbXA=; h=Subject:To:CC:References:From:Message-ID:Date:MIME-Version: In-Reply-To:Content-Type; b=dRfM7zOdt2Arcnqjmn2MU/YX/KCivP/n2fauOfw57H8ZpqGlJnF5g5BjIvzcQoKjcdIGINErSbHIs7/mTxTWkcF3rP8Iv3s4FBc03y7PYRMwbRW7HnfGxxLHkNWSr0CAjvjV9c+xAua3t9WvUvULjc8jgS6ac1USAry2mH3gUeg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; dkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com header.b=uWvOZujX; arc=none smtp.client-ip=113.46.200.220 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com header.b="uWvOZujX" dkim-signature: v=1; a=rsa-sha256; d=huawei.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=GPBQVFiZqsGhvAZlvcHfu4qK7Re0Y1M+TiyS11nNpL0=; b=uWvOZujX7vQs3FFyvLnOK83h2Je6WdPkFWDyhZnsDxuH281eLEKbrI6jffgzi1xJ9+7dXbgGV cpLh2ViQHH1l/wMU/Lg7JWSZRIi2RnHTIVH9FDD1q6TrG1z4t9eYZwIHsXWHcABnTqLhXr8e1ZB NFz8dL0LquVHNOa3nzU0i7s= Received: from mail.maildlp.com (unknown [172.19.163.0]) by canpmsgout05.his.huawei.com (SkyGuard) with ESMTPS id 4gYfQb3xhlz12LGP; Mon, 8 Jun 2026 12:37:11 +0800 (CST) Received: from kwepemk500005.china.huawei.com (unknown [7.202.194.90]) by mail.maildlp.com (Postfix) with ESMTPS id 80D5F40561; Mon, 8 Jun 2026 12:45:04 +0800 (CST) Received: from [10.174.178.46] (10.174.178.46) by kwepemk500005.china.huawei.com (7.202.194.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Mon, 8 Jun 2026 12:45:03 +0800 Subject: Re: [PATCH v1] mtd: ubi: Fix rollback for explicit UBI device numbers To: Yuho Choi , Richard Weinberger , Miquel Raynal CC: , Vignesh Raghavendra , References: <20260608040639.2616638-1-dbgh9129@gmail.com> From: Zhihao Cheng Message-ID: <52a0fcca-57ab-12b4-63d1-cdd648bf8254@huawei.com> Date: Mon, 8 Jun 2026 12:45:03 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <20260608040639.2616638-1-dbgh9129@gmail.com> Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: kwepems100001.china.huawei.com (7.221.188.238) To kwepemk500005.china.huawei.com (7.202.194.90) ÔÚ 2026/6/8 12:06, Yuho Choi дµÀ: > ubi_init_attach() rolls back module initialization failures by scanning > ubi_devices[0..i-1], where i is the mtd= parameter index. That assumes > the parameter index matches the UBI device number. > > That assumption is not true when mtd= specifies an explicit ubi_num. A > successfully attached device can be stored at a higher ubi_devices[] > slot, and a later failure can miss it during rollback. > > Scan the full ubi_devices[] array and detach by the actual array index, > matching the way UBI devices are stored. > > Fixes: 83ff59a06663 ("UBI: support ubi_num on mtd.ubi command line") > Signed-off-by: Yuho Choi > --- > drivers/mtd/ubi/build.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Reviewed-by: Zhihao Cheng > diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c > index 674ad87809df..90c5c83d90e3 100644 > --- a/drivers/mtd/ubi/build.c > +++ b/drivers/mtd/ubi/build.c > @@ -1317,10 +1317,10 @@ static int __init ubi_init_attach(void) > return 0; > > out_detach: > - for (k = 0; k < i; k++) > + for (k = 0; k < UBI_MAX_DEVICES; k++) > if (ubi_devices[k]) { > mutex_lock(&ubi_devices_mutex); > - ubi_detach_mtd_dev(ubi_devices[k]->ubi_num, 1); > + ubi_detach_mtd_dev(k, 1); > mutex_unlock(&ubi_devices_mutex); > } > return err; >