Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751782AbdGRLxP (ORCPT ); Tue, 18 Jul 2017 07:53:15 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:61187 "EHLO mail2-relais-roc.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751374AbdGRLxM (ORCPT ); Tue, 18 Jul 2017 07:53:12 -0400 X-IronPort-AV: E=Sophos;i="5.40,377,1496095200"; d="scan'208";a="283861962" Date: Tue, 18 Jul 2017 13:53:10 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: "Reshetova, Elena" cc: "linux-kernel@vger.kernel.org" , "cocci@systeme.lip6.fr" , Gilles Muller , "nicolas.palix@imag.fr" , "mmarek@suse.com" , "keescook@chromium.org" , "ishkamiel@gmail.com" Subject: RE: [PATCH] Coccinelle report script for refcounters In-Reply-To: <2236FBA76BA1254E88B949DDB74E612B6FF26A28@IRSMSX102.ger.corp.intel.com> Message-ID: References: <1500364111-2192-1-git-send-email-elena.reshetova@intel.com> <2236FBA76BA1254E88B949DDB74E612B6FF26A28@IRSMSX102.ger.corp.intel.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1909 Lines: 61 On Tue, 18 Jul 2017, Reshetova, Elena wrote: > > On Tue, 18 Jul 2017, Elena Reshetova wrote: > > > > > The below script can be used to detect potential misusage > > > of atomic_t type and API for reference counting purposes. > > > Now when we have a dedicated refcount_t type and API with > > > security protection implemented, people should be using it > > > instead. > > > > > > Currently it still reports many occurences since we are > > > nowhere near the end of our kernel-wide conversion execrise, > > > but hopefully after couple of cycles more, the amount of > > > output would be much more limited. > > > > > > Each script result must be analysed manually before any > > > conversion, since refcount_t might not suit for certain > > > purposes (for example if an object is not always destroyed > > > upon refcounter reaching zero, if increments from zero are > > > allowed in the code etc.) > > > > > > As we go further and get less results in output, we will > > > improve the pattern to detect conversion cases more precisely. > > > > The regexps are the best you can do? > > They are simple and so far they were sufficient for the purpose since > they found pretty much all the cases we are aware about. I was thinking > on working to improve the pattern later on after we merge the bulk of > conversions and I have some cycles free on that front. > > What would you suggest to do instead of regexps? Is there anything about the definitions of these functions that indicates why they are important? julia > > Best Regards, > Elena. > > > > > julia > > > > > > > > Elena Reshetova (1): > > > Coccinelle: add atomic_as_refcounter script > > > > > > scripts/coccinelle/api/atomic_as_refcounter.cocci | 102 > > ++++++++++++++++++++++ > > > 1 file changed, 102 insertions(+) > > > create mode 100644 scripts/coccinelle/api/atomic_as_refcounter.cocci > > > > > > -- > > > 2.7.4 > > > > > > >