All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1489755011.6453.1.camel@primarydata.com>

diff --git a/a/1.txt b/N1/1.txt
index a0c7247..e643906 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,51 +1,31 @@
-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 <elena.reshetova@intel.com>
-> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com>
-> Signed-off-by: Kees Cook <keescook@chromium.org>
-> Signed-off-by: David Windsor <dwindsor@gmail.com>
-> ---
->  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 <linux/sunrpc/msg_prot.h>
->  #include <linux/sunrpc/xdr.h>
->  
-> -#include <linux/atomic.h>
-> +#include <linux/refcount.h>
->  #include <linux/rcupdate.h>
->  #include <linux/uidgid.h>
->  #include <linux/utsname.h>
-> @@ -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
+T24gRnJpLCAyMDE3LTAzLTE3IGF0IDE0OjEwICswMjAwLCBFbGVuYSBSZXNoZXRvdmEgd3JvdGU6
+DQo+IHJlZmNvdW50X3QgdHlwZSBhbmQgY29ycmVzcG9uZGluZyBBUEkgc2hvdWxkIGJlDQo+IHVz
+ZWQgaW5zdGVhZCBvZiBhdG9taWNfdCB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1c2VkIGFzDQo+IGEg
+cmVmZXJlbmNlIGNvdW50ZXIuIFRoaXMgYWxsb3dzIHRvIGF2b2lkIGFjY2lkZW50YWwNCj4gcmVm
+Y291bnRlciBvdmVyZmxvd3MgdGhhdCBtaWdodCBsZWFkIHRvIHVzZS1hZnRlci1mcmVlDQo+IHNp
+dHVhdGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFbGVuYSBSZXNoZXRvdmEgPGVsZW5hLnJl
+c2hldG92YUBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEhhbnMgTGlsamVzdHJhbmQgPGlz
+aGthbWllbEBnbWFpbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tA
+Y2hyb21pdW0ub3JnPg0KPiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBXaW5kc29yIDxkd2luZHNvckBn
+bWFpbC5jb20+DQo+IC0tLQ0KPiDCoGluY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaCB8wqDCoDgg
+KysrKy0tLS0NCj4gwqBuZXQvc3VucnBjL2F1dGguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqB8IDEy
+ICsrKysrKy0tLS0tLQ0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAg
+ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0
+aC5oDQo+IGIvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0aC5oDQo+IGluZGV4IGIxYmM2MmIuLmJk
+MzZlMGIgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaA0KPiArKysg
+Yi9pbmNsdWRlL2xpbnV4L3N1bnJwYy9hdXRoLmgNCj4gQEAgLTE1LDcgKzE1LDcgQEANCj4gwqAj
+aW5jbHVkZSA8bGludXgvc3VucnBjL21zZ19wcm90Lmg+DQo+IMKgI2luY2x1ZGUgPGxpbnV4L3N1
+bnJwYy94ZHIuaD4NCj4gwqANCj4gLSNpbmNsdWRlIDxsaW51eC9hdG9taWMuaD4NCj4gKyNpbmNs
+dWRlIDxsaW51eC9yZWZjb3VudC5oPg0KPiDCoCNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPg0K
+PiDCoCNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4NCj4gwqAjaW5jbHVkZSA8bGludXgvdXRzbmFt
+ZS5oPg0KPiBAQCAtNjgsNyArNjgsNyBAQCBzdHJ1Y3QgcnBjX2NyZWQgew0KPiDCoCNlbmRpZg0K
+PiDCoAl1bnNpZ25lZCBsb25nCQljcl9leHBpcmU7CS8qIHdoZW4gdG8gZ2MNCj4gKi8NCj4gwqAJ
+dW5zaWduZWQgbG9uZwkJY3JfZmxhZ3M7CS8qIHZhcmlvdXMNCj4gZmxhZ3MgKi8NCj4gLQlhdG9t
+aWNfdAkJY3JfY291bnQ7CS8qIHJlZiBjb3VudCAqLw0KPiArCXJlZmNvdW50X3QJCWNyX2NvdW50
+OwkvKiByZWYgY291bnQgKi8NCj4gDQoNCk5BQ0suIFRoYXQncyBnb2luZyB0byBiZSBoaXR0aW5n
+IFdBUk5fT05DRSghcmVmY291bnRfaW5jX25vdF96ZXJvKHIpLA0KInJlZmNvdW50X3Q6IGluY3Jl
+bWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS5cbiIpIGxpa2UgdGhlcmUncyBubw0KdG9tb3Jyb3cu
+Li4NCg0KUGxlYXNlIHN0b3Agd2l0aCB0aGVzZSBhdXRvbWF0ZWQgY29udmVyc2lvbnMuIFRoZXkg
+YXJlIGdvaW5nIHRvIGNhdXNlIGENCmxvdCBtb3JlIGJ1Z3MgdGhhbiB0aGV5IGZpeC4NCg0KLS0g
+DQpUcm9uZCBNeWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgUHJpbWFyeURh
+dGENCnRyb25kLm15a2xlYnVzdEBwcmltYXJ5ZGF0YS5jb20NCg==
diff --git a/a/content_digest b/N1/content_digest
index bb68c04..5207947 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,78 +1,65 @@
  "ref\01489752646-8749-1-git-send-email-elena.reshetova@intel.com\0"
  "ref\01489752646-8749-2-git-send-email-elena.reshetova@intel.com\0"
- "ref\01489752646-8749-2-git-send-email-elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org\0"
- "From\0Trond Myklebust <trondmy-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>\0"
+ "From\0Trond Myklebust <trondmy@primarydata.com>\0"
  "Subject\0Re: [PATCH 01/23] net, sunrpc: convert rpc_cred.cr_count from atomic_t to refcount_t\0"
  "Date\0Fri, 17 Mar 2017 12:50:12 +0000\0"
- "To\0elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org <elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>"
- " netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>\0"
- "Cc\0linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>"
-  peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
-  ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org <ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>
-  linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
-  ishkamiel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <ishkamiel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
-  bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
-  steffen.klassert-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org <steffen.klassert-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org>
-  nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
-  linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
-  jreuter-K7Hl1MveuGQ@public.gmane.org <jreuter-K7Hl1MveuGQ@public.gmane.org>
-  santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org <santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
-  linux-hams-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-hams-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
-  jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org <jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org>
-  dwindsor-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <dwindsor-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
- " keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>\0"
+ "To\0elena.reshetova@intel.com <elena.reshetova@intel.com>"
+ " netdev@vger.kernel.org <netdev@vger.kernel.org>\0"
+ "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>"
+  peterz@infradead.org <peterz@infradead.org>
+  ralf@linux-mips.org <ralf@linux-mips.org>
+  linux-rdma@vger.kernel.org <linux-rdma@vger.kernel.org>
+  ishkamiel@gmail.com <ishkamiel@gmail.com>
+  bfields@fieldses.org <bfields@fieldses.org>
+  steffen.klassert@secunet.com <steffen.klassert@secunet.com>
+  nhorman@tuxdriver.com <nhorman@tuxdriver.com>
+  linux-nfs@vger.kernel.org <linux-nfs@vger.kernel.org>
+  jreuter@yaina.de <jreuter@yaina.de>
+  santosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com>
+  linux-hams@vger.kernel.org <linux-hams@vger.kernel.org>
+  jlayton@poochiereds.net <jlayton@poochiereds.net>
+  dwindsor@gmail.com <dwindsor@gmail.com>
+  keescook@chromium.org <keescook@chromium.org>
+  zyan@redhat.com <zyan@redhat.com>
+  sage@redhat.com <sage@redhat.com>
+  davem@davemloft.net <davem@davemloft.net>
+  linux-sctp@vger.kernel.org <linux-sctp@vger.kernel.org>
+  vyasevich@gmail.com <vyasevich@gmail.com>
+  linux-x25@vger.kernel.org <linux-x25@vger.kernel.org>
+  herbert@gondor.apana.org.au <herbert@gondor.apana.org.au>
+ " ceph-devel@vger.kernel.org <ceph-devel@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
- "On Fri, 2017-03-17 at 14:10 +0200, Elena Reshetova wrote:\n"
- "> refcount_t type and corresponding API should be\n"
- "> used instead of atomic_t when the variable is used as\n"
- "> a reference counter. This allows to avoid accidental\n"
- "> refcounter overflows that might lead to use-after-free\n"
- "> situations.\n"
- "> \n"
- "> Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>\n"
- "> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com>\n"
- "> Signed-off-by: Kees Cook <keescook@chromium.org>\n"
- "> Signed-off-by: David Windsor <dwindsor@gmail.com>\n"
- "> ---\n"
- "> \302\240include/linux/sunrpc/auth.h |\302\240\302\2408 ++++----\n"
- "> \302\240net/sunrpc/auth.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 12 ++++++------\n"
- "> \302\2402 files changed, 10 insertions(+), 10 deletions(-)\n"
- "> \n"
- "> diff --git a/include/linux/sunrpc/auth.h\n"
- "> b/include/linux/sunrpc/auth.h\n"
- "> index b1bc62b..bd36e0b 100644\n"
- "> --- a/include/linux/sunrpc/auth.h\n"
- "> +++ b/include/linux/sunrpc/auth.h\n"
- "> @@ -15,7 +15,7 @@\n"
- "> \302\240#include <linux/sunrpc/msg_prot.h>\n"
- "> \302\240#include <linux/sunrpc/xdr.h>\n"
- "> \302\240\n"
- "> -#include <linux/atomic.h>\n"
- "> +#include <linux/refcount.h>\n"
- "> \302\240#include <linux/rcupdate.h>\n"
- "> \302\240#include <linux/uidgid.h>\n"
- "> \302\240#include <linux/utsname.h>\n"
- "> @@ -68,7 +68,7 @@ struct rpc_cred {\n"
- "> \302\240#endif\n"
- "> \302\240\tunsigned long\t\tcr_expire;\t/* when to gc\n"
- "> */\n"
- "> \302\240\tunsigned long\t\tcr_flags;\t/* various\n"
- "> flags */\n"
- "> -\tatomic_t\t\tcr_count;\t/* ref count */\n"
- "> +\trefcount_t\t\tcr_count;\t/* ref count */\n"
- "> \n"
- "\n"
- "NACK. That's going to be hitting WARN_ONCE(!refcount_inc_not_zero(r),\n"
- "\"refcount_t: increment on 0; use-after-free.\\n\") like there's no\n"
- "tomorrow...\n"
- "\n"
- "Please stop with these automated conversions. They are going to cause a\n"
- "lot more bugs than they fix.\n"
- "\n"
- "-- \n"
- "Trond Myklebust\n"
- "Linux NFS client maintainer, PrimaryData\n"
- trond.myklebust@primarydata.com
+ "T24gRnJpLCAyMDE3LTAzLTE3IGF0IDE0OjEwICswMjAwLCBFbGVuYSBSZXNoZXRvdmEgd3JvdGU6\n"
+ "DQo+IHJlZmNvdW50X3QgdHlwZSBhbmQgY29ycmVzcG9uZGluZyBBUEkgc2hvdWxkIGJlDQo+IHVz\n"
+ "ZWQgaW5zdGVhZCBvZiBhdG9taWNfdCB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1c2VkIGFzDQo+IGEg\n"
+ "cmVmZXJlbmNlIGNvdW50ZXIuIFRoaXMgYWxsb3dzIHRvIGF2b2lkIGFjY2lkZW50YWwNCj4gcmVm\n"
+ "Y291bnRlciBvdmVyZmxvd3MgdGhhdCBtaWdodCBsZWFkIHRvIHVzZS1hZnRlci1mcmVlDQo+IHNp\n"
+ "dHVhdGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFbGVuYSBSZXNoZXRvdmEgPGVsZW5hLnJl\n"
+ "c2hldG92YUBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEhhbnMgTGlsamVzdHJhbmQgPGlz\n"
+ "aGthbWllbEBnbWFpbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tA\n"
+ "Y2hyb21pdW0ub3JnPg0KPiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBXaW5kc29yIDxkd2luZHNvckBn\n"
+ "bWFpbC5jb20+DQo+IC0tLQ0KPiDCoGluY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaCB8wqDCoDgg\n"
+ "KysrKy0tLS0NCj4gwqBuZXQvc3VucnBjL2F1dGguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqB8IDEy\n"
+ "ICsrKysrKy0tLS0tLQ0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAg\n"
+ "ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0\n"
+ "aC5oDQo+IGIvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0aC5oDQo+IGluZGV4IGIxYmM2MmIuLmJk\n"
+ "MzZlMGIgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaA0KPiArKysg\n"
+ "Yi9pbmNsdWRlL2xpbnV4L3N1bnJwYy9hdXRoLmgNCj4gQEAgLTE1LDcgKzE1LDcgQEANCj4gwqAj\n"
+ "aW5jbHVkZSA8bGludXgvc3VucnBjL21zZ19wcm90Lmg+DQo+IMKgI2luY2x1ZGUgPGxpbnV4L3N1\n"
+ "bnJwYy94ZHIuaD4NCj4gwqANCj4gLSNpbmNsdWRlIDxsaW51eC9hdG9taWMuaD4NCj4gKyNpbmNs\n"
+ "dWRlIDxsaW51eC9yZWZjb3VudC5oPg0KPiDCoCNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPg0K\n"
+ "PiDCoCNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4NCj4gwqAjaW5jbHVkZSA8bGludXgvdXRzbmFt\n"
+ "ZS5oPg0KPiBAQCAtNjgsNyArNjgsNyBAQCBzdHJ1Y3QgcnBjX2NyZWQgew0KPiDCoCNlbmRpZg0K\n"
+ "PiDCoAl1bnNpZ25lZCBsb25nCQljcl9leHBpcmU7CS8qIHdoZW4gdG8gZ2MNCj4gKi8NCj4gwqAJ\n"
+ "dW5zaWduZWQgbG9uZwkJY3JfZmxhZ3M7CS8qIHZhcmlvdXMNCj4gZmxhZ3MgKi8NCj4gLQlhdG9t\n"
+ "aWNfdAkJY3JfY291bnQ7CS8qIHJlZiBjb3VudCAqLw0KPiArCXJlZmNvdW50X3QJCWNyX2NvdW50\n"
+ "OwkvKiByZWYgY291bnQgKi8NCj4gDQoNCk5BQ0suIFRoYXQncyBnb2luZyB0byBiZSBoaXR0aW5n\n"
+ "IFdBUk5fT05DRSghcmVmY291bnRfaW5jX25vdF96ZXJvKHIpLA0KInJlZmNvdW50X3Q6IGluY3Jl\n"
+ "bWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS5cbiIpIGxpa2UgdGhlcmUncyBubw0KdG9tb3Jyb3cu\n"
+ "Li4NCg0KUGxlYXNlIHN0b3Agd2l0aCB0aGVzZSBhdXRvbWF0ZWQgY29udmVyc2lvbnMuIFRoZXkg\n"
+ "YXJlIGdvaW5nIHRvIGNhdXNlIGENCmxvdCBtb3JlIGJ1Z3MgdGhhbiB0aGV5IGZpeC4NCg0KLS0g\n"
+ "DQpUcm9uZCBNeWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgUHJpbWFyeURh\n"
+ dGENCnRyb25kLm15a2xlYnVzdEBwcmltYXJ5ZGF0YS5jb20NCg==
 
-6b9d2156f1dc1037c1cd492972bf232657d6bbf39e1086560fe1d2eed681d770
+245f76f75e4ee6fee6a78cace4e6dde841aa51c0cd07514934bd69aa56eed0fa

diff --git a/a/1.txt b/N2/1.txt
index a0c7247..905081d 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,51 +1,31 @@
-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 <elena.reshetova@intel.com>
-> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com>
-> Signed-off-by: Kees Cook <keescook@chromium.org>
-> Signed-off-by: David Windsor <dwindsor@gmail.com>
-> ---
->  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 <linux/sunrpc/msg_prot.h>
->  #include <linux/sunrpc/xdr.h>
->  
-> -#include <linux/atomic.h>
-> +#include <linux/refcount.h>
->  #include <linux/rcupdate.h>
->  #include <linux/uidgid.h>
->  #include <linux/utsname.h>
-> @@ -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
+T24gRnJpLCAyMDE3LTAzLTE3IGF0IDE0OjEwICswMjAwLCBFbGVuYSBSZXNoZXRvdmEgd3JvdGU6
+DQo+IHJlZmNvdW50X3QgdHlwZSBhbmQgY29ycmVzcG9uZGluZyBBUEkgc2hvdWxkIGJlDQo+IHVz
+ZWQgaW5zdGVhZCBvZiBhdG9taWNfdCB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1c2VkIGFzDQo+IGEg
+cmVmZXJlbmNlIGNvdW50ZXIuIFRoaXMgYWxsb3dzIHRvIGF2b2lkIGFjY2lkZW50YWwNCj4gcmVm
+Y291bnRlciBvdmVyZmxvd3MgdGhhdCBtaWdodCBsZWFkIHRvIHVzZS1hZnRlci1mcmVlDQo+IHNp
+dHVhdGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFbGVuYSBSZXNoZXRvdmEgPGVsZW5hLnJl
+c2hldG92YUBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEhhbnMgTGlsamVzdHJhbmQgPGlz
+aGthbWllbEBnbWFpbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tA
+Y2hyb21pdW0ub3JnPg0KPiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBXaW5kc29yIDxkd2luZHNvckBn
+bWFpbC5jb20+DQo+IC0tLQ0KPiDCoGluY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaCB8wqDCoDgg
+KysrKy0tLS0NCj4gwqBuZXQvc3VucnBjL2F1dGguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqB8IDEy
+ICsrKysrKy0tLS0tLQ0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAg
+ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0
+aC5oDQo+IGIvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0aC5oDQo+IGluZGV4IGIxYmM2MmIuLmJk
+MzZlMGIgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaA0KPiArKysg
+Yi9pbmNsdWRlL2xpbnV4L3N1bnJwYy9hdXRoLmgNCj4gQEAgLTE1LDcgKzE1LDcgQEANCj4gwqAj
+aW5jbHVkZSA8bGludXgvc3VucnBjL21zZ19wcm90Lmg+DQo+IMKgI2luY2x1ZGUgPGxpbnV4L3N1
+bnJwYy94ZHIuaD4NCj4gwqANCj4gLSNpbmNsdWRlIDxsaW51eC9hdG9taWMuaD4NCj4gKyNpbmNs
+dWRlIDxsaW51eC9yZWZjb3VudC5oPg0KPiDCoCNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPg0K
+PiDCoCNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4NCj4gwqAjaW5jbHVkZSA8bGludXgvdXRzbmFt
+ZS5oPg0KPiBAQCAtNjgsNyArNjgsNyBAQCBzdHJ1Y3QgcnBjX2NyZWQgew0KPiDCoCNlbmRpZg0K
+PiDCoAl1bnNpZ25lZCBsb25nCQljcl9leHBpcmU7CS8qIHdoZW4gdG8gZ2MNCj4gKi8NCj4gwqAJ
+dW5zaWduZWQgbG9uZwkJY3JfZmxhZ3M7CS8qIHZhcmlvdXMNCj4gZmxhZ3MgKi8NCj4gLQlhdG9t
+aWNfdAkJY3JfY291bnQ7CS8qIHJlZiBjb3VudCAqLw0KPiArCXJlZmNvdW50X3QJCWNyX2NvdW50
+OwkvKiByZWYgY291bnQgKi8NCj4gDQoNCk5BQ0suIFRoYXQncyBnb2luZyB0byBiZSBoaXR0aW5n
+IFdBUk5fT05DRSghcmVmY291bnRfaW5jX25vdF96ZXJvKHIpLA0KInJlZmNvdW50X3Q6IGluY3Jl
+bWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS5cbiIpIGxpa2UgdGhlcmUncyBubw0KdG9tb3Jyb3cu
+Li4NCg0KUGxlYXNlIHN0b3Agd2l0aCB0aGVzZSBhdXRvbWF0ZWQgY29udmVyc2lvbnMuIFRoZXkg
+YXJlIGdvaW5nIHRvIGNhdXNlIGENCmxvdCBtb3JlIGJ1Z3MgdGhhbiB0aGV5IGZpeC4NCg0KLS0g
+DQpUcm9uZCBNeWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgUHJpbWFyeURh
+dGENCnRyb25kLm15a2xlYnVzdEBwcmltYXJ5ZGF0YS5jb20NCg=
diff --git a/a/content_digest b/N2/content_digest
index bb68c04..7bb8331 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,7 +1,7 @@
  "ref\01489752646-8749-1-git-send-email-elena.reshetova@intel.com\0"
  "ref\01489752646-8749-2-git-send-email-elena.reshetova@intel.com\0"
  "ref\01489752646-8749-2-git-send-email-elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org\0"
- "From\0Trond Myklebust <trondmy-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>\0"
+ "From\0Trond Myklebust <trondmy@primarydata.com>\0"
  "Subject\0Re: [PATCH 01/23] net, sunrpc: convert rpc_cred.cr_count from atomic_t to refcount_t\0"
  "Date\0Fri, 17 Mar 2017 12:50:12 +0000\0"
  "To\0elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org <elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>"
@@ -23,56 +23,36 @@
  " keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>\0"
  "\00:1\0"
  "b\0"
- "On Fri, 2017-03-17 at 14:10 +0200, Elena Reshetova wrote:\n"
- "> refcount_t type and corresponding API should be\n"
- "> used instead of atomic_t when the variable is used as\n"
- "> a reference counter. This allows to avoid accidental\n"
- "> refcounter overflows that might lead to use-after-free\n"
- "> situations.\n"
- "> \n"
- "> Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>\n"
- "> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com>\n"
- "> Signed-off-by: Kees Cook <keescook@chromium.org>\n"
- "> Signed-off-by: David Windsor <dwindsor@gmail.com>\n"
- "> ---\n"
- "> \302\240include/linux/sunrpc/auth.h |\302\240\302\2408 ++++----\n"
- "> \302\240net/sunrpc/auth.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 12 ++++++------\n"
- "> \302\2402 files changed, 10 insertions(+), 10 deletions(-)\n"
- "> \n"
- "> diff --git a/include/linux/sunrpc/auth.h\n"
- "> b/include/linux/sunrpc/auth.h\n"
- "> index b1bc62b..bd36e0b 100644\n"
- "> --- a/include/linux/sunrpc/auth.h\n"
- "> +++ b/include/linux/sunrpc/auth.h\n"
- "> @@ -15,7 +15,7 @@\n"
- "> \302\240#include <linux/sunrpc/msg_prot.h>\n"
- "> \302\240#include <linux/sunrpc/xdr.h>\n"
- "> \302\240\n"
- "> -#include <linux/atomic.h>\n"
- "> +#include <linux/refcount.h>\n"
- "> \302\240#include <linux/rcupdate.h>\n"
- "> \302\240#include <linux/uidgid.h>\n"
- "> \302\240#include <linux/utsname.h>\n"
- "> @@ -68,7 +68,7 @@ struct rpc_cred {\n"
- "> \302\240#endif\n"
- "> \302\240\tunsigned long\t\tcr_expire;\t/* when to gc\n"
- "> */\n"
- "> \302\240\tunsigned long\t\tcr_flags;\t/* various\n"
- "> flags */\n"
- "> -\tatomic_t\t\tcr_count;\t/* ref count */\n"
- "> +\trefcount_t\t\tcr_count;\t/* ref count */\n"
- "> \n"
- "\n"
- "NACK. That's going to be hitting WARN_ONCE(!refcount_inc_not_zero(r),\n"
- "\"refcount_t: increment on 0; use-after-free.\\n\") like there's no\n"
- "tomorrow...\n"
- "\n"
- "Please stop with these automated conversions. They are going to cause a\n"
- "lot more bugs than they fix.\n"
- "\n"
- "-- \n"
- "Trond Myklebust\n"
- "Linux NFS client maintainer, PrimaryData\n"
- trond.myklebust@primarydata.com
+ "T24gRnJpLCAyMDE3LTAzLTE3IGF0IDE0OjEwICswMjAwLCBFbGVuYSBSZXNoZXRvdmEgd3JvdGU6\n"
+ "DQo+IHJlZmNvdW50X3QgdHlwZSBhbmQgY29ycmVzcG9uZGluZyBBUEkgc2hvdWxkIGJlDQo+IHVz\n"
+ "ZWQgaW5zdGVhZCBvZiBhdG9taWNfdCB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1c2VkIGFzDQo+IGEg\n"
+ "cmVmZXJlbmNlIGNvdW50ZXIuIFRoaXMgYWxsb3dzIHRvIGF2b2lkIGFjY2lkZW50YWwNCj4gcmVm\n"
+ "Y291bnRlciBvdmVyZmxvd3MgdGhhdCBtaWdodCBsZWFkIHRvIHVzZS1hZnRlci1mcmVlDQo+IHNp\n"
+ "dHVhdGlvbnMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFbGVuYSBSZXNoZXRvdmEgPGVsZW5hLnJl\n"
+ "c2hldG92YUBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEhhbnMgTGlsamVzdHJhbmQgPGlz\n"
+ "aGthbWllbEBnbWFpbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tA\n"
+ "Y2hyb21pdW0ub3JnPg0KPiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBXaW5kc29yIDxkd2luZHNvckBn\n"
+ "bWFpbC5jb20+DQo+IC0tLQ0KPiDCoGluY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaCB8wqDCoDgg\n"
+ "KysrKy0tLS0NCj4gwqBuZXQvc3VucnBjL2F1dGguY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqB8IDEy\n"
+ "ICsrKysrKy0tLS0tLQ0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAg\n"
+ "ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0\n"
+ "aC5oDQo+IGIvaW5jbHVkZS9saW51eC9zdW5ycGMvYXV0aC5oDQo+IGluZGV4IGIxYmM2MmIuLmJk\n"
+ "MzZlMGIgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvbGludXgvc3VucnBjL2F1dGguaA0KPiArKysg\n"
+ "Yi9pbmNsdWRlL2xpbnV4L3N1bnJwYy9hdXRoLmgNCj4gQEAgLTE1LDcgKzE1LDcgQEANCj4gwqAj\n"
+ "aW5jbHVkZSA8bGludXgvc3VucnBjL21zZ19wcm90Lmg+DQo+IMKgI2luY2x1ZGUgPGxpbnV4L3N1\n"
+ "bnJwYy94ZHIuaD4NCj4gwqANCj4gLSNpbmNsdWRlIDxsaW51eC9hdG9taWMuaD4NCj4gKyNpbmNs\n"
+ "dWRlIDxsaW51eC9yZWZjb3VudC5oPg0KPiDCoCNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPg0K\n"
+ "PiDCoCNpbmNsdWRlIDxsaW51eC91aWRnaWQuaD4NCj4gwqAjaW5jbHVkZSA8bGludXgvdXRzbmFt\n"
+ "ZS5oPg0KPiBAQCAtNjgsNyArNjgsNyBAQCBzdHJ1Y3QgcnBjX2NyZWQgew0KPiDCoCNlbmRpZg0K\n"
+ "PiDCoAl1bnNpZ25lZCBsb25nCQljcl9leHBpcmU7CS8qIHdoZW4gdG8gZ2MNCj4gKi8NCj4gwqAJ\n"
+ "dW5zaWduZWQgbG9uZwkJY3JfZmxhZ3M7CS8qIHZhcmlvdXMNCj4gZmxhZ3MgKi8NCj4gLQlhdG9t\n"
+ "aWNfdAkJY3JfY291bnQ7CS8qIHJlZiBjb3VudCAqLw0KPiArCXJlZmNvdW50X3QJCWNyX2NvdW50\n"
+ "OwkvKiByZWYgY291bnQgKi8NCj4gDQoNCk5BQ0suIFRoYXQncyBnb2luZyB0byBiZSBoaXR0aW5n\n"
+ "IFdBUk5fT05DRSghcmVmY291bnRfaW5jX25vdF96ZXJvKHIpLA0KInJlZmNvdW50X3Q6IGluY3Jl\n"
+ "bWVudCBvbiAwOyB1c2UtYWZ0ZXItZnJlZS5cbiIpIGxpa2UgdGhlcmUncyBubw0KdG9tb3Jyb3cu\n"
+ "Li4NCg0KUGxlYXNlIHN0b3Agd2l0aCB0aGVzZSBhdXRvbWF0ZWQgY29udmVyc2lvbnMuIFRoZXkg\n"
+ "YXJlIGdvaW5nIHRvIGNhdXNlIGENCmxvdCBtb3JlIGJ1Z3MgdGhhbiB0aGV5IGZpeC4NCg0KLS0g\n"
+ "DQpUcm9uZCBNeWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgUHJpbWFyeURh\n"
+ dGENCnRyb25kLm15a2xlYnVzdEBwcmltYXJ5ZGF0YS5jb20NCg=
 
-6b9d2156f1dc1037c1cd492972bf232657d6bbf39e1086560fe1d2eed681d770
+1371107098e9398b50a2aed8e8072e5bc9ec2ae56a066d212e6406fb8f0bdf8d

diff --git a/a/content_digest b/N3/content_digest
index bb68c04..2317461 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -1,26 +1,33 @@
  "ref\01489752646-8749-1-git-send-email-elena.reshetova@intel.com\0"
  "ref\01489752646-8749-2-git-send-email-elena.reshetova@intel.com\0"
- "ref\01489752646-8749-2-git-send-email-elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org\0"
- "From\0Trond Myklebust <trondmy-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>\0"
+ "From\0Trond Myklebust <trondmy@primarydata.com>\0"
  "Subject\0Re: [PATCH 01/23] net, sunrpc: convert rpc_cred.cr_count from atomic_t to refcount_t\0"
  "Date\0Fri, 17 Mar 2017 12:50:12 +0000\0"
- "To\0elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org <elena.reshetova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>"
- " netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>\0"
- "Cc\0linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>"
-  peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
-  ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org <ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>
-  linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
-  ishkamiel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <ishkamiel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
-  bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
-  steffen.klassert-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org <steffen.klassert-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org>
-  nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
-  linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
-  jreuter-K7Hl1MveuGQ@public.gmane.org <jreuter-K7Hl1MveuGQ@public.gmane.org>
-  santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org <santosh.shilimkar-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
-  linux-hams-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-hams-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
-  jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org <jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org>
-  dwindsor-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <dwindsor-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
- " keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>\0"
+ "To\0elena.reshetova@intel.com <elena.reshetova@intel.com>"
+ " netdev@vger.kernel.org <netdev@vger.kernel.org>\0"
+ "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>"
+  peterz@infradead.org <peterz@infradead.org>
+  ralf@linux-mips.org <ralf@linux-mips.org>
+  linux-rdma@vger.kernel.org <linux-rdma@vger.kernel.org>
+  ishkamiel@gmail.com <ishkamiel@gmail.com>
+  bfields@fieldses.org <bfields@fieldses.org>
+  steffen.klassert@secunet.com <steffen.klassert@secunet.com>
+  nhorman@tuxdriver.com <nhorman@tuxdriver.com>
+  linux-nfs@vger.kernel.org <linux-nfs@vger.kernel.org>
+  jreuter@yaina.de <jreuter@yaina.de>
+  santosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com>
+  linux-hams@vger.kernel.org <linux-hams@vger.kernel.org>
+  jlayton@poochiereds.net <jlayton@poochiereds.net>
+  dwindsor@gmail.com <dwindsor@gmail.com>
+  keescook@chromium.org <keescook@chromium.org>
+  zyan@redhat.com <zyan@redhat.com>
+  sage@redhat.com <sage@redhat.com>
+  davem@davemloft.net <davem@davemloft.net>
+  linux-sctp@vger.kernel.org <linux-sctp@vger.kernel.org>
+  vyasevich@gmail.com <vyasevich@gmail.com>
+  linux-x25@vger.kernel.org <linux-x25@vger.kernel.org>
+  herbert@gondor.apana.org.au <herbert@gondor.apana.org.au>
+ " ceph-devel@vger.kernel.org <ceph-devel@vger.kernel.org>\0"
  "\00:1\0"
  "b\0"
  "On Fri, 2017-03-17 at 14:10 +0200, Elena Reshetova wrote:\n"
@@ -75,4 +82,4 @@
  "Linux NFS client maintainer, PrimaryData\n"
  trond.myklebust@primarydata.com
 
-6b9d2156f1dc1037c1cd492972bf232657d6bbf39e1086560fe1d2eed681d770
+843903be2764d420fd80a855d94a56f5ac7c4d0470c4895663c7b36293dfdcf6

diff --git a/a/content_digest b/N4/content_digest
index bb68c04..70c758b 100644
--- a/a/content_digest
+++ b/N4/content_digest
@@ -20,7 +20,8 @@
   linux-hams-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-hams-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
   jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org <jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org>
   dwindsor-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <dwindsor-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
- " keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>\0"
+  keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
+ "\0"
  "\00:1\0"
  "b\0"
  "On Fri, 2017-03-17 at 14:10 +0200, Elena Reshetova wrote:\n"
@@ -75,4 +76,4 @@
  "Linux NFS client maintainer, PrimaryData\n"
  trond.myklebust@primarydata.com
 
-6b9d2156f1dc1037c1cd492972bf232657d6bbf39e1086560fe1d2eed681d770
+2e29973b9cc26e4597995862bd5d13c278bb5f4878f9af81daa950e58ef3ad15

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.