From nobody Mon Apr 6 17:32:24 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011052.outbound.protection.outlook.com [52.101.62.52]) (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 114D522F77B for ; Thu, 19 Mar 2026 00:44:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773881042; cv=fail; b=Z7CDwRx1qynNsuhm6v2T99Lkn/IdAKSqaxNZBv5vz0VjYb0m+a/rv+YAWxArjt/LIMAkNOKb+aDy6M9HHkOHPLPTODh5EGH2HJQ45pD8VBDRahgRFeQGcOTP2/p2OOr0g6fQoY8LlR/kke1nlWRZKoiLYxsKYQCthngVf8jcan4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773881042; c=relaxed/simple; bh=5x4AjPs7vzyKQ2kF5GRDtVCyEcu4cuNkCLyYPlj65F8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GsgmjpbX7TKnXmRLW5QS3UrKZIvpJIGaYVx1d6qBS96CKbS+K6loGRhIxx/xpGdzlEuu9HfuzsyG5N33/2wk3QmwknyEnxTC7+w/cUMZBkrUZVDeo5OWWp6KcHECC4xID45/MncZtvz0AN3O7VL86q/CiLICX0HmBqcuvoAoUN8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=LKpSHZfo; arc=fail smtp.client-ip=52.101.62.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="LKpSHZfo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Iro9MURY6QhcHZOF57Rrwrv4F1pELvOWFRcO7Ri+i4jKrNyv1EDazFdBCm4YNOCEgr/v9MsGXZlJHM3gVFfbeFT3Brr8bUjpT6nvTzUe/u3sG4oAJcBl+EI6S4L+s59J5XgN8e1iR/7wiJKW3hDsF+9TbUrqtuZuWjYo3aDtGI4xZOr5fGGS48M4xtEh1TTRZZtj3728SiZwqQYEggll4BqKQJGg07Kq4OoeL6j0NWc8BQd5Vh0S2dxjHUv29USQ7F0/GSVIRDr6Jzh3PJBaj/Xg2DP1Q/hSJFiy1Rj2AtRzisqNOaqniqO+p35c5ig4YCF5mgk0tAFsMuKf+Vmivg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CcCoKkBn0pTvtU8q+9JDSGom9IFoln0Twhw3PAnZlyE=; b=HU/aHOZ9jHRePyAgVSiqQCMngPdF11nxhWSSWa/nIYJnfSQ5RRo0p6SJpSpcVYcn1bwSZ7LEG4iq0U25Dkx5uEQz3OO0FjI59M32oJzf+9/s5KCmTDQ5ymsjjRdJu1crfNpWvlR1ZDzlpEzfbXfOuxHOg60uVFjASHK5f6v20DDSLClTJw8wD60OrgtF5SzwwvJha0sPxUIVkA6DAxy97oLhL0Nh4dOHnY1b7w7BDw7g4RvSXadj5SLIKFP9sqZ21hFxKz542IRPubvBGxEKgjC6SE2EVwUyln2rVzGMK1xvbSrJJ8t+vgiKIUwpjdYpHXZmmKtKJorQyMzoU7RhGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CcCoKkBn0pTvtU8q+9JDSGom9IFoln0Twhw3PAnZlyE=; b=LKpSHZfoAU4ptY5PmQh9Y5wFhF/chAIfmyhxs/OWJE0ISwVhxK0oPVnNQlRwLnZBEZT7V0ETDM5ZrhG4Gg3MzIvL0K/QmRQYz2cKDhdGe4+RZj8zYaHYsxCn8rkJ7oMQwruFmEA+4Et4kH/MHeUvY3WdVP0StXps0yiQDQt0Hp1p3Yg58hBe0hxrdGLZYZNFtMr9YXW5yTxtJ59+TorseJrmpebl3KQcgL+1rUtCG51NrdUXSqnnit/e8WByz20ops9lNAgWgyHRjN2MPxT9+wWyHVWrqTQPu/7NpPIlpqF6bj2K8Ksgh8B1dZx4x+7YYC+lp0yzxmFdW1VErLaBMw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by DS5PPFEC0C6BDA1.namprd12.prod.outlook.com (2603:10b6:f:fc00::668) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.16; Thu, 19 Mar 2026 00:43:57 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9745.007; Thu, 19 Mar 2026 00:43:57 +0000 From: Yury Norov To: linux-kernel@vger.kernel.org Cc: Yury Norov , Yury Norov , Rasmus Villemoes , Andrew Morton Subject: [PATCH 2/3] bitmap: exclude nbits == 0 cases from bitmap test Date: Wed, 18 Mar 2026 20:43:47 -0400 Message-ID: <20260319004349.849281-3-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260319004349.849281-1-ynorov@nvidia.com> References: <20260319004349.849281-1-ynorov@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: CH2PR05CA0036.namprd05.prod.outlook.com (2603:10b6:610::49) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|DS5PPFEC0C6BDA1:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e76f9ac-3244-4b23-cb04-08de85509aa4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|376014|366016|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 7T3OWjSlJap1mwWdfW2RouQ0rEcqVwVsDRToQ2D27nPJ44w9g1/0ZgSN6K6SfJqR0C9T52LzZWkoi31p665D4hucwY3rcfRlntMT48/VVK2X1GhLnRzAc9bKPO3uLMcXXaXZYkV7MwzoPvIwAaUvaFfIzL+aiVwkppwcgUFvLdn4OGC9XbSg/nATuvaHDksSkWnAIAEpUvhJVzdHC5aQb0WwfBHwRzWKI1glMyiH79tycyDv7ZDbljrgMm7SeRtzkBi7djb9CXJ/ql/mS0S3tIQSeAKcwou+YdMTelLd3gqdWdDPXimwyPrIX/G37N+Z6dedA6IqD3Ccjso0O7wGamrK5XkUUcyPrUXc6QbtUHCHPmuZ9a0YvFawf6/DUY+t11eOLSqO5P6lCzQNZ4QHhKwwEvrUHZzk7Mrkjp3KGDfOsub1tj/lQfm/4XgPwOUL09/72VTYgnMwtmrVMrbYxzMCud19MykCj2EIrkNV3bOUdWufIALJU4WCQdQFC7w0hd60V37Rcr8nKbLXgXJbT0HqGHv0trnMqtIqUrf/iCpr3F0TB+5iL+n+PwqUlxdMMDMnsRorHY+ErU/Y7B5j28TdSqf9V+D/0N2mIZre62jR09pGDAjbIL5USxT6//Kr3wMjEc+NXRv/ZU1kK0mTL9eh39QJAxJj8h5w86+o454atUiJzmUJeYm80N8EKXLyy5w/K/TN5Hdm20u3n11HW60QEh+mEdPu1dJsuqQvRCk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(366016)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7+72O7F1evMoLvp9pwEETkJf9r38xHV0sv+SDayC26ozOY1Q4MmXQEkG2S3d?= =?us-ascii?Q?cv5L0DkqzcZKohYW31lRTGbxT8atxVUS/ED3p0ajGzx5EKwMg5xfnKQld/EC?= =?us-ascii?Q?rcGbie7kTWpofnLQyIAtQJfSDQ8llYlKvIG/aZk1htzJ6unny906XtEPu4hq?= =?us-ascii?Q?vceCZmAhXUCQi/JqpLBwJ+jq40iZwkZ1L9YFdy5gLQ2HVCQOSQ796PtgI86F?= =?us-ascii?Q?F25YlAtYkxyV2hbiG+lGloFWVBNgd5uCovk75LO2KxsuveOdzlTkbfl2VLy4?= =?us-ascii?Q?V6yleWzYfLs1/iFW88xt1yMJ3HFuWxuctMn6b8XZYbTGHc9mcFGDbjxsw0kS?= =?us-ascii?Q?jOkY/D6n+Wrtz/Hip+cdsu5q8uG+jmWj93/WgHqjeDP1cDA5I7zzq71LdoQa?= =?us-ascii?Q?oCe1EWPGqmxOY2XqCZvGblZMqO9EFjGa8nwe3xjcNsPre7ONjmaM8vYyQbe0?= =?us-ascii?Q?lcyEB9OtJrhO+DkfU4HMBphpJ5Bwq8ehcLjvxblBvw3LmHkNOaIAhiOuKoU+?= =?us-ascii?Q?aYfLr4wURK38/FaWrDl63TDbDQGKp74qvXUD1rLQ8XYP1C6Sls7W9otNQIkK?= =?us-ascii?Q?ydtzN0AlXCwrnTpnvSCeSE+t8oD2X/xhefk6YO0ToxjX6pXe6YRNHyBQbE2N?= =?us-ascii?Q?vsKnYD/lk4cXx8hj7eGCkvANG7bV/jzpxM3UXrxJbenAZ1RbPekXiFQr/KB7?= =?us-ascii?Q?C7ZbzaALOxsCH8NNuZvBkucbN83OaOl5JzibcHvnLSz5Xuu3uXl5EmA64Paj?= =?us-ascii?Q?6SWiELRkoXjG8nlxorYjjs2sPkBFYEcko0X3cuZNNdptehAGov4EQzbG5xfS?= =?us-ascii?Q?Vc/wEP9uazQpTKD0183zseRZZlzeZB2rtGCLOBIGe0LAWXMawlFHWVhMOpoW?= =?us-ascii?Q?0DUQn0vK5ImVcK4EUYa/xIvfxHgcCBuecddO/+GBwnF3WIMdIS5rq3vutTYw?= =?us-ascii?Q?5ca7vh9F5tczAsefm9SJIeTt1DiwgvFHr6X6+Rwtq78kpvqDb+ZA37WFwljw?= =?us-ascii?Q?kUYEX32e3Z83eZbeQi6pIoXn5XX6inHdPAl+RzvAAo/4idB6nmBdINSVOUn3?= =?us-ascii?Q?giRgvoZN+cv+5NMrbZkF7nMxkvxpc3+so8g1WXrwKDmCI1vDwbEUboeM1UcH?= =?us-ascii?Q?x0TpYC8q7lpxTOOQTAhogfS5EvDB2kI4q9eMvpbBEOfbkp0yM3N32Xm0arLR?= =?us-ascii?Q?55eBEHwx1lbyUP/TqkwMBTMxLP+9oQ3SCTnLMzOdLdSNcUgMHdB+Mcuok2L0?= =?us-ascii?Q?sIaNrG4T8CKbyGgDLJVLPFYt6FXyAKxToukjbUZcSLJtBqNgQKOXwqhH0eWk?= =?us-ascii?Q?g6+cdSqLAzaWUdDo+rhgyZ0S1YnZJMaNZjcoowMo77NQbvrlzEd855HMOjZ9?= =?us-ascii?Q?Sr1Yr3zb3tA+OWZzfW2RARNqIr3vCzNRzSDqkxd7TSNp06XdsAgj+3zS8ie0?= =?us-ascii?Q?1IYMjPNLXDRmHX0T3XpPRtZa6i3/SSx8AP2rInt7mBX5VlYTQGGpOtXTsPQW?= =?us-ascii?Q?UTkz8ktXvcS7YwMDUVPVXfWG6yuomVE8YR7vIjqyyEyCEiBawE2jcV8v4rDc?= =?us-ascii?Q?5veO5MDQnyOXUZmEa1dSDq+Zn437pWTi9fv1OIBTmJ8EF+hScUs+T1EFBtmS?= =?us-ascii?Q?jN8SrwChQOibs5NZauI3sKZLOvceTVh+/XCtDmfn4tUEpIbkF+dxBWsALfNA?= =?us-ascii?Q?aDwZKa18L1je9hW1sbO+FqLKhgq3wo99A6khqTlpnjed/V6swSerjUlc4PD1?= =?us-ascii?Q?RHAk/hlDam5N/RnsRYPZSuU72KuneZWaCvxdogX/yQPfsEcvh6T/?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e76f9ac-3244-4b23-cb04-08de85509aa4 X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 00:43:57.3471 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VrIorwpWvBnRQkxmRwAt+xpp5HPoROXEFGLvTwCEVztOiRKt3AxjDH4hPtsRuFp7FvXTh247D2QXaWj/g3FplA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS5PPFEC0C6BDA1 Content-Type: text/plain; charset="utf-8" Bitmap API handles nbits =3D=3D 0 in most cases correctly, i.e. it doesn't dereferene underlying bitmap and returns a sane value where convenient, or implementation defined, or undef. Implicitly testing nbits =3D=3D 0 case, however, may make an impression that this is a regular case. This is wrong. In most cases nbits =3D=3D 0 is a sign of an error on a client side. The tests should not make such an implression. This patch reworks the existing tests to not test nbits =3D=3D 0. The following patch adds an explicit test for it with an appropriate precaution. Signed-off-by: Yury Norov --- lib/test_bitmap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c index eeb497016ed3..b6f27c632c75 100644 --- a/lib/test_bitmap.c +++ b/lib/test_bitmap.c @@ -653,7 +653,7 @@ static void __init test_bitmap_arr32(void) =20 memset(arr, 0xa5, sizeof(arr)); =20 - for (nbits =3D 0; nbits < EXP1_IN_BITS; ++nbits) { + for (nbits =3D 1; nbits < EXP1_IN_BITS; ++nbits) { bitmap_to_arr32(arr, exp1, nbits); bitmap_from_arr32(bmap2, arr, nbits); expect_eq_bitmap(bmap2, exp1, nbits); @@ -681,7 +681,7 @@ static void __init test_bitmap_arr64(void) =20 memset(arr, 0xa5, sizeof(arr)); =20 - for (nbits =3D 0; nbits < EXP1_IN_BITS; ++nbits) { + for (nbits =3D 1; nbits < EXP1_IN_BITS; ++nbits) { memset(bmap2, 0xff, sizeof(arr)); bitmap_to_arr64(arr, exp1, nbits); bitmap_from_arr64(bmap2, arr, nbits); @@ -714,7 +714,7 @@ static void noinline __init test_mem_optimisations(void) unsigned int start, nbits; =20 for (start =3D 0; start < 1024; start +=3D 8) { - for (nbits =3D 0; nbits < 1024 - start; nbits +=3D 8) { + for (nbits =3D 1; nbits < 1024 - start; nbits +=3D 8) { memset(bmap1, 0x5a, sizeof(bmap1)); memset(bmap2, 0x5a, sizeof(bmap2)); =20 @@ -873,7 +873,7 @@ static void __init test_bitmap_weight(void) =20 /* Test outline implementation */ w =3D bitmap_weight(exp1, EXP1_IN_BITS); - for (bit =3D 0; bit < EXP1_IN_BITS; bit++) { + for (bit =3D 1; bit < EXP1_IN_BITS; bit++) { w1 =3D bitmap_weight(exp1, bit); w2 =3D bitmap_weight_from(exp1, bit, EXP1_IN_BITS); expect_eq_uint(w1 + w2, w); --=20 2.43.0