Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3290261pxv; Mon, 28 Jun 2021 00:54:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJUPNGiT6T1mvg3o810Tbyaf+Ht2/uqeWP0ssc2+0MXWE7Ow8TxmwDNaMmWBDVVET1NYkW X-Received: by 2002:a50:c907:: with SMTP id o7mr30673309edh.120.1624866847592; Mon, 28 Jun 2021 00:54:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624866847; cv=none; d=google.com; s=arc-20160816; b=unu9EKzNTNl/UGl9YgtLd2iy6bkpEdxJh2wuDzVowkeUQenyWttJEgAreHM9TBcRFZ u2jj7loAd6FWcecqUL9IONxfwyWNOEe+jJ4ThuepXECoX7w0412J6zH7T+inE1SZ+moP DLEqlu9sP5koqfe0o9vpnDNuygv9F72/Y+3subf2u7jkoNi98bVTKUFM0u0KmYCxIhKV pH2XmT0lqcUqs1ymdCFN8GqiwsjAP0nPRyXxqXo5d+32Xue1wM797K6Y5PXeaOpEXw3B Pbk0M0YruvAPGbwefMHNwusMkCmDDEattPRv5vE4CiBIfi6tYV61XcNcpEAmgE4kitXl rgKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=26Jo7b1uCcAsRn7cA2/UX0PAm6+96/bC+S5nPYvJDSs=; b=P0grffU6Pd0sWvqLq+e4gRfSScmYc8LjHA0KXWrrdlNUWNmyBl6y+/hmDy9VQB7uZc AIq6jeS7cs2G2YraGJu0VqPgPyXT+1pVswMSgh1Mk7lZtJGi7g47RX/RF67AXjudpCG+ mVFvTVTKsHEsBrjWoDt88MR5wksb8W2Qw7gaFSFf+CHgz+Sv9z2DjT5RcmADE+bqbO/u /UZelJvnV64azDYd5jgW4oQm83wIuZD63eY1+ibvmbezVNyFk2yRKpjb2LL39NdIRe92 LJllQWIJMxGtFRWekPEucGubkHsqy03dR7hFUNn8ECruxbGxTSj++dRfLnnQVozw6J+p DTMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="d/FLb0ur"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f8si12420183edy.220.2021.06.28.00.53.44; Mon, 28 Jun 2021 00:54:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="d/FLb0ur"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.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: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232330AbhF1Hym (ORCPT + 99 others); Mon, 28 Jun 2021 03:54:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229998AbhF1Hyl (ORCPT ); Mon, 28 Jun 2021 03:54:41 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 630CEC061574 for ; Mon, 28 Jun 2021 00:52:15 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id l21-20020a05600c1d15b02901e7513b02dbso7648068wms.2 for ; Mon, 28 Jun 2021 00:52:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=26Jo7b1uCcAsRn7cA2/UX0PAm6+96/bC+S5nPYvJDSs=; b=d/FLb0ur37yuvi/he3rJ4++VzOSF9BgsmO7AnOKJaMPVCqDjbfyONooNEP62zZFOlu 2NyFCToeZGGdFkXuf6bOuhgWGJD7Vc1V4GKMroCPY6Gz7Gd7CUh9IGASAPhP+sG1M1OM RGvibommRmMaBdxFs996P+K50jJGrgqOLdVhaEP7KqaU4XeWopFwzmljenckuB41bscq PRH2FvQ8zGpaTQaw7ylPTYUuQB9KI5ccN5aMXpto+GZMut7P62R/EMDSjHWADEvimZUZ /3I394wdpriRggUihQq42fGvGf8ej3ZcIu139+J5iq7Z+HrsHANwdL7aE6oXU9WOWyOx Xb/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=26Jo7b1uCcAsRn7cA2/UX0PAm6+96/bC+S5nPYvJDSs=; b=rk5oDWRlAcizPOg5EVzyywZZ/NOC5D4zkvxpwxoUGhMCMkPz8kDErzQ7gEN+J7yqEu N6CtsKQ9qa0YSM1ZJdNBVwmE3jRu1dAPjil55GctxHwsfmhp+WBvPvV74ikJ6gUszYHD bFl3CzDvh6MqXIjTPmIPuDDb5dUPLElGHaoIiV6BYMhFLzqYmvwm5JZjL7C5s6zof3TN 1S6POFqEi0f8UZyajGOlBvnZVaN90tU+U6EzAE0qH2M1mcOXDaFgvQlAGnOscX8rwMj+ 212+MnjzJGZTo065eNmRh1ECqG7VWpZ6KH4tC52ulgkno1UNQpeQ8IRCHRzjN5X5sc5C jltg== X-Gm-Message-State: AOAM530Qvhzsyx3tJnyEZRyHKq+rJAObXOAKZ0fDNemhXPbtmnb0iy2O 1Gdxxasu1J1GpnyVgLL5ICcfUM2XIng= X-Received: by 2002:a7b:c104:: with SMTP id w4mr24726348wmi.87.1624866733991; Mon, 28 Jun 2021 00:52:13 -0700 (PDT) Received: from [10.8.0.150] ([195.53.121.100]) by smtp.gmail.com with ESMTPSA id e12sm14094999wrw.34.2021.06.28.00.52.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 28 Jun 2021 00:52:13 -0700 (PDT) Subject: Re: [PATCH v2] checkpatch: Fix regex for do without braces To: Dwaipayan Ray , joe@perches.com, apw@canonical.com Cc: lukas.bulwahn@gmail.com, linux-kernel@vger.kernel.org References: <20210627184909.6000-1-dwaipayanray1@gmail.com> From: "Alejandro Colomar (man-pages)" Message-ID: Date: Mon, 28 Jun 2021 09:52:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210627184909.6000-1-dwaipayanray1@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/27/21 8:49 PM, Dwaipayan Ray wrote: > The regular expression for detecting do without braces > also passes when checkpatch encounters the "double" > keyword. This causes wrong recalculation of $stat in > checkpatch which can cause false positives. > > Fix the regex to avoid the above. Also update the comments > for the check. > > Reported-by: Alejandro Colomar > Signed-off-by: Dwaipayan Ray Reviewed-by: Alejandro Colomar Tested-by: Alejandro Colomar (is Acked-by/Reviewed-by implied by Tested-by?) > --- > > Changes in v2: > - Check word boundary on both sides of do > > scripts/checkpatch.pl | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 8d19beca3538..64036e7eff71 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -5488,9 +5488,8 @@ sub process { > } > } > > -# Check for illegal assignment in if conditional -- and check for trailing > -# statements after the conditional. > - if ($line =~ /do\s*(?!{)/) { > +# If we have sufficient context detect and handle do without braces ({). s/context detect/context, detect/ > + if ($line =~ /\bdo\b\s*(?!{)/) { > ($stat, $cond, $line_nr_next, $remain_next, $off_next) = > ctx_statement_block($linenr, $realcnt, 0) > if (!defined $stat); > @@ -5511,6 +5510,9 @@ sub process { > $offset} = 1; > } > } > + > +# Check for illegal assignment in if conditional -- and check for trailing > +# statements after the conditional. > if (!defined $suppress_whiletrailers{$linenr} && > defined($stat) && defined($cond) && > $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) { > -- Alejandro Colomar Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/ http://www.alejandro-colomar.es/