Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751180AbdCQMxs (ORCPT ); Fri, 17 Mar 2017 08:53:48 -0400 Received: from us-smtp-delivery-194.mimecast.com ([63.128.21.194]:57093 "EHLO us-smtp-delivery-194.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751052AbdCQMxl (ORCPT ); Fri, 17 Mar 2017 08:53:41 -0400 From: Trond Myklebust To: "elena.reshetova@intel.com" , "netdev@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , "peterz@infradead.org" , "ralf@linux-mips.org" , "linux-rdma@vger.kernel.org" , "ishkamiel@gmail.com" , "bfields@fieldses.org" , "steffen.klassert@secunet.com" , "nhorman@tuxdriver.com" , "linux-nfs@vger.kernel.org" , "jreuter@yaina.de" , "santosh.shilimkar@oracle.com" , "linux-hams@vger.kernel.org" , "jlayton@poochiereds.net" , "dwindsor@gmail.com" , "keescook@chromium.org" , "zyan@redhat.com" , "sage@redhat.com" , "davem@davemloft.net" , "linux-sctp@vger.kernel.org" , "vyasevich@gmail.com" , "linux-x25@vger.kernel.org" , "herbert@gondor.apana.org.au" , "ceph-devel@vger.kernel.org" Subject: Re: [PATCH 01/23] net, sunrpc: convert rpc_cred.cr_count from atomic_t to refcount_t Thread-Topic: [PATCH 01/23] net, sunrpc: convert rpc_cred.cr_count from atomic_t to refcount_t Thread-Index: AQHSnxgB6OeN+VGtcU2oa3t5Q+2fbaGY+9eA Date: Fri, 17 Mar 2017 12:50:12 +0000 Message-ID: <1489755011.6453.1.camel@primarydata.com> References: <1489752646-8749-1-git-send-email-elena.reshetova@intel.com> <1489752646-8749-2-git-send-email-elena.reshetova@intel.com> In-Reply-To: <1489752646-8749-2-git-send-email-elena.reshetova@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [68.49.162.121] x-ms-office365-filtering-correlation-id: 5bec7b0e-2083-4cbd-4b74-08d46d342776 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR11MB1346; x-microsoft-exchange-diagnostics: 1;BN6PR11MB1346;7:BGydzjPGgebg12aiWEFDV2DVCKQXSNXe35o5ZfnWYO5ZQwCak9RCBxlvA9BZXpS0OnEYjrZnXwWLIfbJmH57YLpr9jKRWraOVkWl7FkucW4U76KAWlUg0TgB1DdIM3YYwGIU4gwdQor64gEIPXXQBkD41MZqd5kMSAlGUuIsSLRjY2tAXS7Y4kwvmWWrhRLm1ooiYeJob25kOi77PA3B1TM1IXvfV/GXTTKi+RrbMU3UoYgDPtZNbxaxkPfYFO5g2gFOm30we2E+/8zrK6RP9bMH418F2UtXDsogXSz0E9CXnB6B1QjZnH7uyHZYJQSvha0KkCgiGE2wED7xW+bHWw==;20:7zd0XnlJNNVdA8xzGln+mtJ2fODRzH1I7n9CTRxTXmh5bENi0UgcJWEgfX2bfaRhl6+QnGmtESoON6Fv6BCx8y1ihnUWLakuqFwmJe73ZKy5D6yUxJp0Krr+GIFhsXqUKcJq+j6WaWKMkblaXYnK2Dg9bW7t+enTUE1f0bjYtko= x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(2016111802025)(20161123564025)(20161123562025)(20161123558025)(20161123555025)(20161123560025)(6043046)(6072148);SRVR:BN6PR11MB1346;BCL:0;PCL:0;RULEID:;SRVR:BN6PR11MB1346; x-forefront-prvs: 0249EFCB0B x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(39830400002)(39410400002)(39450400003)(377424004)(24454002)(2900100001)(38730400002)(122556002)(81156014)(189998001)(81166006)(54906002)(6246003)(66066001)(229853002)(5660300001)(99286003)(2501003)(6512007)(4326008)(33646002)(2906002)(36756003)(8936002)(39060400002)(7416002)(6436002)(6116002)(86362001)(25786008)(2950100002)(8676002)(3660700001)(6506006)(7736002)(53936002)(3280700002)(6486002)(76176999)(575784001)(102836003)(54356999)(3846002)(103116003)(50986999)(77096006)(305945005);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR11MB1346;H:BN6PR11MB1348.namprd11.prod.outlook.com;FPR:;SPF:None;MLV:ovrnspm;PTR:InfoNoRecords;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-ID: MIME-Version: 1.0 X-OriginatorOrg: primarydata.com X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Mar 2017 12:50:12.9049 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 03193ed6-8726-4bb3-a832-18ab0d28adb7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1346 X-MC-Unique: YL_ilwYROjuY4BEISpDNXQ-1 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v2HCs29j008077 Content-Length: 1696 Lines: 51 On Fri, 2017-03-17 at 14:10 +0200, Elena Reshetova wrote: > refcount_t type and corresponding API should be > used instead of atomic_t when the variable is used as > a reference counter. This allows to avoid accidental > refcounter overflows that might lead to use-after-free > situations. > > Signed-off-by: Elena Reshetova > Signed-off-by: Hans Liljestrand > Signed-off-by: Kees Cook > Signed-off-by: David Windsor > --- >  include/linux/sunrpc/auth.h |  8 ++++---- >  net/sunrpc/auth.c           | 12 ++++++------ >  2 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/include/linux/sunrpc/auth.h > b/include/linux/sunrpc/auth.h > index b1bc62b..bd36e0b 100644 > --- a/include/linux/sunrpc/auth.h > +++ b/include/linux/sunrpc/auth.h > @@ -15,7 +15,7 @@ >  #include >  #include >   > -#include > +#include >  #include >  #include >  #include > @@ -68,7 +68,7 @@ struct rpc_cred { >  #endif >   unsigned long cr_expire; /* when to gc > */ >   unsigned long cr_flags; /* various > flags */ > - atomic_t cr_count; /* ref count */ > + refcount_t cr_count; /* ref count */ > NACK. That's going to be hitting WARN_ONCE(!refcount_inc_not_zero(r), "refcount_t: increment on 0; use-after-free.\n") like there's no tomorrow... Please stop with these automated conversions. They are going to cause a lot more bugs than they fix. -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@primarydata.com