2013-03-14 17:31:40

by Bodo Stroesser

[permalink] [raw]
Subject: Re: sunrpc/cache.c: races while updating cache entries

T24gMTMgTWFyIDIwMTMgMDc6NTU6MDAgKzAxMDAgTmVpbEJyb3duIDxuZWlsYkBzdXNlLmRl
PiB3cm90ZToKCj4gT24gMTEgTWFyIDIwMTMgMTc6MTM6NDEgKzAxMDAgQm9kbyBTdHJvZXNz
ZXIgPGJzdHJvZXNzZXJAdHMuZnVqaXRzdS5jb20+Cj4gd3JvdGU6Cj4gCj4gPiBIaSwKPiA+
IAo+ID4gQUZBSUNTLCB0aGVyZSBpcyBvbmUgbW9yZSByYWNlIGluIFJQQyBjYWNoZS4KPiA+
IAo+ID4gVGhlIHByb2JsZW0gc2hvd2VkIHVwIGZvciB0aGUgImF1dGgudW5peC5pcCIgY2Fj
aGUsIHRoYXQKPiA+IGhhcyBhIHJlYWRlci4KPiA+IAo+ID4gSWYgYSBzZXJ2ZXIgdGhyZWFk
IHRyaWVzIHRvIGZpbmQgYSBjYWNoZSBlbnRyeSwgaXQgZmlyc3QKPiA+IGRvZXMgYSBsb29r
dXAgKG9yIGNhbGxzIGlwX21hcF9jYWNoZWRfZ2V0KCkgaW4gdGhpcyBzcGVjaWZpYwo+ID4g
Y2FzZSkuIFRoZW4sIGl0IGNhbGxzIGNhY2hlX2NoZWNrKCkgZm9yIHRoaXMgZW50cnkuCj4g
PiAKPiA+IElmIHRoZSByZWFkZXIgdXBkYXRlcyB0aGUgY2FjaGUgZW50cnkganVzdCBiZXR3
ZWVuIHRoZQo+ID4gdGhyZWFkJ3MgbG9va3VwIGFuZCBjYWNoZV9jaGVjaygpIGV4ZWN1dGlv
biwgY2FjaGVfY2hlY2soKQo+ID4gd2lsbCBkbyBhbiB1cGNhbGwgZm9yIHRoaXMgY2FjaGUg
ZW50cnkuIFRoaXMgaXMsIGJlY2F1c2UKPiA+IHN1bnJwY19jYWNoZV91cGRhdGUoKSBjYWxs
cyBjYWNoZV9mcmVzaF9sb2NrZWQob2xkLCAwKSwKPiA+IHdoaWNoIHNldHMgZXhwaXJ5X3Rp
bWUgdG8gMC4KPiA+IAo+ID4gVW5mb3J0dW5hdGVseSwgdGhlIHJlcGx5IHRvIHRoZSB1cGNh
bGwgd2lsbCBub3QgZGVxdWV1ZQo+ID4gdGhlIHF1ZXVlZCBjYWNoZV9yZXF1ZXN0LCBhcyB0
aGUgcmVwbHkgd2lsbCBiZSBhc3NpZ25lZCB0bwo+ID4gdGhlIGNhY2hlIGVudHJ5IG5ld2x5
IGNyZWF0ZWQgYnkgdGhlIGFib3ZlIGNhY2hlIHVwZGF0ZS4KPiA+IAo+ID4gVGhlIHJlc3Vs
dCBpcyBhIGdyb3dpbmcgcXVldWUgb2Ygb3JwaGFuZWQgY2FjaGVfcmVxdWVzdAo+ID4gc3Ry
dWN0dXJlcyAtLT4gbWVtb3J5IGxlYWsuCj4gPiAKPiA+IEkgZm91bmQgdGhpcyBvbiBhIFNM
RVMxMSBTUDEgd2l0aCBhIGJhY2twb3J0IG9mIHRoZSBsYXRlc3QKPiA+IHBhdGNoZXMgdGhh
dCBmaXggdGhlIG90aGVyIFJQQyByYWNlcy4gT24gdGhpcyBvbGQga2VybmVsLAo+ID4gdGhl
IHByb2JsZW0gYWxzbyBsZWFkcyB0byBzdmNfZHJvcCgpIGJlaW5nIGNhbGxlZCBmb3IgdGhl
Cj4gPiBhZmZlY3RlZCBSUEMgcmVxdWVzdCAoYWZ0ZXIgc3ZjX2RlZmVyKCkpLgo+ID4gCj4g
PiBCZXN0IFJlZ2FyZHMKPiA+IEJvZG8KPiAKPiBJIGRvbid0IHRoaW5rIHRoaXMgaXMgYSBy
ZWFsIHByb2JsZW0uCj4gVGhlIHBlcmlvZGljIGNhbGwgdG8gImNhY2hlX2NsZWFuIiBzaG91
bGQgZmluZCB0aGVzZSBvcnBoYW5lZCByZXF1ZXN0cyBhbmQKPiBwdXJnZSB0aGVtLiAgU28g
eW91IGNvdWxkIGdldCBhIHNob3J0IHRlcm0gbWVtb3J5IGxlYWssIGJ1dCBpdCBzaG91bGQK
PiBjb3JyZWN0IGl0c2VsZi4KPiBEbyB5b3UgYWdyZWU/Cj4gCj4gVGhhbmtzLAo+IE5laWxC
cm93bgoKTWVhbndoaWxlIEkgZm91bmQgdGhlIG1pc3NpbmcgcGFydCBvZiB0aGUgcmFjZSEK
Ckl0J3MganVzdCB3aGF0IEkgd3JvdGUgYWJvdmUgYnV0IGFkZGl0aW9uYWxseSwgaW1tZWRp
YXRlbHkgYWZ0ZXIKdGhlIHJlYWRlciB1cGRhdGVkIHRoZSBjYWNoZSwgY2FjaGVfY2xlYW4o
KSB1bmhhc2hlcyB0aGUgb2xkIGNhY2hlCmVudHJ5LiBJbiB0aGF0IGNhc2U6CjEpIHRoZSB0
aHJlYWQgd2lsbCBxdWV1ZSBhIHJlcXVlc3QgZm9yIGEgY2FjaGUgZW50cnksIHRoYXQgaXNu
J3QKICAgaW4gdGhlIGhhc2ggbGlzdHMuCjIpIGNhY2hlX2NsZWFuKCkgbmV2ZXIgd2lsbCBh
Y2Nlc3MgdGhpcyBvbGQgY2FjaGUgZW50cnkgYWdhaW4KMykgZXZlcnkgZnVydGhlciBjYWNo
ZSB1cGRhdGUgd2lsbCBjYWxsIGNhY2hlX2RlcXVldWUoKSBmb3IgYSBuZXdlcgogICBjYWNo
ZSBlbnRyeSwgdGhlIHJlcXVlc3QgaXMgbmV2ZXIgZGVxdWV1ZWQKCi0tPiBtZW1vcnkgbGVh
ay4KCkkgdmVyaWZpZWQgdGhpcyBpbnNlcnRpbmcgc29tZSBkZWJ1ZyBpbnN0cnVjdGlvbnMu
IEluIGEgdGVzdHJ1bgp0aGF0IHRyaWdnZXJlZCA2IHRpbWVzLCBhbmQgdGhlIHF1ZXVlIHBy
aW50ZWQgYnkgY3Jhc2ggYWZ0ZXIgdGhlCnJ1biBoYWQgNiBvcnBoYW5lZCBlbnRyaWVzLgoK
QXMgSSB3cm90ZSB5ZXN0ZXJkYXksIEkgaGF2ZSBhIHBhdGNoIHRoYXQgc29sdmVzIHRoZSBw
cm9ibGVtIGJ5CnJldGVzdGluZyB0aGUgc3RhdGUgb2YgdGhlIGNhY2hlIGVudHJ5IGFmdGVy
IHNldHRpbmcgQ0FDSEVfUEVORElORwppbiBjYWNoZV9jaGVjaygpLiBJIGNhbiBzZW5kIGl0
IGlmIHlvdSBsaWtlLgoKQm9kbwoKUC5TLjoKTWF5YmUgSSdtIHdyb25nLCBidXQgQUZBSUNT
LCB0aGVyZSBhcmUgdHdvIGZ1cnRoZXIgbWlub3IgcHJvYmxlbXMKcmVnYXJkaW5nIChuZWFy
bHkpIGV4cGlyZWQgY2FjaGUgZW50cmllczoKYSkgaXBfbWFwX2NhY2hlZF9nZXQoKSBpbiBz
b21lIHNpdHVhdGlvbnMgY2FuIHJldHVybiBhbiBhbHJlYWR5CiAgIG91dGRhdGVkIChpdCB1
c2VzIGNhY2hlX3ZhbGlkIHRoYXQgbm90IGZ1bGx5IGNoZWNrcyB0aGUgc3RhdGUpCiAgIGNh
Y2hlIGVudHJ5LiBJZiBjYWNoZV9jaGVjaygpIGlzIGNhY2xsZWQgZm9yIHRoYXQgZW50cnks
IGl0IHdpbGwKICAgZmFpbCwgSSB0aGluawpiKSBHZW5lcmFsbHksIGlmIGEgY2FjaGUgZW50
cnkgaXMgcmV0dXJuZWQgYnkgc3VucnBjX2NhY2hlX2xvb2t1cCgpCiAgIGFuZCB0aGUgZW50
cnkgaXMgaW4gdGhlIGxhc3Qgc2Vjb25kIG9mIGl0J3MgZXhwaXJ5X3RpbWUsIHRoZSAKICAg
Y2xvY2sgbWlnaHQgbW92ZSB0byB0aGUgbmV4dCBzZWNvbmQgYmVmb3JlIGNhY2hlX2NoZWNr
IGlzIGNhbGxlZC4KICAgSWYgdGhpcyBoYXBwZW5zLCBjYWNoZV9jaGVjayB3aWxsIGZhaWws
IEkgdGhpbmsuCkRvIHlvdSBhZ3JlZT8K