Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp440453pxm; Wed, 2 Mar 2022 19:31:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJx3KH77hhCmEZRIQ6X1RJaemHeGApG/5UYW91tAD4E/Vvg5TbDTCC2ZWcYgnRzrntU64TQh X-Received: by 2002:a17:90a:e606:b0:1bc:4c56:b31 with SMTP id j6-20020a17090ae60600b001bc4c560b31mr3082236pjy.49.1646278308810; Wed, 02 Mar 2022 19:31:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646278308; cv=none; d=google.com; s=arc-20160816; b=DvQOzVKT0lAHGOpg4vksSOn8AlKnb7qOfiZ6EtlQJzH08ZNesRP8QM0oWXzgfmU6KH WPVoU/2tcPkjo5/PEH1SnPRZO8dnjyGmYtxdkWccSqd90W1EdYNXcvBCwew+l5V/FRTD rVRfrylrceQSrEfj1AbixgcXxD6o7E2tRXY4V97ra/HcL9ZytrJR2FEcf5YfGzPVxJlL BcM/CosmhyA9LqBEBE0KtVIJWDBGeZuopRG47zY2oBkMMhNxt19vqP7p2i3UY4+FiYoM tgCf+FCUNaTjk0qUjb5gqOzonOMUZFuOxVvJVcvjYyKobNRDHrNRlank0J4pUvL1dQYO EpXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=pGBvvXv0+bIemEpOMWx5hDUzr2X3HaovG9ODW4Gck18=; b=SBr+tAXA1uGk3N+q9g6a1TwO4B6KalxFXoUeGbP9M504c8qmJTUbMjViI2WSTGbp4d 0ptHeN3t/+8qF01y9Xp5G9OmRLy1FuWcVkg+l3TmUopw60PFxFE6K3GY1ENPilxcYk0A YkmA7LdwAjEZTRJMLIE94vuVHt/sYg1aZTobjlaO9cVZwFmjnYXlF1fovgKN9M/Ax52u kRiZaGGSIlrtU8CiTM5kn6EAaWwtgQIJJ3xA5AYCOCp/y1SEOy1wWFj2asb3KFudAI0I dSV7w+tiE3dEk9+jGpix5U/j8Rl29LnwQyEYZgdWJQjkd2RqEKsD34zuXpWwAe88gVwa 1zcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=howYcMrV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id q18-20020a63cc52000000b00374408aeb6esi921825pgi.306.2022.03.02.19.31.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 19:31:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=howYcMrV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5EDB5205F0; Wed, 2 Mar 2022 19:31:47 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229531AbiCCDcU (ORCPT + 99 others); Wed, 2 Mar 2022 22:32:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229446AbiCCDcT (ORCPT ); Wed, 2 Mar 2022 22:32:19 -0500 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEA7D205F0; Wed, 2 Mar 2022 19:31:34 -0800 (PST) Received: by mail-pj1-x102b.google.com with SMTP id v4so3556741pjh.2; Wed, 02 Mar 2022 19:31:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=pGBvvXv0+bIemEpOMWx5hDUzr2X3HaovG9ODW4Gck18=; b=howYcMrVhW/d8Do6Nlm4w4Jt7BHLOLV+2YwJgPe7YI2G3oBIPY6NNsjLmmzuUE11IW s/AWRMmIFli6RvC1P9MjBDurn+s2BLxshmG0WYZdG1sX5zdBg7R8gzkacLFq+PWjbMS7 deH/AMz5iLaIP69PXbUtgGA4iJtFfyTiCa1O6dwgawKp329pJUx5boFzPPTviUUartB5 usR9YAwoJ/ZU8CSd5U+oQlFjZIufd/wtVhWz4jdcENMMZBfyKD2OQaJRgaqtiRzb6Alj Q+IIrg72P8uUE19PrSWFqvXu18a6k4+/UwEf6Cs8SNddraR4zLPcZcNi+5Sf+2nLNela pzSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=pGBvvXv0+bIemEpOMWx5hDUzr2X3HaovG9ODW4Gck18=; b=fUTmliX49S1X6I4sU/Z8S36zgqdD63iQYYfBZIOyezfjmhVphrnwh9779rNK0SafyK eOaxqoM/wtVM1I4kzw9cHIlIynB2+nq8ZPBdL+eARmMEshq6WuXTnzTjZPNqZ7Qix4UL u4XGWknrvm7xTth6EU5/wiTNyiI0FaTUpTEvjFtLlYxFgOhPzkJfqREtRg1K/jZ6j+h3 e88/F5wyxfO9n0lK7TtO4CoBZ2N4GZyoNfCyVV2JT46t7QnDgSDCVRiTf1O3mXanQqE3 OtAmub+c41yW7mmnLVWFv8SG0Dq4/tKVk6OugJfSLF1iz4MFrzropk0/r19OmLecvb5I bo2A== X-Gm-Message-State: AOAM532P7IJbSwSS4tpGeakkzmsaJE5FZnaZBTJF58NYnA9sx23PbNOk C7XmGzClcATXs77nfKghNv8= X-Received: by 2002:a17:90a:7147:b0:1bd:24ac:13bd with SMTP id g7-20020a17090a714700b001bd24ac13bdmr3147872pjs.70.1646278294550; Wed, 02 Mar 2022 19:31:34 -0800 (PST) Received: from ubuntu.huawei.com ([119.3.119.19]) by smtp.googlemail.com with ESMTPSA id ot13-20020a17090b3b4d00b001bf0b8a1ee7sm566981pjb.11.2022.03.02.19.31.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 19:31:33 -0800 (PST) From: Xiaomeng Tong To: james.bottomley@hansenpartnership.com Cc: arnd@arndb.de, gregkh@linuxfoundation.org, jakobkoschel@gmail.com, jannh@google.com, keescook@chromium.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org, torvalds@linux-foundation.org, xiam0nd.tong@gmail.com Subject: Re: [PATCH 2/6] list: add new MACROs to make iterator invisiable outside the loop Date: Thu, 3 Mar 2022 11:31:22 +0800 Message-Id: <20220303033122.10028-1-xiam0nd.tong@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 On Wed, 02 Mar 2022 08:02:23 -0500, James Bottomley wrote: > pos shouldn't be an input to the macro since it's being declared inside > it. All that will do will set up confusion about the shadowing of pos. > The macro should still work as > > #define list_for_each_entry_inside(type, head, member) \ > ... > > For safety, you could > > #define POS __UNIQUE_ID(pos) > > and use POS as the loop variable .. you'll have to go through an > intermediate macro to get it to be stable. There are examples in > linux/rcupdate.h The outer "pos" variable is no longer needed and thus the declare statement before the loop is removed, see the demostration in PATCH 3~6. Now, there is only one inner "pos" variable left. Thus, there should be no such *shadow* problem. Please remind me if i missed something, thanks. -- Xiaomeng Tong