Received: by 2002:a05:7412:37c9:b0:e2:908c:2ebd with SMTP id jz9csp2795689rdb; Fri, 22 Sep 2023 08:34:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEbOZ3o9KC9r4ZrINBjJyB7EnqUM9Zz9kAvialtvV7OFgZPcaE5dzRBfxItzGVQ32Koq3gu X-Received: by 2002:a05:6358:e91e:b0:143:9bc0:a975 with SMTP id gk30-20020a056358e91e00b001439bc0a975mr1064937rwb.7.1695396879616; Fri, 22 Sep 2023 08:34:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695396879; cv=none; d=google.com; s=arc-20160816; b=a+NdA4PvNVQhvEUVBGGOKiwimZCmNR4BvCqR7YEiV0Gy2BtnI31WPFqe8/pPGv6DpD jvZ47uRlN/Ae7vOFf3gy8mGRW4S9lYck14VQbhOPclxmsw9VR/+6ckCyY4A/5CVP8IuJ 8ZLs50VitshopmntJ2q1P8WEURCtFavH7IK16R6u3OxOZ+0yBWtPwWjABYf6730+7GPv lQTEoKvka3JS04e/PpYWhBKchtMjRpNYCI6cUqZzFXwmXaKAZAWazd9TvF3gE+2bMnmf FNqBj3XX7m7IRgRARV35gsmLYIHfDCkzD6J/07RCk92r+tPufrolN6rO2mtGxPrZhj31 gI5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=yEXXxtAaC4ky8k28Oo7NrqKscKudBPHppqHeDnkzTvg=; fh=urf2CpNwGIH+fSBXFSu5vnGMglDa1qoR4SAHY43CO0Y=; b=cgNFbmWPJwCvp7sUVkSqoOMXxXRit7pln6nLeR3AseFV5jZl3Wz4hdUWGajQwCickA Yop58NGX9+XHDkDidn9N9p5i8hZpOn/6Z9ZGM4/iDh7MmIGaqNQ53rhvJp0FV5W7cy0/ CC04GPgs5BNKZb3jGwpNfs5eU+XyvL5840NZi4lwQzPE/qsFgc+BXwH+bbNdzZRDq2At mhZRFxVqhlni2MhOdHb4W75J/5/1xIfJ6mo7Stw3RNieOa2DNjbBZT8XDqc3tROMrmFW HM2FQwRySAF0+bsAZQN8GuFLIDZsKHMjL/qvFnmL9XhgcSatbGQujmdKfZkPMQJzeAnz BpDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=k4fZbfn3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id r27-20020a63441b000000b00578db6172fdsi3820500pga.325.2023.09.22.08.34.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 08:34:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=k4fZbfn3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 9301F83868D3; Fri, 22 Sep 2023 06:30:59 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234062AbjIVNav (ORCPT + 99 others); Fri, 22 Sep 2023 09:30:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234105AbjIVNag (ORCPT ); Fri, 22 Sep 2023 09:30:36 -0400 Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72EBAE4B for ; Fri, 22 Sep 2023 06:30:29 -0700 (PDT) Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-5789de5c677so1583434a12.3 for ; Fri, 22 Sep 2023 06:30:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695389429; x=1695994229; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=yEXXxtAaC4ky8k28Oo7NrqKscKudBPHppqHeDnkzTvg=; b=k4fZbfn3dmTkpr1eKlDOJkRvrU+ePBeJ3+G6SxEVy3q6mef4KlqzAuDiFgFsb7MY33 c0zptYb/mnn2SA1wtTaFlKK2YKqA8yTlmL7a0gOEPpfBKkPyYe/mQMgwfYgeYFa3CNGM jsbLYAxtm+HMf+Ib3fFrAFHq58GlXUENz7HL62YeFfITloRmTgFyWbg/48yetwwCcMyv vOoEZ7vNc4faLXbB+fwWaCWvYCNo+c0KzCrTs8xAB8yDv+mpDi2QyTKO1LjgF+lVviKb igVdO4yT++WRVDRfEfEXDVzRLtzOyZhr7Qqqrz0sW0QixnXzN4xOqWvdrn8dhDq8V+M0 GN6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695389429; x=1695994229; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yEXXxtAaC4ky8k28Oo7NrqKscKudBPHppqHeDnkzTvg=; b=jQknHRaTNzZulxN0Q89N94lhJvCiLNFr0/Rr+leTMeLv17MNAlFT6HYECadvdGWEQn R2DsIyy+ZsjwQQa95BqKT7sjmRqVHfCJRPK/dUEIjAvA0SlwINRQu/b7QySa7og9JHVM 8uZ75+Beme/T3yJhkiyIsBbHPVsrQMwaaERwKpqGHLjZ0DC/vadNjcxiN5Z3LF29RnIK J0rvNh3hkt820GuJNYk+Qs2TqyQiomNbJzLeD8uCFdbV0MlWY6m6Blek016/mDx0L4V1 ZWL/wx+V+7q7PW/1OHo5sv/FrBnIDpk86FEnWLvDHL/M6Y5c+ferzEcXSjuiKtNxhIml t7Zw== X-Gm-Message-State: AOJu0YwUONSG3sDSNMghSnXiJZgL81U3E0DyUwsiL1E4TGgb4QVfIOvr RZzgY8AxnBD3yHkvwfTiUwU= X-Received: by 2002:a05:6a20:428e:b0:15a:478f:9f2e with SMTP id o14-20020a056a20428e00b0015a478f9f2emr9656017pzj.1.1695389428733; Fri, 22 Sep 2023 06:30:28 -0700 (PDT) Received: from localhost ([216.228.127.130]) by smtp.gmail.com with ESMTPSA id j21-20020a62e915000000b00686bef984e2sm3148424pfh.80.2023.09.22.06.30.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 06:30:28 -0700 (PDT) Date: Fri, 22 Sep 2023 06:28:14 -0700 From: Yury Norov To: Alexander Potapenko Cc: catalin.marinas@arm.com, will@kernel.org, pcc@google.com, andreyknvl@gmail.com, andriy.shevchenko@linux.intel.com, linux@rasmusvillemoes.dk, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, eugenis@google.com, syednwaris@gmail.com, william.gray@linaro.org Subject: Re: [PATCH v4 2/5] lib/test_bitmap: add tests for bitmap_{set,get}_value() Message-ID: References: <20230720173956.3674987-1-glider@google.com> <20230720173956.3674987-3-glider@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Fri, 22 Sep 2023 06:30:59 -0700 (PDT) On Fri, Sep 22, 2023 at 09:57:32AM +0200, Alexander Potapenko wrote: > > > + unsigned long val, bit; > > > + int i; > > > + > > > + /* Setting/getting zero bytes should not crash the kernel. */ > > > + bitmap_write(NULL, 0, 0, zero_bits); > > > + val = bitmap_read(NULL, 0, zero_bits); > > > + expect_eq_ulong(0, val); > > > > No, val is undefined. > > Why? bitmap_read(..., ..., 0) always returns 0. Because it's unexpected and most likely wrong to pass 0 bits. We guarantee that bitmap_read() will return immediately, and will not touch the memory. But we don't guarantee that we return any specific value. It's not a hot path, at least now, and we can spend few extra cycles to clear output register and return 0, but user should not rely on it in any way, especially in a test that is intended to show an example of using the new API. Consider a less relaxed environment, where we really have to count cycles. In such environment, we'd return a content of the 1st input argument, just because it's already in R0, and compiled doesn't have to: mov r0, #0 ret