Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp880033imj; Fri, 15 Feb 2019 08:17:48 -0800 (PST) X-Google-Smtp-Source: AHgI3IYf//v4/g2bMvOTuW+CgJN0jg6IgwLGqOu4g9SlnC+iAt57x+Acq8gK81DHWRWMmd5yEwYX X-Received: by 2002:a17:902:34a:: with SMTP id 68mr11191590pld.268.1550247467956; Fri, 15 Feb 2019 08:17:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550247467; cv=none; d=google.com; s=arc-20160816; b=eliqzAkcTye2OAs6A5UxX9JtOy3TjVKzdMuWLBWuFr1dXCFlYsr8AcXXR5Um6Hc7F+ zq4GN497AnE3JfsHADwRf2H4yq9m+9AqUsn5tq2E7W/kpmTtJxikrdyfwgv7jGhi0RhP aMJHwHbSGTtONPlNK8ItwBh1CedvSlcx+w4nmxqwj3ntjOdNSd98yEsQPjXQ4FSbEa/e WLC+XtRCjzEtiYSMQWiRUpFEDTHjkdBfgOQXk19iV+UmNywdsYivPlPxtg79JDYpbbl6 PtCaJQLuMeIC4NPzfyEYMRh4JysAuqX1QksFLPugPDhVHWEcu/+Ckh3A2JrpJUjsz4MS cfFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject :dkim-signature; bh=9YdofUq4tZSyJmJmix7qMlmzzDK7Q1c0BiQasLl3DOg=; b=STLDV/y+oDf3FmpxdZ+9TaeycrgkOMCOIhS+HWv5SRmet/ubHTVWLjFv8q5sHqOh3j xCKmUiFM5yuSRnDDAgmFj3ZKUtVHJrfPGYu1DIlT6dko2nQVNqvtkrONxlXdBhBFZlii yoJxKoP+7mxm/DV37Y6Mbx5eU5F9c2wk49ed1DAT69ngeBeJrFUQ+eWMRjkoLsbf8HHD f5ZY+ImkzeSY/sS9O3iA45m9N9g41kOFziErecvg6xkadEzTiZIumu7tLr1+Bbh/6AW9 ZK+9tts2zvRXvjQzGMEtx5X53lRUloRhkIa6LrrQ8q2ZYleXBGvXbPeRinS/SbYVWr9u ubTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@web.de header.s=dbaedf251592 header.b=dDsQjdCt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b26si769964pgl.539.2019.02.15.08.17.31; Fri, 15 Feb 2019 08:17:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@web.de header.s=dbaedf251592 header.b=dDsQjdCt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2437060AbfBONPu (ORCPT + 99 others); Fri, 15 Feb 2019 08:15:50 -0500 Received: from mout.web.de ([212.227.15.14]:43213 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2437049AbfBONPt (ORCPT ); Fri, 15 Feb 2019 08:15:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1550236531; bh=xqkyQ+YhG5IqJCO4gSCu7q1tZ2UIAef868u8p1HzH04=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=dDsQjdCt55z37szTlXstGMmrKUB5hkYt7NVWyFZP+jiBB9Iclfrbwc6a52yjwtDcC AGAKLa0bjFtgVvTpuzDq3T4gL5sUUO1Wss+XENjlcNQleDg/1lHeFkne/0ERPaRWip W9duPp/h3ZXIIQySIM59btnRPRM7VLQDHHYAszdU= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [192.168.1.3] ([78.48.88.109]) by smtp.web.de (mrweb001 [213.165.67.108]) with ESMTPSA (Nemesis) id 0Lvk56-1h8oAB0Mhw-017X9n; Fri, 15 Feb 2019 14:15:31 +0100 Subject: Re: [v5] Coccinelle: semantic code search for missing put_device() To: Julia Lawall , Wen Yang Cc: Gilles Muller , Nicolas Palix , Michal Marek , Yi Wang , Masahiro Yamada , Wen Yang , Cheng Shengyu , cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org References: <1550217319-40418-1-git-send-email-wen.yang99@zte.com.cn> <94e4b3e6-87a4-aea2-dfef-44d308f0fb4f@web.de> From: Markus Elfring Openpgp: preference=signencrypt Autocrypt: addr=Markus.Elfring@web.de; prefer-encrypt=mutual; keydata= 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 FEE= Message-ID: Date: Fri, 15 Feb 2019 14:15:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:Esi0larYL4GME7EMUpqfWayflZrM9B9Kdmqq0fUcDQG4gav0fDS U9Zcm5hM5uVlGqldg3Ofq2beQujym5k75sKfj8VGmys7WzCWtVT9JegAytfE/LBaxaPAlBk EXPfsxSJQWRUoMWDqVSFJzBDjv09BbVsQfufqVV5PSI0q8xLl41LjYCX2/p7cvR5JuM9sI+ aEIwA6pOLENWbg7Am0dcA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:sFvCHeveDVQ=:wpzg85xMtWAdToon0XaHZt xfjS1l+W/1a/DCEuYfmffF5ZhQQriVKgwFpMRmX/lda4MlIweUXyonfGkk/vL/Ti80Qc+H5Ky 6vb1E87Th6T1EjV9LSTz6gPoqdeCkm8QSNRF7p2nqqZqxA1AVkvkEOiKB+AWDVf8bBdK/HKgP ayeMW0/G2/zj7WkXgYPgP+e8cVTnTDdPh7Mng71OlTR7hivp4Bax+L1179rWzqNq0Q3rr8Ixl M/uOxhU7/Y2MVkMTPuauBd4u/p9PKnAypeXhZss+Wu6a9W6lhZ+QPXb+OjKpSoJT0BGvICFQb t66bClnqI7qXTEEjtt2SZctDsIONa5OyMyB46eHrglj8qfZxU4CGsXNEUIzQU8/bUqIuAfLlL EtnxvEwaHdJAJxvlEKcLCdnzF8nNl1XhH3iLd5rkRR/cAsGjcWd19HAZPPkOxNRFKT7RXXv0P 6e31yyTNqNVe8uEGV2uyN+suEaQgyDXpGiVJ+lm0aYCYTm/AcP/AMLg3ILqfgy31K6SyD3Gwz YPWb/iUwhDdhBI1AIm0DL/ANIZb3XwzjWN5X2sZDz0ZzEmHbjFItutWrL+ekQUZ8M8ead3FEP Mx5BTeyqyIvy4ZuKIB62b/yvDaOWP8lgscYZbtgtFmj7AvYvKrGCrMPL+IwT4eixyMhvree31 FLcIX4Ne7en2jgZSD9IUApCIPvgbD1DtZtFuiChn0rQsHz929sSy+Ojm3pxNd/9oU7Vxjj3Yo KiUd1SdpB3r89bqJjluBXqmCAsxq31tV/9WphyCkRoQeSDrCUEp9UFoZFe2Y8hi2yxDL67KQ+ XWybAmS1Ye7sN+p26oc/P8BJQ6lQciJbESS+wRGr7jsPxR1tFqwTJJz+Jrlsf0EJGXXlj/wBo UNukSj3+1k21440bHr29TDGlyy+Z2UodBXKxYTs9aH1zURKrQXwRmGxJhQX75xAmjeXQpCRw0 cn7SJPycL9g== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >>> +id =3D of_find_device_by_node@p1(x) =E2=80=A6 >>> +if (id =3D=3D NULL || ...) { ... return ...; } >>> +... when !=3D put_device(&id->dev) >> =E2=80=A6 >>> + when !=3D if (id) { ... put_device(&id->dev) ... } >> =E2=80=A6 >> >> I would interpret this SmPL code in the way that the if statement >> for the pointer check is =E2=80=9Coptional=E2=80=9D in this line. >> Is it an extra and redundant SmPL specification when the reference >> release function could eventually be found just anywhere within >> an implementation? > > The proposed when code is correct. I agree that this SmPL code can work in the way it was designed. > It is not redundant, because it checks for a particular control-flow pat= tern. It took another moment until I dared to express a different software development opinion also on this implementation detail. Does the first SmPL when specification include the case that a call of the function =E2=80=9Cput_device=E2=80=9D can occur within a branch of = an if statement? Regards, Markus